#
a5f13782 |
| 05-Nov-2024 |
Máté Kocsis |
Fix GH-16314 "Pdo\Mysql object is uninitialized" when opening a persistent connection (#16369)
|
#
58929919 |
| 20-Oct-2024 |
Máté Kocsis |
Fix GH-16131: Prevent mixing PDO sub-classes with different DSN
|
#
5853cdb7 |
| 20-Aug-2024 |
Gina Peter Bnayard |
Use "must not" instead of "cannot" wording
|
#
e7c4d54d |
| 18-Aug-2024 |
Gina Peter Bnayard |
Use new helper function for "cannot be empty" ValueErrors
|
#
1fbb6665 |
| 17-Jul-2024 |
Arnaud Le Blanc |
Use zend_std_build_properties() to access zend_object.properties The zend_object.properties HashTable needs to be built just in time by calling rebuild_object_properties() on the object
Use zend_std_build_properties() to access zend_object.properties The zend_object.properties HashTable needs to be built just in time by calling rebuild_object_properties() on the object before accessing it. Normally this is done automatically in zend_std_get_properties(), but we do it manually in a few places. In this change I introduce an inline variant of zend_std_build_properties(), and refactor these places to use it instead of calling rebuild_object_properties() manually. rebuild_object_properties() renamed as rebuild_object_properties_internal(), to enforce usage of zend_std_get_properties() or zend_std_build_properties_ex(). Closes GH-14996
show more ...
|
#
11accb5c |
| 25-Jun-2024 |
Arnaud Le Blanc |
Preferably include from build dir (#13516) * Include from build dir first This fixes out of tree builds by ensuring that configure artifacts are included from the build dir.
Preferably include from build dir (#13516) * Include from build dir first This fixes out of tree builds by ensuring that configure artifacts are included from the build dir. Before, out of tree builds would preferably include files from the src dir, as the include path was defined as follows (ignoring includes from ext/ and sapi/) : -I$(top_builddir)/main -I$(top_srcdir) -I$(top_builddir)/TSRM -I$(top_builddir)/Zend -I$(top_srcdir)/main -I$(top_srcdir)/Zend -I$(top_srcdir)/TSRM -I$(top_builddir)/ As a result, an out of tree build would include configure artifacts such as `main/php_config.h` from the src dir. After this change, the include path is defined as follows: -I$(top_builddir)/main -I$(top_builddir) -I$(top_srcdir)/main -I$(top_srcdir) -I$(top_builddir)/TSRM -I$(top_builddir)/Zend -I$(top_srcdir)/Zend -I$(top_srcdir)/TSRM * Fix extension include path for out of tree builds * Include config.h with the brackets form `#include "config.h"` searches in the directory containing the including-file before any other include path. This can include the wrong config.h when building out of tree and a config.h exists in the source tree. Using `#include <config.h>` uses exclusively the include path, and gives priority to the build dir.
show more ...
|
#
eaaf175b |
| 31-Mar-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Remove redundant check in pdo_raise_impl_error (#13851) `dbh` is always non-NULL because it is dereferenced at the start of the function.
|
#
ad1dfa35 |
| 04-Mar-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Minor PDO conditions cleanup (#13584) * Get rid of inverted NULL checks As the dbh pointer is already used in address computation, the NULL checks is redundant. Looking at the c
Minor PDO conditions cleanup (#13584) * Get rid of inverted NULL checks As the dbh pointer is already used in address computation, the NULL checks is redundant. Looking at the callers there are no cases where this can be passed as NULL. * Message can't be NULL here * Remove null check for return_value As one of the branches dereferences return_value unconditionally, the NULL check is dubious. In fact, looking at the callers we see that return_value can never be NULL. So remove the check and fix the comment.
show more ...
|
#
f2e199e8 |
| 25-Feb-2024 |
Máté Kocsis |
Implement "support doc comments for internal classes and functions" (#13266) Fixes #13130
|
#
d6a0b3af |
| 11-Jan-2024 |
Máté Kocsis |
Implement PDO driver-specific subclasses RFC: https://wiki.php.net/rfc/pdo_driver_specific_subclasses Closes GH-12804 Co-Authored-By: Danack <Danack@basereality.com>
|
#
b3331644 |
| 18-Dec-2023 |
SakiTakamachi |
Fix GH-12969: Fixed PDO::getAttribute() to get PDO::ATTR_STRINGIFY_FETCHES Partial backport of GH-12793. Closes GH-12970.
|
#
866aa12b |
| 04-Dec-2023 |
Saki Takamachi <34942839+SakiTakamachi@users.noreply.github.com> |
ext/pdo: Fixed PDO::setAttribute() and PDO::getAttribute() (#12793)
|
#
77237185 |
| 08-Sep-2023 |
George Peter Banyard |
ext/pdo: Refactor pdo_stmt_construct() to use newer FCI/FCC API (#12142)
|
#
ee000ea1 |
| 08-Aug-2023 |
Ilija Tovilo |
Fix uouv on oom on object allocation We may OOM during object initialization. In this case, free_obj needs to guard against NULL values. There may be more cases where this is an issue, t
Fix uouv on oom on object allocation We may OOM during object initialization. In this case, free_obj needs to guard against NULL values. There may be more cases where this is an issue, these were the ones I was able to discover via script. Fixes GH-11734
show more ...
|
#
e0aadc1c |
| 07-Jul-2023 |
SakiTakamachi |
Fix GH-11587 PDO::ATTR_STRINGIFY_FETCHES should return strings even in if PDO::ATTR_EMULATE_PREPARES is enabled This also includes a fix for the MySQL ND driver to actually respect the user
Fix GH-11587 PDO::ATTR_STRINGIFY_FETCHES should return strings even in if PDO::ATTR_EMULATE_PREPARES is enabled This also includes a fix for the MySQL ND driver to actually respect the user decided behaviour. Closes GH-11622 Signed-off-by: George Peter Banyard <girgias@php.net>
show more ...
|
#
9d5f2f13 |
| 20-Mar-2023 |
Ilija Tovilo |
Use new ZSTR_INIT_LITERAL macro (#10879)
|
#
7936c808 |
| 23-Jan-2023 |
Máté Kocsis |
Fix GH-8329 Print true/false instead of bool in error and debug messages (#8385)
|
#
a6a80eef |
| 19-Dec-2022 |
Stanislav Malyshev |
Improve fix for bug #81740
|
#
56c121ce |
| 24-Oct-2022 |
Florian Sowade |
Initialize run time cache in PDO methods (#9818) Without the memset the memory was uninitialized and the new test segfaulted when accessing the memory in _zend_observe_fcall_begin().
|
#
9be00e39 |
| 10-Oct-2022 |
Bob Weinand |
Ensure driver specific PDO methods have a proper run_time_cache
|
#
a01dd9fe |
| 14-Sep-2022 |
Bob Weinand |
Revert "Port all internally used classes to use default_object_handlers" This reverts commit 94ee4f9834743ca74f6c9653863273277ce6c61a. The commit was a bit too late to be included i
Revert "Port all internally used classes to use default_object_handlers" This reverts commit 94ee4f9834743ca74f6c9653863273277ce6c61a. The commit was a bit too late to be included in PHP 8.2 RC1. Given it's a massive ABI break, we decide to postpone the change to PHP 8.3.
show more ...
|
Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23 |
|
#
94ee4f98 |
| 24-Aug-2022 |
Bob Weinand |
Port all internally used classes to use default_object_handlers Signed-off-by: Bob Weinand <bobwei9@hotmail.com>
|
Revision tags: php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3, php-8.2.0beta2, php-8.1.9, php-8.0.22 |
|
#
dc5475c1 |
| 28-Jul-2022 |
Bob Weinand |
Save previous observer on the VM stack This avoids a possible significant performance penalty, when some leaf function was observed, deep in the stack. As a side effect, we are not itera
Save previous observer on the VM stack This avoids a possible significant performance penalty, when some leaf function was observed, deep in the stack. As a side effect, we are not iterating over prev_execute_data anymore and thus, non-observed fake frames, possibly on stack, cannot have any impact on the observer anymore (especially within zend_observer_fcall_end_all). Saving the previous observer happens now directly on the VM stack. If there is any observer, function frames are allocated an extra zval (the last temporary), which will, on observed frames, contain the previous observed frame address.
show more ...
|
#
625f1649 |
| 20-Jul-2022 |
Bob Weinand |
Include internal functions in the observer API There are two main motivations to this: a) The logic for handling internal and userland observation can be unified. b) Unwinding of obs
Include internal functions in the observer API There are two main motivations to this: a) The logic for handling internal and userland observation can be unified. b) Unwinding of observed functions on a bailout does notably not include observers. Even if users of observers were to ensure such handling themselves, it would be impossible to retain the relative ordering - either the user has to unwind all internal observed frames before the automatic unwinding (zend_observer_fcall_end_all) or afterwards, but not properly interleaved. Signed-off-by: Bob Weinand <bobwei9@hotmail.com>
show more ...
|
#
dd002967 |
| 22-Jul-2022 |
Máté Kocsis |
Declare ext/pdo constants in stubs (#9078)
|