summaryrefslogtreecommitdiff
path: root/ext/mysqli
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'PHP-7.2' into PHP-7.3Christoph M. Becker2019-08-201-0/+78
|\ | | | | | | | | * 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-201-0/+78
| | | | | | | | _server_host
* | Merge branch 'PHP-7.2' into PHP-7.3Andrey Hristov2019-06-191-1/+1
|\ \ | |/
| * Fix version comparisonAndrey Hristov2019-06-191-1/+1
| |
* | Be more precise about possible types for mysqli methodsTyson Andre2019-06-112-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysqli has an uncommon approach to 64-bit compatibility: it will convert numbers that can't be represented on 32-bit platforms to a string. This is documented at https://www.php.net/manual/en/mysqli-stmt.affected-rows.php#refsect1-mysqli-stmt.affected-rows-returnvalues So if there's a query to a remote mysqli server that affects more than 2.2 billion rows, then the opcache inference might be incorrect. (It's possible to add a MAY_BE_STRING_ON_32_BIT_PLATFORM bitflag macro to account for this, but I don't think there's a need or want to?) Patches 3162285b86871fb22a85a50ce9bc30823da64b6a This is based on the list of php 7.4 functions using MYSQLI_RETURN_LONG_INT in mysqli_api.c
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-05-221-0/+50
|\ \ | |/
| * Fix #77956 - When mysqli.allow_local_infile = Off, return a client errorSjon Hortensius2019-05-221-0/+50
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-02-211-0/+27
|\ \ | |/
| * Fixed bug #77597Nikita Popov2019-02-211-0/+27
| | | | | | | | | | | | 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 branch 'PHP-7.2' into PHP-7.3Darek Slusarczyk2019-02-1112-2/+73
|\ \ | |/
| * Merge branch 'PHP-7.1' into PHP-7.2Darek Slusarczyk2019-02-1112-2/+73
| |\
| | * security fix - by default 'local infile' is disabled:Darek Slusarczyk2019-02-1112-2/+73
| | | | | | | | | | | | | | | | | | | | | | | | - 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
| | * Sync leading and final newlines in *.phpt sectionsPeter Kokot2018-10-15269-274/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines in all *.phpt sections. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
| | * Trim trailing whitespace in *.phptPeter Kokot2018-10-1424-45/+45
| | |
| | * Sync leading and final newlines in source code filesPeter Kokot2018-10-148-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
| | * Trim trailing whitespace in source code filesPeter Kokot2018-10-134-7/+7
| | |
| | * Convert CRLF line endings to LFPeter Kokot2018-10-135-185/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch simplifies line endings tracked in the Git repository and syncs them to all include the LF style instead of the CRLF files. Newline characters: - LF (\n) (*nix and Mac) - CRLF (\r\n) (Windows) - CR (\r) (old Mac, obsolete) To see which line endings are in the index and in the working copy the following command can be used: `git ls-files --eol` Git additionally provides `.gitattributes` file to specify if some files need to have specific line endings on all platforms (either CRLF or LF). Changed files shouldn't cause issues on modern Windows platforms because also Git can do output conversion is core.autocrlf=true is set on Windows and use CRLF newlines in all files in the working tree. Unless CRLF files are tracked specifically, Git by default tracks all files in the index using LF newlines.
| * | Sync leading and final newlines in *.phpt sectionsPeter Kokot2018-10-15253-258/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines in all *.phpt sections. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
| * | Trim trailing whitespace in *.phptPeter Kokot2018-10-1424-45/+45
| | |
| * | Sync leading and final newlines in source code filesPeter Kokot2018-10-147-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
| * | Trim trailing whitespace in source code filesPeter Kokot2018-10-134-7/+7
| | |
* | | Sync leading and final newlines in *.phpt sectionsPeter Kokot2018-10-15182-186/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines in all *.phpt sections. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
* | | Trim trailing whitespace in *.phptPeter Kokot2018-10-1420-37/+37
| | |
* | | Sync leading and final newlines in source code filesPeter Kokot2018-10-147-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
* | | Trim trailing whitespace in source code filesPeter Kokot2018-10-131-1/+1
| | |
* | | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2018-09-191-4/+4
|\ \ \ | |/ /
| * | Merge branch 'PHP-7.1' into PHP-7.2Nikita Popov2018-09-191-4/+4
| |\ \ | | |/
| | * Fix intermittent failures in mysqli_stmt_bind_result_format.phptNikita Popov2018-09-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were two distinct issues here: * $trend was compared against 'NULL' using !=, which does not work as intended in the case where $trend==0.0. * current_targets was declared as double(17,0), which means that the fractional part was rounded, so that the same comparison in SQL (rounded) and in PHP (not rounded) did not necessarily match. Please don't write mt_rand based tests, it takes ages to debug this crap...
| | * year++Xinchen Hui2018-01-0217-17/+17
| | |
* | | Trim trailing whitespaces in build filesPeter Kokot2018-07-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Some editors utilizing .editorconfig automatically trim whitespaces. For convenience this patch removes whitespaces in certain build files: - ext/*/config*.m4 - configure.ac - acinclude.m4
* | | Fix typos in code commentsPeter Kokot2018-07-253-3/+3
| | |
* | | Remove unused Git attributes identPeter Kokot2018-07-259-17/+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.
* | | Better name: ZEND_PROPERTY_HAS => ZEND_PROPERTY_NOT_EMPTYDmitry Stogov2018-07-241-1/+1
| | |
* | | Give a meaningful nameXinchen Hui2018-07-241-3/+3
| | |
* | | Improved user iterator implementation to reduce zend_class_entry memory ↵Dmitry Stogov2018-07-121-1/+0
| | | | | | | | | | | | consumption and avoid race condition during resolving/caching of user iterator functions of internal classes in ZTS build.
* | | Skip test on incompatible serversAnatol Belski2018-07-091-0/+10
| | |
* | | Fix inverted stristr() argument order in mysqli testNikita Popov2018-07-051-2/+2
| | |
* | | Replace zval_dtor() with specialized destructorsDmitry Stogov2018-07-051-2/+2
| | |
* | | 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.
* | | Remove old SVN keywords substitutionsPeter Kokot2018-06-163-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | When the PHP source code was versioned in Subversion, there was possible to substitute certain keywords such as $Id$ with revision number, last change time and author name. Such approach is not used in Git so this patch removes these outdated artifacts from source code files.
* | | Fixe bug #76386Victor Csiky2018-06-151-0/+94
| | | | | | | | | | | | ..that is also a duplicate of #67122
* | | Export standard object handlers, to avoid indirect accessDmitry Stogov2018-05-311-9/+4
| | |
* | | Use zend_string_release_ex() instread of zend_string_release() in places, ↵Dmitry Stogov2018-05-282-3/+3
| | | | | | | | | | | | where we sure about string persistence.
* | | zend_fcall_info_cache.calling_scope is not used by zend_call_function() and ↵Dmitry Stogov2018-05-031-1/+0
| | | | | | | | | | | | | | | | | | doesn't have to be initialized. It's used only as a result of zend_is_callable() in forward_static_call and spl_autoload.
* | | Merge branch 'PHP-7.2'Nikita Popov2018-03-232-4/+4
|\ \ \ | |/ /
| * | Add missing skip prefix for some SKIPIF messagesatvoicu2018-03-232-4/+4
| | |
| * | year++Xinchen Hui2018-01-0217-17/+17
| | |
* | | Keep initialized object_handlers structures in read-only memory.Dmitry Stogov2018-03-141-4/+4
| | |
* | | [ci skip] Remove space between function name and open parenthesesGabriel Caruso2018-02-242-12/+12
| | |
* | | Use int instead of long in protosGabriel Caruso2018-02-232-4/+4
| | |