summaryrefslogtreecommitdiff
path: root/ext/mysqlnd
Commit message (Collapse)AuthorAgeFilesLines
* Fix #78179: mysqli/mysqlnd transaction extensionsDaniel Black2020-09-181-16/+14
| | | | | | | | | MariaDB versioning created a mess with regarding testing features based on version. We sidestep the problem here by assuming the extensions are present, and if a syntax error occurs with a SQL mode TRANS_START_READ_WRITE | TRANS_START_READ_ONLY enabled, then output the same warning as before.
* Fix bug #80107: Handling of large compressed packetsNikita Popov2020-09-181-40/+65
| | | | | | | | | | There's two layers of packet splitting going on. First, packets need to be split into having a payload of exactly 2^24-1 bytes or being the last packet. If the split packet has size between 2^24-5 and 2^24-1 bytes, the compressed packets also needs to be split, though the choice of split doesn't matter here. I'm splitting off the first 8192 bytes, as that's what I observe libmysqlclient to be doing.
* Fix #80115: mysqlnd.debug doesn't recognize absolute paths with slashesChristoph M. Becker2020-09-171-1/+1
|
* Fix #79596: MySQL FLOAT truncates to int some localesChristoph M. Becker2020-05-151-2/+2
| | | | | We must not do locale aware float to string conversion here; instead we using our `snprintf()` implementation with the `F` specifier.
* Fix MySQL local infile / attr handling on big endian systemsguirish2020-04-161-5/+5
| | | | | | Make sure pointer types match what is used by libmysql everywhere. Closes GH-5380.
* Fix incorrect free for last_messageQianqian Bu2020-04-031-1/+1
| | | | | | | | In commit a7305eb539596e175bd6c3ae9a20953358c5d677 the last_message field of the connection object was changed to be always non-persistent. But there is a place on change_user path that still treats it depending on conn->persistent flag. This will cause PHP crash after com_change_user success when there is last_message set
* Fix #79084: mysqlnd may fetch wrong column indexes with MYSQLI_BOTHChristoph M. Becker2020-01-131-6/+9
| | | | | | Column names can be numeric strings, so we have to make sure to insert the column values with the appropriate numeric keys, instead of adding them.
* Fix bug #78525Nikita Popov2019-09-132-15/+14
| | | | | | | When calling free_result_buffers(), also free field metadata and restore the mempool state to what it was before any allocations have been made. Remove the mempool save/restore logic for the inner result set as this is now handled on a higher level.
* Merge branch 'PHP-7.2' into PHP-7.3Christoph M. Becker2019-08-203-2/+12
|\ | | | | | | | | * PHP-7.2: fix the problem for connect_attr, set db condition, and add a new attribute _server_host
| * fix the problem for connect_attr, set db condition, and add a new attribute ↵Qianqian Bu2019-08-203-2/+12
| | | | | | | | _server_host
* | Merge branch 'PHP-7.2' into PHP-7.3Christoph M. Becker2019-08-021-0/+8
|\ \ | |/ | | | | | | * PHP-7.2: Fix #78179: MariaDB server version incorrectly detected
| * Fix #78179: MariaDB server version incorrectly detectedChristoph M. Becker2019-08-021-0/+8
| | | | | | | | | | | | | | | | As of MariaDB 10.0.2, the server reports a fake version number as work- around for replication issues[1]. We apply the same "fix" as in the MariaDB client to cater to this. [1] <https://github.com/MariaDB/server/commit/c50ee6c23dbeb090963580754bec2f0a96ac0557#diff-5b45fa673c88c06a9651c7906364f592>
* | Fix 78213: Empty row pocketChristoph M. Becker2019-07-311-1/+1
| | | | | | | | | | We have to ensure that we don't create an arena which is smaller than its header, regardless of the configured alignment.
* | Merge branch 'PHP-7.2' into PHP-7.3Andrey Hristov2019-06-211-1/+3
|\ \ | |/
| * Add explicit cast to uint32_t.Andrey Hristov2019-06-211-1/+3
| | | | | | | | | | It works even without it but explicit stuff is better. The compiler probably converts the 16-bit uint16_t to uint32_t before doing the shift.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-06-071-1/+8
|\ \ | |/
| * Fixed bug #38546Cameron Porter2019-06-071-1/+8
| | | | | | | | | | | | Properly support binding boolean parameters with emulated prepared statements disabled. Also add the necessary mysqlnd support for MYSQL_TYPE_TINY.
* | Fix bug #77955Nikita Popov2019-05-231-2/+3
| | | | | | | | | | | | Free metadata before freeing the arena. I don't have a repro script, but the added assertion fails for many existing tests prior to this change.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-05-221-0/+2
|\ \ | |/
| * Fix #77956 - When mysqli.allow_local_infile = Off, return a client errorSjon Hortensius2019-05-221-0/+2
| |
* | Fixed bug #77773Nikita Popov2019-03-221-0/+9
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-02-211-12/+12
|\ \ | |/
| * Fixed bug #77597Nikita Popov2019-02-211-11/+11
| | | | | | | | | | | | The same variable was reused in two nested loops... The test doesn't fail on 7.2, but I'm fixing this here anyway as the code is clearly wrong, and probably erroneous in other situations.
* | Merge remote-tracking branch 'origin/PHP-7.3' into PHP-7.3Johannes Schlüter2019-02-121-0/+9
|\ \
| * | Fixed bug #77599 (Unbuffered queries; native prepared statements memory leak)Dmitry Stogov2019-02-121-0/+9
| | |
* | | Merge branch 'PHP-7.2' into PHP-7.3Darek Slusarczyk2019-02-111-1/+2
|\ \ \ | |/ / |/| / | |/
| * Merge branch 'PHP-7.1' into PHP-7.2Darek Slusarczyk2019-02-111-1/+2
| |\
| | * security fix - by default 'local infile' is disabled:Darek Slusarczyk2019-02-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | - set default for mysqli.allow_local_infile=0 - explicitly disable PDO::MYSQL_ATTR_LOCAL_INFILE in case of lack of driver options - add getAttribute support for PDO::MYSQL_ATTR_LOCAL_INFILE - update existing tests where needed - add new tests [checking default value and setting on] the 'local infile' in ext/mysqli and ext/pdo_mysql
| | * Trim trailing whitespace in source code filesPeter Kokot2018-10-134-6/+6
| | |
* | | Fixed bug #77308 (Unbuffered queries memory leak)Dmitry Stogov2019-01-141-0/+9
| | |
* | | Merge branch 'PHP-7.2' into PHP-7.3Anatol Belski2019-01-092-2/+2
|\ \ \ | |/ / | | | | | | | | | * PHP-7.2: Revert visibility
| * | Revert visibilityAndrey Hristov2019-01-092-2/+2
| | | | | | | | | | | | (cherry picked from commit 71ffae9605a0b19f4c7a76d317276c934a767a65)
* | | Merge branch 'PHP-7.2' into PHP-7.3Anatol Belski2019-01-021-2/+2
|\ \ \ | |/ / | | | | | | | | | * PHP-7.2: Fixed bug #75684 In mysqlnd_ext_plugin.h the plugin methods family has no external visibility
| * | Fixed bug #75684 In mysqlnd_ext_plugin.h the plugin methods family has no ↵Anatol Belski2019-01-021-2/+2
| | | | | | | | | | | | external visibility
| * | Trim trailing whitespace in source code filesPeter Kokot2018-10-134-6/+6
| | |
* | | Future-proof email addressesZeev Suraski2018-11-011-1/+1
| | |
* | | Trim trailing whitespace in source code filesPeter Kokot2018-10-131-1/+1
| | |
* | | Optimize MySQL statement execute without parameterstwosee2018-10-051-2/+4
| | |
* | | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2018-09-047-398/+29
|\ \ \ | |/ /
| * | Merge branch 'PHP-7.1' into PHP-7.2Nikita Popov2018-09-047-425/+29
| |\ \ | | |/
| | * Revert all MySQL auth related changesNikita Popov2018-09-047-425/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per bug #76651 these changes do not appear to work correctly in some cases. As no immediate fix seems to be forthcoming, I'm reverting these changes. Revert "Fixed invalid free introduced by d6e81f0bfd0cb90586dd83d4fd47a4302605261a (avoid keeping "invalid" pointer)" This reverts commit 11507c0e1bfa17a96480f3648397f6975c31551e. Revert "Fix mysqlnd build without openssl" This reverts commit 6c9db02ff7812c298d1e7e292ba731d9d3a66790. Revert "Fix VC compilation as variable size array is not supported" This reverts commit f96df64cb2219fda42ca875483f874cf3052647c. Revert "Fix MySQL 8 auth" This reverts commit d6e81f0bfd0cb90586dd83d4fd47a4302605261a.
* | | Fix typos in codePeter Kokot2018-07-271-1/+1
| | |
* | | Remove unused Git attributes identPeter Kokot2018-07-252-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The $Id$ keywords were used in Subversion where they can be substituted with filename, last revision number change, last changed date, and last user who changed it. In Git this functionality is different and can be done with Git attribute ident. These need to be defined manually for each file in the .gitattributes file and are afterwards replaced with 40-character hexadecimal blob object name which is based only on the particular file contents. This patch simplifies handling of $Id$ keywords by removing them since they are not used anymore.
* | | Allocate array of proper sizeDmitry Stogov2018-07-181-1/+6
| | |
* | | OptimizationDmitry Stogov2018-07-101-100/+71
| | |
* | | Use zval_ptr_dtor() to replace bound variables (original values nay be ↵Dmitry Stogov2018-07-051-4/+4
| | | | | | | | | | | | circular structures).
* | | Use zval_ptr_dtor_nogc() instead of zval_dtor() inplaces where ↵Dmitry Stogov2018-07-051-2/+2
| | | | | | | | | | | | circular-references are not possible
* | | Replace zval_dtor() with specialized destructorsDmitry Stogov2018-07-051-1/+1
| | |
* | | Replace legacy zval_dtor() by zval_ptr_dtor_nogc() or even more specialized ↵Dmitry Stogov2018-07-041-2/+2
| | | | | | | | | | | | | | | | | | | | | destructors. zval_dtor() doesn't make a lot of sense in PHP-7.* and it's used incorrectly in some places. Its occurances should be replaced by zval_ptr_dtor() or zval_ptr_dtor_nogc(), or even more specialized destructors.
* | | Fixe bug #76386Victor Csiky2018-06-151-2/+33
| | | | | | | | | | | | ..that is also a duplicate of #67122