summaryrefslogtreecommitdiff
path: root/ext/mysqlnd/php_mysqlnd.c
Commit message (Collapse)AuthorAgeFilesLines
* MySQLnd: Remove mnd_malloc/free etc.Nikita Popov2020-12-171-9/+0
| | | | | | There were only two uses of non-zmm allocation functions left, which really did not need to use the system allocator. Remove them, and remove the system allocator based APIs.
* MySQLnd: Clean up and optimize mysqlnd result set handlingNikita Popov2020-12-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a larger overhaul of the mysqlnd result set infrastructure: * Drop support for two different types of buffered results sets ("c" and "zval"). Possibly these made sense at some earlier time, but now (with minor adjustments) one option is strictly worse than the other. Buffered result sets already buffer the full row packets, from which zvals can be decoded. The "zval" style additionally also buffered the decoded zvals. As result sets, even buffered ones, are generally only traversed once, this just ends up wasting memory. Now, a potentially useful variation here would be to buffer the decoded zvals instead of the row packets, but that's not what the code was doing. * To make it really strictly better, pre-allocate the zval row buffer and reuse it for all rows. Previously the "c" style always allocated a new buffer for each row. * The fetch_row API now provides a populated zval[]. The task of populating an array is deferred to fetch_row_into, which also avoids duplicating this code in multiple places. The fetch_row_c API is also implemented on top of fetch_row now, rather than duplicating large parts of the code. * The row fetching code for prepared statements and normal result sets has been mostly merged. These already used the same infrastructure, but prepared statements used separate row fetching functions that were nearly the same as the normal ones. This requires passing the stmt into the result set, rather than just a flag. The only part that remains separate is reading of unbuffered results in the presence of PS cursors.
* MySQLnd: Remove fail thresholds from infallible allocatorsNikita Popov2020-12-141-6/+0
| | | | | emalloc() etc are infallibe by design. Having a failure threshold for them is a violation of the API contract.
* Remove unnecessary function entry arrayMáté Kocsis2020-08-111-11/+1
|
* Remove proto comments from C filesMax Semenik2020-07-061-18/+9
| | | | Closes GH-5758
* Remove mention of PHP major version in Copyright headersGabriel Caruso2019-09-251-2/+0
| | | | Closes GH-4732.
* Removed mysqlnd stats from phpinfo pagePieter Hordijk2019-07-031-27/+0
| | | | All information can already be retrieved using the APIs at https://www.php.net/manual/en/mysqlnd.stats.php. Closes https://bugs.php.net/bug.php?id=60594
* Update and fix remaining year ranges (2019)Peter Kokot2019-02-081-1/+1
| | | | | | This patch follows previous license year ranges updates. With new approach source code files now have simplified headers with license information without year ranges.
* Remove local variablesPeter Kokot2019-02-031-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly used by Vim and Emacs editors yet with recent changes the once working definitions don't work anymore in Vim without custom plugins or additional configuration. Neither are these settings synced across the PHP code base. A simpler and better approach is EditorConfig and fixing code using some code style fixing tools in the future instead. This patch also removes the so called modelines for Vim. Modelines allow Vim editor specifically to set some editor configuration such as syntax highlighting, indentation style and tab width to be set in the first line or the last 5 lines per file basis. Since the php test files have syntax highlighting already set in most editors properly and EditorConfig takes care of the indentation settings, this patch removes these as well for the Vim 6.0 and newer versions. With the removal of local variables for certain editors such as Emacs and Vim, the footer is also probably not needed anymore when creating extensions using ext_skel.php script. Additionally, Vim modelines for setting php syntax and some editor settings has been removed from some *.phpt files. All these are mostly not relevant for phpt files neither work properly in the middle of the file.
* Replace zval_dtor() with specialized destructorsDmitry Stogov2018-07-051-1/+1
|
* year++Xinchen Hui2018-01-021-1/+1
|
* Update copyright headers to 2017Sammy Kaye Powers2017-01-021-1/+1
|
* Merge branch 'PHP-7.0' into PHP-7.1Andrey Hristov2016-10-171-1/+1
|\
| * Merge branch 'PHP-5.6' into PHP-7.0Andrey Hristov2016-10-171-1/+1
| |\
| | * Lower the value to 24 hours from 1 year, which due to a overflow inAndrey Hristov2016-10-171-1/+1
| | | | | | | | | | | | php_tvtoto (bug#71507) is just 17 days.
* | | Merge branch 'PHP-7.0'Andrey Hristov2016-03-161-4/+2
|\ \ \ | |/ /
| * | Fix emails in headers. @mysql.com addresses are no more since many years.Andrey Hristov2016-03-161-4/+3
| | |
* | | Merge branch 'PHP-7.0'Nikita Popov2016-03-031-1/+1
|\ \ \ | |/ /
| * | Move semicolon into TSRMLS_CACHE_EXTERN/DEFINENikita Popov2016-03-031-1/+1
| | | | | | | | | | | | Also re bug #71575.
* | | Merge branch 'PHP-7.0'Lior Kaplan2016-01-011-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | * PHP-7.0: Update header to PHP Version 7 Happy new year (Update copyright to 2016) Happy new year (Update copyright to 2016)
| * | Merge branch 'PHP-5.6' into PHP-7.0Lior Kaplan2016-01-011-1/+1
| |\ \ | | |/ | | | | | | | | | * PHP-5.6: Happy new year (Update copyright to 2016)
| | * Happy new year (Update copyright to 2016)Lior Kaplan2016-01-011-1/+1
| | |
| | * bump yearXinchen Hui2015-01-151-1/+1
| | |
* | | MNDR:Andrey Hristov2015-11-121-1/+0
|/ / | | | | | | - remove inclusion of uneeded headers
* | Use ZSTR_ API to access zend_string elements (this is just renaming without ↵Dmitry Stogov2015-06-301-4/+4
| | | | | | | | semantick changes).
* | cleanup the mod version macros, round 2Anatol Belski2015-03-231-1/+1
| |
* | made ZEND_TSRMLS_CACHE_* macros look like function callsAnatol Belski2015-02-161-2/+2
| | | | | | | | which also comply with the current semantics for such macros
* | bump yearXinchen Hui2015-01-151-1/+1
| |
* | trailing whitespace removalStanislav Malyshev2015-01-101-2/+2
| |
* | second shot on removing TSRMLS_*Anatol Belski2014-12-141-1/+1
| |
* | first shot remove TSRMLS_* thingsAnatol Belski2014-12-131-9/+9
| |
* | converted some ext/mysql* and fixed ext/zlibAnatol Belski2014-10-151-0/+6
| |
* | Move smart_str implementation into Zend/Nikita Popov2014-09-211-1/+1
| | | | | | | | | | | | | | | | So we can use it there as well... For now I've retained the zend_smart_str_public.h header, though it would probably be better to just move that one struct into zend_types.h.
* | s/PHP 5/PHP 7/Johannes Schlüter2014-09-191-1/+1
| |
* | Refactored INI subsystem to use zend_string* instead of char*Dmitry Stogov2014-09-011-1/+1
| |
* | master renames phase 3Anatol Belski2014-08-251-4/+4
| |
* | master renames phase 1Anatol Belski2014-08-251-1/+1
| |
* | fixes to %pd format usageAnatol Belski2014-08-241-3/+3
| |
* | ported mysql and mysqlndAnatol Belski2014-08-191-4/+6
| |
* | Fixed segfault while info printingXinchen Hui2014-06-301-2/+2
| |
* | Fixed segfaultsXinchen Hui2014-06-181-4/+4
| |
* | Refactoring mysqlnd (incompleted, only mysqlnd ext compilable)Xinchen Hui2014-06-181-31/+22
|/
* fix crash in MINFO when no mysqlnd plugins are loadedAnatol Belski2014-04-141-1/+1
|
* Merge branch 'PHP-5.6' of git.php.net:php-src into PHP-5.6Andrey Hristov2014-04-101-7/+7
|\ | | | | | | | | Conflicts: ext/mysqli/tests/mysqli_begin_transaction.phpt
| * Remove some usages of hashtable internalsNikita Popov2014-04-091-7/+7
| |
* | New result fetching mode for mysqlnd, which should use less memory butAndrey Hristov2014-04-101-3/+4
|/ | | | | | | | implies more memory copy. The old method is still available and can be used. It stays as default. Choosing the method is through a flag to mysqli_query()/mysqli_real_query() New mode can be forced with an INI setting, for all extensions that support this mode (ext/mysql and mysqli, because PDO due to it's architecture can't support it) The setting is mysqlnd.fetch_data_copy=[0|1]
* Bump yearXinchen Hui2014-01-031-1/+1
|
* Merge branch 'PHP-5.4' into PHP-5.5Xinchen Hui2013-01-061-1/+1
|\
| * Merge branch 'PHP-5.3' into PHP-5.4Xinchen Hui2013-01-061-1/+1
| |\
| | * bump yearXinchen Hui2013-01-061-1/+1
| | |