Skip to content

Add in support for setting a process title. #273

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 3,558 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
3558 commits
Select commit Hold shift + click to select a range
dc495bb
Merge branch 'PHP-5.5' of ssh://git.php.net/php-src into PHP-5.5
faizshukri Jan 15, 2013
c4fe37b
Merge branch 'PHP-5.5'
faizshukri Jan 15, 2013
c77fe09
Merge branch 'master' of ssh://git.php.net/php-src
faizshukri Jan 15, 2013
232cf4a
Revert "Update fputcsv() to escape all characters equally."
LawnGnome Jan 15, 2013
40c1122
Revert "Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea…
LawnGnome Jan 15, 2013
cab290d
Revert "Update fputcsv() to escape all characters equally."
LawnGnome Jan 15, 2013
ef86530
Revert "Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea…
LawnGnome Jan 15, 2013
22ba2b9
Merge branch 'PHP-5.4' into PHP-5.5
faizshukri Jan 15, 2013
a7fc907
Merge branch 'PHP-5.5'
faizshukri Jan 15, 2013
5718568
Merge branch 'PHP-5.5' of ssh://git.php.net/php-src into PHP-5.5
faizshukri Jan 15, 2013
0b0f87e
Merge branch 'master' of ssh://git.php.net/php-src
faizshukri Jan 15, 2013
d377a26
plug a leak - forgot ot use the dtor already written
faizshukri Jan 15, 2013
69f010c
Merge branch 'PHP-5.5'
faizshukri Jan 15, 2013
acc24d1
Use two dtors thus allow allocation based on the alloc model of the
faizshukri Jan 15, 2013
31f3f2d
Merge branch 'PHP-5.5'
faizshukri Jan 15, 2013
5cfa916
revert change. now it doesn't compile again...someone should fix ext/…
faizshukri Jan 15, 2013
9be02af
Merge branch 'PHP-5.5'
faizshukri Jan 15, 2013
88b82ae
Merge branch 'strtr_wu94_54' into strtr_wu94_55
cataphract Jan 15, 2013
1bd193e
Merge remote-tracking branch 'remotes/cataphract/strtr_wu94_55' into …
cataphract Jan 15, 2013
5466fd1
Merge branch 'PHP-5.5'
cataphract Jan 15, 2013
dba22c0
Dereferencing process-handles no longer waits on those processes.
Jille Jan 15, 2013
85a949d
Merge branch 'PHP-5.5'
lstrojny Jan 15, 2013
18e1604
Merge branch 'PHP-5.4' into PHP-5.5
weltling Jan 15, 2013
41433a5
Merge branch 'PHP-5.5'
weltling Jan 15, 2013
7629c8d
- Fixed ZTS build
felipensp Jan 15, 2013
3efdfb5
Merge branch 'master' of git.php.net:php-src
felipensp Jan 15, 2013
2f7aafe
- Fixed ZTS build
felipensp Jan 15, 2013
5d0cd72
Merge branch 'PHP-5.5'
felipensp Jan 15, 2013
77010bf
Merge branch 'PHP-5.4' into PHP-5.5
LawnGnome Jan 16, 2013
6f23a2d
Merge branch 'PHP-5.5'
LawnGnome Jan 16, 2013
d7d9ce0
Merge branch 'PHP-5.4' into PHP-5.5
johannes Jan 16, 2013
7276769
Merge branch 'PHP-5.5'
johannes Jan 16, 2013
b860303
Merge remote-tracking branch 'cataphract/zpp_improv' into PHP-5.5
cataphract Jan 16, 2013
979ca53
Merge branch 'PHP-5.5'
cataphract Jan 16, 2013
abb12f5
Added test cases for ZEND_SIGNED_MULTIPLY_LONG()
Jan 17, 2013
0b8ec19
Added ARM accelerated implementations for ZEND_SIGNED_MULTIPLY_LONG()
Jan 17, 2013
ffc8850
Merge branch 'feature/linaro-arm-performance'
Jan 17, 2013
87d5701
Fix skipif section
laruence Jan 18, 2013
4eae087
Fixed bug #63988 (Two Date tests fail) only for PHP-5.5
laruence Jan 18, 2013
a499a65
Merge branch 'PHP-5.5'
laruence Jan 18, 2013
35154c7
Update config.sub to latest GPLv2 upstream version
Jan 18, 2013
cd2b03d
Merge branch 'PHP-5.4' into PHP-5.5
cataphract Jan 18, 2013
5da05e5
Merge branch 'PHP-5.5'
cataphract Jan 18, 2013
deeacc7
Merge branch 'PHP-5.4' into PHP-5.5
smalyshev Jan 18, 2013
cd619b4
Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5
smalyshev Jan 18, 2013
f02373f
Merge branch 'PHP-5.5'
smalyshev Jan 18, 2013
8991ed0
Class Name Resolution As Scalar Via "class" Keyword
lstrojny Jan 19, 2013
b1ddfcb
Merge branch 'PHP-5.5'
lstrojny Jan 19, 2013
087a188
Merge branch 'PHP-5.5' of git://github.com/php/php-src into PHP-5.5
lstrojny Jan 19, 2013
e23fca8
- Fixed ZTS build
felipensp Jan 19, 2013
6c8f9c3
Merge branch 'PHP-5.5'
felipensp Jan 19, 2013
f7b99c4
Fixed bug #64007 (There is an ability to create instance of Generator…
laruence Jan 19, 2013
a7cb572
Merge branch 'PHP-5.5'
laruence Jan 19, 2013
85fae63
Merge branch 'PHP-5.4' into PHP-5.5
laruence Jan 21, 2013
679f6e3
Merge branch 'PHP-5.5'
laruence Jan 21, 2013
d78f5ab
fix tests
smalyshev Jan 22, 2013
92b5bdc
Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5
smalyshev Jan 22, 2013
c8e4c4c
Merge branch 'PHP-5.5'
smalyshev Jan 22, 2013
03ff2b3
Fix NEWS
dsp Jan 22, 2013
ca734cf
NEWS for PHP 5.5.0alpha4
dsp Jan 22, 2013
51e5022
NEWS: Start PHP 5.5.0 Beta 1 section
dsp Jan 22, 2013
e6bde1f
Fix test related to change for #bug64007 and also fix in newInstanceArgs
laruence Jan 22, 2013
34928ee
Merge branch 'PHP-5.5'
laruence Jan 22, 2013
95346c0
fix valgrind warning
faizshukri Jan 22, 2013
40d9075
Merge branch 'PHP-5.5'
faizshukri Jan 22, 2013
fc7b054
Merge branch 'PHP-5.4' into PHP-5.5
cataphract Jan 23, 2013
ddc98aa
Merge branch 'PHP-5.5'
cataphract Jan 23, 2013
bcf922b
fix tests
smalyshev Jan 22, 2013
beb5c8e
Merge branch 'PHP-5.4' into PHP-5.5
smalyshev Jan 23, 2013
dc617c7
Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5
smalyshev Jan 23, 2013
d86e14b
Merge branch 'PHP-5.4' into PHP-5.5
smalyshev Jan 23, 2013
c493173
Merge branch 'PHP-5.5'
smalyshev Jan 23, 2013
016c130
now we have also an xz archive
Tyrael Jan 24, 2013
581db9c
Merge branch 'PHP-5.4' into PHP-5.5
smalyshev Jan 28, 2013
ebc80d6
Merge branch 'PHP-5.5'
smalyshev Jan 28, 2013
184db66
fix bug #60833 - self, parent, static behave inconsistently case-sens…
smalyshev Jan 28, 2013
59cc4d7
Merge branch 'PHP-5.5'
smalyshev Jan 28, 2013
263a220
allow for libpng 1.5.x
weltling Jan 28, 2013
4af8ceb
Merge branch 'PHP-5.5'
weltling Jan 28, 2013
420bcc1
add new features
smalyshev Jan 28, 2013
ba7544b
Merge branch 'PHP-5.5'
smalyshev Jan 28, 2013
a9d013b
Implement fix for bug #46439 - add CURLFile class for safer uploads
smalyshev Jan 29, 2013
1ca429e
Merge branch 'PHP-5.5'
smalyshev Jan 29, 2013
24447dc
post-5.5 changes for bug #46439 as described in the RFC
smalyshev Jan 29, 2013
383e317
oops, unintended addition
smalyshev Jan 29, 2013
475a644
Implemented Feature #60524 (sys_temp_dir)
Jan 18, 2013
389d41c
Add news for bug #60524
smalyshev Jan 29, 2013
992bba6
Merge branch 'PHP-5.5'
smalyshev Jan 29, 2013
489073b
Merge branch 'PHp-5.4' into PHP-5.5
smalyshev Jan 29, 2013
0ad8940
Merge branch 'PHP-5.5'
smalyshev Jan 29, 2013
37c304b
- Fixed ZTS build
felipensp Jan 29, 2013
9307126
Merge branch 'PHP-5.5'
felipensp Jan 29, 2013
1faddd1
Add UConverter class (ICU's UConverter API)
sgolemon Dec 5, 2012
4badc0c
intl: doc explaining error conventions
cataphract Jan 29, 2013
b4ba46c
Fix arginfo of BreakIterator::getLocale
cataphract Jan 29, 2013
363fd6d
Improve ERROR.CONVENTIONS
cataphract Jan 29, 2013
ee6522b
Write local err on intlcal_get_time_zone() failure
cataphract Jan 29, 2013
a721fe2
Fix zpp() call in intl/converter
cataphract Jan 29, 2013
1da67fc
intl/converter in line w/ intl error handling
cataphract Jan 29, 2013
ae0c9d5
Merge branch 'PHP-5.5'
cataphract Jan 29, 2013
9d1bdaa
Make converter work on VS
cataphract Dec 26, 2012
3bedc8e
Fixed paramter count
cataphract Dec 26, 2012
5198a86
Merge branch 'PHP-5.5'
cataphract Jan 29, 2013
078b025
Merge branch 'PHP-5.5' of git.php.net:/php-src into PHP-5.5
johannes Jan 29, 2013
78d3e66
Merge branch 'PHP-5.4' into PHP-5.5
johannes Jan 29, 2013
40dd327
Merge branch 'master' of git.php.net:/php-src
johannes Jan 29, 2013
ac8fcec
Merge branch 'PHP-5.5'
johannes Jan 29, 2013
748b376
complete zts fix
smalyshev Jan 29, 2013
861c16d
Merge branch 'PHP-5.5'
smalyshev Jan 29, 2013
26de5cc
Merge branch 'PHP-5.4' into PHP-5.5
smalyshev Jan 29, 2013
ffbd93b
Merge branch 'PHP-5.5'
smalyshev Jan 29, 2013
15e76e6
forgot this file :(
smalyshev Jan 29, 2013
7ae80c5
Merge branch 'PHP-5.5'
smalyshev Jan 29, 2013
cbdf9ea
now we have also an xz archive
Tyrael Jan 24, 2013
c16d8c5
Merge branch 'PHP-5.5'
Tyrael Jan 30, 2013
ee149cd
Test commit (simple WS change)
KalleZ Jan 30, 2013
f0fe3d2
having xz makes it three. thanks Mike Ford for spotting it
Tyrael Jan 30, 2013
57438e5
Merge branch 'PHP-5.5'
Tyrael Jan 30, 2013
86b3643
Fix build problem in C++11
JelleZijlstra Jan 30, 2013
09e73fd
Fix build problem in C++11
JelleZijlstra Jan 30, 2013
30270af
Merge branch 'PHP-5.4' into PHP-5.5
nikic Jan 30, 2013
6a70c97
Merge branch 'PHP-5.5'
nikic Jan 30, 2013
f540e08
Fixed bug #64106: Segfault on SplFixedArray[][x] = y when extended
nikic Jan 30, 2013
9a25dd3
Merge branch 'PHP-5.5'
nikic Jan 30, 2013
8b972ef
Fix potential segfault when finally in a generator is run during shut…
nikic Jan 30, 2013
ea56a89
Merge branch 'PHP-5.5'
nikic Jan 30, 2013
6b48a86
Merge branch 'PHP-5.4' into PHP-5.5
lstrojny Jan 30, 2013
06b1e6a
Merge branch 'PHP-5.5'
lstrojny Jan 30, 2013
6167f9d
Merge branch 'PHP-5.4' into PHP-5.5
johannes Jan 30, 2013
4891d3f
Merge branch 'PHP-5.5'
johannes Jan 30, 2013
4ad5c82
Merge branch 'PHP-5.4' into PHP-5.5
remicollet Jan 31, 2013
9175da5
Merge branch 'PHP-5.5'
remicollet Jan 31, 2013
4608341
Merge branch 'PHP-5.4' into PHP-5.5
remicollet Jan 31, 2013
b12a574
Merge branch 'PHP-5.5'
remicollet Jan 31, 2013
9c821ec
Merge branch 'PHP-5.4' into PHP-5.5
johannes Feb 1, 2013
8460e09
Merge branch 'PHP-5.5'
johannes Feb 1, 2013
ac18c31
fix enchant compilation under vc11
weltling Feb 1, 2013
deddec4
Merge branch 'PHP-5.5'
weltling Feb 1, 2013
642cff0
Merge branch 'PHP-5.4' into PHP-5.5
faizshukri Feb 1, 2013
3ee20e4
Fix segfault when cloning generator with properties
nikic Feb 1, 2013
5c3c311
Merge branch 'PHP-5.5'
nikic Feb 1, 2013
5d3501c
Merge branch 'PHP-5.4' into PHP-5.5
remicollet Feb 1, 2013
2117b8e
NEWS
remicollet Feb 1, 2013
2080a13
Merge branch 'PHP-5.5'
remicollet Feb 1, 2013
114245c
Fix bug #63830: Segfault on undefined function call in nested generator
nikic Feb 1, 2013
86ee2c6
Merge branch 'PHP-5.5'
nikic Feb 1, 2013
e8f0e86
Merge branch 'PHP-5.4' into PHP-5.5
cataphract Feb 2, 2013
ac47448
Ignore warnings on EAGAIN/EWOULDBLOCK/EINPROGRESS
cataphract Feb 2, 2013
5e51c85
Wrap recvmsg() and sendmsg()
cataphract Nov 1, 2012
eb4b1f6
Add test for recvmsg()
cataphract Nov 2, 2012
806a6e6
Add IPV6_UNICAST_HOPS option constant.
cataphract Nov 2, 2012
b06f004
Fix bug converting zval sockaddr
cataphract Nov 2, 2012
b27c22d
Fix bug in from_zval_write_control_array()
cataphract Nov 2, 2012
73ab238
Support for IPV6_HOPLIMIT and IPV6_TCLASS
cataphract Nov 2, 2012
0f849fe
Add test and slightly tweak another
cataphract Nov 4, 2012
1754078
Added missing return statements
cataphract Nov 5, 2012
b3effa6
Improve imported socket family detection
cataphract Oct 23, 2012
1312454
Redactor to expose socket_import_file_descriptor()
cataphract Nov 5, 2012
a85d7f2
Added support for AF_UNIX messages
cataphract Nov 4, 2012
7fc4671
Add test for CMSG_CREDENTIALS message
cataphract Nov 5, 2012
74cf40c
Add test for CMSG_RIGHTS
cataphract Nov 5, 2012
51e6566
Register extra MSG_* constants
cataphract Nov 5, 2012
190a0ed
Fix build on Mac OS X
cataphract Nov 5, 2012
5bf7b08
Check return of fstat()
cataphract Nov 5, 2012
3e515a2
Fix mcast_ipv6_send test
cataphract Nov 6, 2012
51394f7
Move some multicast stuff to multicast.c
cataphract Nov 6, 2012
8fb1aa6
Destroy ancillary registry on shutdown
cataphract Nov 6, 2012
b18bd89
Rename some functions for consistency
cataphract Nov 6, 2012
66ea024
Support sticky IPV6_PKTINFO
cataphract Nov 6, 2012
4414b33
Refactoring: move stuff to new conversions.c
cataphract Nov 11, 2012
bd580db
Build fixes; accept names for if_index
cataphract Jan 1, 2013
c846fce
Fix buf in string -> int conv.
cataphract Jan 30, 2013
f10baf1
Payload of HOPLIMIT/TCLASS are 8-bit
cataphract Jan 30, 2013
5c0a8b1
Ensure memory is initialized
cataphract Jan 31, 2013
95f8d34
Revert "Payload of HOPLIMIT/TCLASS are 8-bit"
cataphract Jan 31, 2013
8561680
Remove some pre-vista code
cataphract Jan 30, 2013
7066cc7
send/recvmsg() support for Windows
cataphract Jan 31, 2013
608254f
Fix non-Windows build
cataphract Jan 31, 2013
e2fc17c
Fix multicast.c not defining errno on Windows
cataphract Jan 31, 2013
b11777c
Merge branch 'sendrecvmsg_rebase_55' into PHP-5.5
cataphract Feb 2, 2013
03b1da5
php_strerror in ext/sockets renamed in 5.5
cataphract Feb 2, 2013
6ba5d0a
Merge branch 'PHP-5.4' into PHP-5.5 (strategy ours)
cataphract Feb 2, 2013
da0012d
Merge branch 'PHP-5.5'
cataphract Feb 2, 2013
af1b90d
Fix bug and hopefully build on WinSDK 6.1
cataphract Feb 3, 2013
4138a81
Merge branch 'PHP-5.5'
cataphract Feb 3, 2013
a000920
NEWS/UPGRADING for changes in sockets, intl
cataphract Feb 3, 2013
8771c26
Fix test on Windows.
cataphract Feb 3, 2013
2b2a346
Merge branch 'PHP-5.5'
cataphract Feb 3, 2013
2f33443
ext/filter support for validating MAC addresses.
mj Dec 24, 2012
0661d03
There is no need to use memchr() for comparisons in these places.
mj Dec 28, 2012
6186b67
Add option to specific the expected separator character.
mj Jan 5, 2013
80be143
Merge branch 'PHP-5.5'
mj Feb 3, 2013
60b5f6d
News about FR #49180.
mj Feb 3, 2013
7369a68
- Fixed ZTS build
felipensp Feb 3, 2013
112e428
Merge branch 'PHP-5.5'
felipensp Feb 3, 2013
53159f6
implicit declaration of zend_throw_exception
laruence Feb 4, 2013
34381de
Merge branch 'PHP-5.5'
laruence Feb 4, 2013
2a2975c
Merge branch 'PHP-5.5'
faizshukri Feb 4, 2013
309bdfb
Merge branch 'master' of ssh://git.php.net/php-src
faizshukri Feb 4, 2013
cb8b2dd
Merge branch 'PHP-5.5' of ssh://git.php.net/php-src into PHP-5.5
faizshukri Feb 4, 2013
c311884
Merge branch 'PHP-5.4' into PHP-5.5
faizshukri Feb 4, 2013
9e65d4e
Merge branch 'PHP-5.5'
faizshukri Feb 4, 2013
7995633
Merge branch 'PHP-5.4' into PHP-5.5
remicollet Feb 4, 2013
6585a7b
NEWS
remicollet Feb 4, 2013
c2a2f5e
Merge branch 'PHP-5.5'
remicollet Feb 4, 2013
72a7288
Update config.guess to latest GPLv2 upstream version
Feb 5, 2013
d0e0a51
Add ARM optimized versions of safe_address()
Feb 5, 2013
7b75a94
Merge branch 'PHP-5.4' into PHP-5.5
remicollet Feb 5, 2013
02ae452
revert
remicollet Feb 5, 2013
9f7b121
Merge branch 'PHP-5.5'
remicollet Feb 5, 2013
215da60
make libvpx optional
weltling Feb 6, 2013
2249881
Merge branch 'PHP-5.5'
weltling Feb 6, 2013
4730bc8
Merge branch 'PHP-5.4' into PHP-5.5
dstogov Feb 7, 2013
a443dad
Merge branch 'PHP-5.5'
dstogov Feb 7, 2013
6c5c048
Merge branch 'PHP-5.4' into PHP-5.5
Feb 7, 2013
6d614d5
Merge branch 'PHP-5.5'
Feb 7, 2013
0547a36
Merge branch 'PHP-5.4' into PHP-5.5
dstogov Feb 7, 2013
a80b0ee
Merge branch 'PHP-5.5'
dstogov Feb 7, 2013
9fb0dba
Add support for commit and rollback options.
faizshukri Feb 7, 2013
2c07219
Merge branch 'PHP-5.5'
faizshukri Feb 7, 2013
49e3d91
Add the name in a comment at commit/rollback, if provided
faizshukri Feb 7, 2013
67ccb99
Merge branch 'PHP-5.5'
faizshukri Feb 7, 2013
2905097
Fixed bug #64135 (Exceptions from set_error_handler are not always pr…
laruence Feb 7, 2013
ee825e0
Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5
laruence Feb 7, 2013
7fb07ac
Merge branch 'PHP-5.5'
laruence Feb 7, 2013
7948eea
Forgot test script
laruence Feb 7, 2013
5fcae35
Merge branch 'PHP-5.5'
laruence Feb 7, 2013
403d4fb
Export new calls
faizshukri Feb 7, 2013
a0e975c
Merge branch 'PHP-5.5'
faizshukri Feb 7, 2013
175219c
Merge branch 'master' of https://git.php.net/push/php-src
Feb 7, 2013
e092115
Merge branch 'PHP-5.5' of https://git.php.net/push/php-src into PHP-5.5
Feb 7, 2013
afacdec
Add support for begin_transaction in libmysql mode.
faizshukri Feb 7, 2013
c292792
Merge branch 'PHP-5.5'
faizshukri Feb 7, 2013
e0664cc
Merge branch 'master' of ssh://git.php.net/php-src
faizshukri Feb 7, 2013
e1e22fd
Merge branch 'PHP-5.5' of ssh://git.php.net/php-src into PHP-5.5
faizshukri Feb 7, 2013
2d30a19
add the news about recent commits
faizshukri Feb 8, 2013
12d6c22
Merge branch 'PHP-5.5'
faizshukri Feb 8, 2013
666a835
Add savepoint and rollback to savepoint support
faizshukri Feb 8, 2013
2de2c1c
Merge branch 'PHP-5.5'
faizshukri Feb 8, 2013
0da369a
Add the constants needed for mysqli_commit(), _rollback() and
faizshukri Feb 8, 2013
77cae97
Merge branch 'PHP-5.5'
faizshukri Feb 8, 2013
43ecd8f
mysqli_savepoint()/mysqli_release_savepoint()
faizshukri Feb 8, 2013
5a2b3a0
Merge branch 'PHP-5.5'
faizshukri Feb 8, 2013
a5b426e
update test case
faizshukri Feb 8, 2013
a9daf26
Merge branch 'PHP-5.5'
faizshukri Feb 8, 2013
3d9a31e
news for mysqli_savepoint and mysql_release_savepoint
faizshukri Feb 8, 2013
1d5d631
Merge branch 'PHP-5.5'
faizshukri Feb 8, 2013
c94a161
Add in support for setting a process title.
Feb 8, 2013
e8df51f
Add in support for setting a process title.
Feb 8, 2013
505c767
Merge branch 'PHP-5.4' of https://github.com/keyurdg/php-src into PHP…
Feb 18, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add support for commit and rollback options.
Add support for explicitly starting a transaction - modes also available.
Using the API makes the life of load balancer mysqlnd plugins easier/possible.
  • Loading branch information
faizshukri committed Feb 7, 2013
commit 9fb0dba4be197b677b6ff7df23a110698d12530b
129 changes: 121 additions & 8 deletions ext/mysqlnd/mysqlnd.c
Original file line number Diff line number Diff line change
Expand Up @@ -2617,12 +2617,79 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_autocommit)(MYSQLND_CONN_DATA * conn, unsi
static enum_func_status
MYSQLND_METHOD(mysqlnd_conn_data, tx_commit)(MYSQLND_CONN_DATA * conn TSRMLS_DC)
{
size_t this_func = STRUCT_OFFSET(struct st_mysqlnd_conn_data_methods, tx_commit);
return conn->m->tx_commit_or_rollback(conn, TRUE, TRANS_COR_NO_OPT, NULL TSRMLS_CC);
}
/* }}} */


/* {{{ mysqlnd_conn_data::tx_rollback */
static enum_func_status
MYSQLND_METHOD(mysqlnd_conn_data, tx_rollback)(MYSQLND_CONN_DATA * conn TSRMLS_DC)
{
return conn->m->tx_commit_or_rollback(conn, FALSE, TRANS_COR_NO_OPT, NULL TSRMLS_CC);
}
/* }}} */


/* {{{ mysqlnd_tx_cor_options_to_string */
static void
MYSQLND_METHOD(mysqlnd_conn_data, tx_cor_options_to_string)(const MYSQLND_CONN_DATA * const conn, smart_str * str, const unsigned int mode TSRMLS_DC)
{
if (mode & TRANS_COR_AND_CHAIN && !(mode & TRANS_COR_AND_NO_CHAIN)) {
if (str->len) {
smart_str_appendl(str, ", ", sizeof(", ") - 1);
}
smart_str_appendl(str, "AND CHAIN", sizeof("AND CHAIN") - 1);
} else if (mode & TRANS_COR_AND_NO_CHAIN && !(mode & TRANS_COR_AND_CHAIN)) {
if (str->len) {
smart_str_appendl(str, ", ", sizeof(", ") - 1);
}
smart_str_appendl(str, "AND NO CHAIN", sizeof("AND NO CHAIN") - 1);
}

if (mode & TRANS_COR_RELEASE && !(mode & TRANS_COR_NO_RELEASE)) {
if (str->len) {
smart_str_appendl(str, ", ", sizeof(", ") - 1);
}
smart_str_appendl(str, "RELEASE", sizeof("RELEASE") - 1);
} else if (mode & TRANS_COR_NO_RELEASE && !(mode & TRANS_COR_RELEASE)) {
if (str->len) {
smart_str_appendl(str, ", ", sizeof(", ") - 1);
}
smart_str_appendl(str, "NO RELEASE", sizeof("NO RELEASE") - 1);
}
smart_str_0(str);
}
/* }}} */


/* {{{ mysqlnd_conn_data::tx_commit_ex */
static enum_func_status
MYSQLND_METHOD(mysqlnd_conn_data, tx_commit_or_rollback)(MYSQLND_CONN_DATA * conn, const zend_bool commit, const unsigned int flags, const char * const name TSRMLS_DC)
{
size_t this_func = STRUCT_OFFSET(struct st_mysqlnd_conn_data_methods, tx_commit_or_rollback);
enum_func_status ret = FAIL;
DBG_ENTER("mysqlnd_conn_data::tx_commit");
DBG_ENTER("mysqlnd_conn_data::tx_commit_or_rollback");

if (PASS == conn->m->local_tx_start(conn, this_func TSRMLS_CC)) {
ret = conn->m->query(conn, "COMMIT", sizeof("COMMIT") - 1 TSRMLS_CC);
do {
smart_str tmp_str = {0, 0, 0};
conn->m->tx_cor_options_to_string(conn, &tmp_str, flags TSRMLS_CC);
smart_str_0(&tmp_str);

{
char * query;
unsigned int query_len = mnd_sprintf(&query, 0, (commit? "COMMIT %s":"ROLLBACK %s"), tmp_str.c? tmp_str.c:"");
smart_str_free(&tmp_str);

if (!query) {
SET_OOM_ERROR(*conn->error_info);
break;
}
ret = conn->m->query(conn, query, query_len TSRMLS_CC);
mnd_sprintf_free(query);
}
} while (0);
conn->m->local_tx_end(conn, this_func, ret TSRMLS_CC);
}

Expand All @@ -2631,16 +2698,55 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_commit)(MYSQLND_CONN_DATA * conn TSRMLS_DC)
/* }}} */


/* {{{ mysqlnd_conn_data::tx_rollback */
/* {{{ mysqlnd_conn_data::tx_begin */
static enum_func_status
MYSQLND_METHOD(mysqlnd_conn_data, tx_rollback)(MYSQLND_CONN_DATA * conn TSRMLS_DC)
MYSQLND_METHOD(mysqlnd_conn_data, tx_begin)(MYSQLND_CONN_DATA * conn, const unsigned int mode, const char * const name TSRMLS_DC)
{
size_t this_func = STRUCT_OFFSET(struct st_mysqlnd_conn_data_methods, tx_rollback);
size_t this_func = STRUCT_OFFSET(struct st_mysqlnd_conn_data_methods, tx_begin);
enum_func_status ret = FAIL;
DBG_ENTER("mysqlnd_conn_data::tx_rollback");
DBG_ENTER("mysqlnd_conn_data::tx_begin");

if (PASS == conn->m->local_tx_start(conn, this_func TSRMLS_CC)) {
ret = conn->m->query(conn, "ROLLBACK", sizeof("ROLLBACK") - 1 TSRMLS_CC);
do {
smart_str tmp_str = {0, 0, 0};
if (mode & TRANS_START_WITH_CONSISTENT_SNAPSHOT) {
if (tmp_str.len) {
smart_str_appendl(&tmp_str, ", ", sizeof(", ") - 1);
}
smart_str_appendl(&tmp_str, "WITH CONSISTENT SNAPSHOT", sizeof("WITH CONSISTENT SNAPSHOT") - 1);
}
if (mode & TRANS_START_READ_WRITE) {
if (tmp_str.len) {
smart_str_appendl(&tmp_str, ", ", sizeof(", ") - 1);
}
smart_str_appendl(&tmp_str, "READ WRITE", sizeof("READ WRITE") - 1);
}
if (mode & TRANS_START_READ_ONLY) {
if (tmp_str.len) {
smart_str_appendl(&tmp_str, ", ", sizeof(", ") - 1);
}
smart_str_appendl(&tmp_str, "READ ONLY", sizeof("READ ONLY") - 1);
}
smart_str_0(&tmp_str);

{
char * commented_name = NULL;
unsigned int commented_name_len = name? mnd_sprintf(&commented_name, 0, " /*%s*/", name):0;
char * query;
unsigned int query_len = mnd_sprintf(&query, 0, "START TRANSACTION%s %s", commented_name? commented_name:"", tmp_str.c? tmp_str.c:"");
smart_str_free(&tmp_str);

if (!query) {
SET_OOM_ERROR(*conn->error_info);
break;
}
ret = conn->m->query(conn, query, query_len TSRMLS_CC);
mnd_sprintf_free(query);
if (commented_name) {
mnd_sprintf_free(commented_name);
}
}
} while (0);
conn->m->local_tx_end(conn, this_func, ret TSRMLS_CC);
}

Expand All @@ -2649,6 +2755,9 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_rollback)(MYSQLND_CONN_DATA * conn TSRMLS_D
/* }}} */


typedef enum_func_status (*func_mysqlnd_conn_data__)(MYSQLND_CONN_DATA * conn, const unsigned int flags, const char * const name TSRMLS_DC);


/* {{{ mysqlnd_conn_data::local_tx_start */
static enum_func_status
MYSQLND_METHOD(mysqlnd_conn_data, local_tx_start)(MYSQLND_CONN_DATA * conn, size_t this_func TSRMLS_DC)
Expand Down Expand Up @@ -2763,6 +2872,10 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_conn_data)
MYSQLND_METHOD(mysqlnd_conn_data, set_autocommit),
MYSQLND_METHOD(mysqlnd_conn_data, tx_commit),
MYSQLND_METHOD(mysqlnd_conn_data, tx_rollback),
MYSQLND_METHOD(mysqlnd_conn_data, tx_begin),
MYSQLND_METHOD(mysqlnd_conn_data, tx_commit_or_rollback),
MYSQLND_METHOD(mysqlnd_conn_data, tx_cor_options_to_string),

MYSQLND_METHOD(mysqlnd_conn_data, local_tx_start),
MYSQLND_METHOD(mysqlnd_conn_data, local_tx_end),
MYSQLND_METHOD(mysqlnd_conn_data, execute_init_commands),
Expand Down
12 changes: 12 additions & 0 deletions ext/mysqlnd/mysqlnd_enum_n_def.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,18 @@

#define MYSQLND_NET_FLAG_USE_COMPRESSION 1


#define TRANS_START_NO_OPT 0
#define TRANS_START_WITH_CONSISTENT_SNAPSHOT 1
#define TRANS_START_READ_WRITE 2
#define TRANS_START_READ_ONLY 4

#define TRANS_COR_NO_OPT 0
#define TRANS_COR_AND_CHAIN 1
#define TRANS_COR_AND_NO_CHAIN 2
#define TRANS_COR_RELEASE 4
#define TRANS_COR_NO_RELEASE 8

typedef enum mysqlnd_extension
{
MYSQLND_MYSQL = 0,
Expand Down
9 changes: 9 additions & 0 deletions ext/mysqlnd/mysqlnd_structs.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
#ifndef MYSQLND_STRUCTS_H
#define MYSQLND_STRUCTS_H

#include "ext/standard/php_smart_str.h"

#define MYSQLND_TYPEDEFED_METHODS

#define MYSQLND_CLASS_METHOD_TABLE_NAME(class) mysqlnd_##class##_methods
Expand All @@ -31,6 +33,7 @@
#define MYSQLND_CLASS_METHODS_START(class) MYSQLND_CLASS_METHOD_TABLE_NAME_FORWARD(class) = {
#define MYSQLND_CLASS_METHODS_END }


typedef struct st_mysqlnd_memory_pool MYSQLND_MEMORY_POOL;
typedef struct st_mysqlnd_memory_pool_chunk MYSQLND_MEMORY_POOL_CHUNK;
typedef struct st_mysqlnd_memory_pool_chunk_llist MYSQLND_MEMORY_POOL_CHUNK_LLIST;
Expand Down Expand Up @@ -480,6 +483,9 @@ typedef MYSQLND_RES * (*func_mysqlnd_conn_data__result_init)(unsigned int fiel
typedef enum_func_status (*func_mysqlnd_conn_data__set_autocommit)(MYSQLND_CONN_DATA * conn, unsigned int mode TSRMLS_DC);
typedef enum_func_status (*func_mysqlnd_conn_data__tx_commit)(MYSQLND_CONN_DATA * conn TSRMLS_DC);
typedef enum_func_status (*func_mysqlnd_conn_data__tx_rollback)(MYSQLND_CONN_DATA * conn TSRMLS_DC);
typedef enum_func_status (*func_mysqlnd_conn_data__tx_begin)(MYSQLND_CONN_DATA * conn, const unsigned int mode, const char * const name TSRMLS_DC);
typedef enum_func_status (*func_mysqlnd_conn_data__tx_commit_or_rollback)(MYSQLND_CONN_DATA * conn, const zend_bool commit, const unsigned int flags, const char * const name TSRMLS_DC);
typedef void (*func_mysqlnd_conn_data__tx_cor_options_to_string)(const MYSQLND_CONN_DATA * const conn, smart_str * tmp_str, const unsigned int mode TSRMLS_DC);

typedef enum_func_status (*func_mysqlnd_conn_data__local_tx_start)(MYSQLND_CONN_DATA * conn, size_t this_func TSRMLS_DC);
typedef enum_func_status (*func_mysqlnd_conn_data__local_tx_end)(MYSQLND_CONN_DATA * conn, size_t this_func, enum_func_status status TSRMLS_DC);
Expand Down Expand Up @@ -566,6 +572,9 @@ struct st_mysqlnd_conn_data_methods
func_mysqlnd_conn_data__set_autocommit set_autocommit;
func_mysqlnd_conn_data__tx_commit tx_commit;
func_mysqlnd_conn_data__tx_rollback tx_rollback;
func_mysqlnd_conn_data__tx_begin tx_begin;
func_mysqlnd_conn_data__tx_commit_or_rollback tx_commit_or_rollback;
func_mysqlnd_conn_data__tx_cor_options_to_string tx_cor_options_to_string;

func_mysqlnd_conn_data__local_tx_start local_tx_start;
func_mysqlnd_conn_data__local_tx_end local_tx_end;
Expand Down