#
7ebdd7d0 |
| 29-Aug-2024 |
Peter Kokot |
Trim trailing whitespace (#15649) [skip ci]
|
#
8487ddb8 |
| 27-Aug-2024 |
Simonov Denis |
pdo_firebird: Cleanup code (GH-15510) Since we're requiring fbclient >= 3.0 anyway, we: * Remove unneeded `#if FB_API_VER >= 25`, `#if FB_API_VER >= 30`, `#ifdef SQL_BOOLEAN`
pdo_firebird: Cleanup code (GH-15510) Since we're requiring fbclient >= 3.0 anyway, we: * Remove unneeded `#if FB_API_VER >= 25`, `#if FB_API_VER >= 30`, `#ifdef SQL_BOOLEAN` * Simplify support for new types for query input parameters. Support force_null for them. * fbclient 3.0+ does not have a limit on the length of a SQL query of 64 KB. The new limit is 10 MB, no one in their right mind would transmit a query of such length.
show more ...
|
#
225034db |
| 12-Aug-2024 |
Simonov Denis |
pdo_firebird: Formatting time zone types As a follow-up to the commit which introduced support for Firebird 4.0+ data types[1], we add support for formats for types with time zones.
pdo_firebird: Formatting time zone types As a follow-up to the commit which introduced support for Firebird 4.0+ data types[1], we add support for formats for types with time zones. Since this uses the newer Firebird C++ API, pdo_firebird now requires a C++ compiler to be built. [1] <https://github.com/php/php-src/pull/14897> Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de> Closes GH-15230.
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 ...
|
#
df481ef9 |
| 03-Jun-2024 |
Peter Kokot |
Simplify PDO include paths (#14444) PDO include paths can be simplified and synced as done in other extensions: either the project root directory or the phpincludedir (for the system
Simplify PDO include paths (#14444) PDO include paths can be simplified and synced as done in other extensions: either the project root directory or the phpincludedir (for the system installation). The 'ext' include is automatically appended when doing phpize build. In php-src it is only present on Windows build. The PHP_CHECK_PDO_INCLUDES is left intact working as before and checks if PDO headers are found.
show more ...
|
#
fa751c7d |
| 13-Jan-2024 |
SakiTakamachi |
Fix GH-13119 (#13125) Fixed an issue where pdo_firebird float and double type values were wrong. Changed from using `%F` format with `zend_strpprintf` to using `%H` format with
Fix GH-13119 (#13125) Fixed an issue where pdo_firebird float and double type values were wrong. Changed from using `%F` format with `zend_strpprintf` to using `%H` format with `zend_strpprintf_unchecked`. Fixes GH-13119 Closes GH-13125
show more ...
|
#
dfaf7986 |
| 27-Nov-2023 |
Saki Takamachi <34942839+SakiTakamachi@users.noreply.github.com> |
[pdo_firebird] Transaction management optimization (#12741) take2 of #12657 ## About Firebird transaction Firebird is a full transactional database, so the DB itself does n
[pdo_firebird] Transaction management optimization (#12741) take2 of #12657 ## About Firebird transaction Firebird is a full transactional database, so the DB itself does not support autocommit mode. (Strictly, there is an autocommit mode, but it is a different concept from the "autocommit" that we are used to with MySQL and others.) Therefore, a transaction must have started before any operation is performed, and autocommit mode had to be emulated in PHP. I made sure that a transaction always exists when in autocommit mode. Since the `in_transacntion` function does not work as expected, I have introduced `H->in_manually_txn` to determine whether a transaction is being manually manipulated. ## There are two types of commit/rollback (I'm not talking about two-phase commit. This change does not take into account two-phase commit.) There are `isc_commit_retaining` which starts a transaction again in the same context immediately after committing, and `isc_commit_transaction` which closes the transaction as is. Similarly, there are two types of rollback. ----------- Due to the default value of the transaction isolation level, autocommit mode may obtain unintended results. Regarding this, it would be too large to include support for transaction isolation levels in this PR, so I will leave it as is for now.
show more ...
|
#
54b12bcd |
| 22-Nov-2023 |
SakiTakamachi |
Unified function naming conventions
|
#
239379b7 |
| 20-Nov-2023 |
Saki Takamachi <34942839+SakiTakamachi@users.noreply.github.com> |
ext/pdo_firebird: Output correct error messages
|
#
7f7da6ae |
| 17-Nov-2023 |
KentarouTakeda |
Enable `pdo-firebird` nightly testing (#12699) * Enable `pdo-firebird` Testing in Nightly * fix(ext/pdo_firebird/tests): dont detect memory leak * fix(ext/pdo_firebird): me
Enable `pdo-firebird` nightly testing (#12699) * Enable `pdo-firebird` Testing in Nightly * fix(ext/pdo_firebird/tests): dont detect memory leak * fix(ext/pdo_firebird): memory alignment error
show more ...
|
#
21e0305f |
| 23-Mar-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-10908: Bus error with PDO Firebird on RPI with 64 bit kernel and 32 bit userland The alignment of sqldata is in most cases only the basic alignment, so the code type-puns it to a
Fix GH-10908: Bus error with PDO Firebird on RPI with 64 bit kernel and 32 bit userland The alignment of sqldata is in most cases only the basic alignment, so the code type-puns it to a larger type, it *can* crash due to the misaligned access. This is only an issue for types > 4 bytes because every sensible system requires an alignment of at least 4 bytes for allocated data. Even though this patch uses memcpy, the compiler is smart enough to optimise it to something more efficient, especially on x86. This is just the usual approach to solve these alignment problems. Actually, unaligned memory access is undefined behaviour, so even on x86 platforms, where the bug doesn't cause a crash, this can be problematic. Furthermore, even though the issue talks about a 64-bit kernel and 32-bit userspace, this doesn't necessarily need to be the case to trigger this crash. Test was Co-authored-by: rvk01 Closes GH-10920.
show more ...
|
#
44377c3c |
| 29-Nov-2022 |
Christoph M. Becker |
Fix GH-9971: Incorrect NUMERIC value returned from PDO_Firebird Dialect 1 databases store and transfer `NUMERIC(15,2)` values as doubles, which we need to cater to in `firebird_stmt_get_
Fix GH-9971: Incorrect NUMERIC value returned from PDO_Firebird Dialect 1 databases store and transfer `NUMERIC(15,2)` values as doubles, which we need to cater to in `firebird_stmt_get_col()` to avoid `ZEND_ASSUME(0)` to ever be triggered, since that may result in undefined behavior. Since adding a regression test would require to create a dialect 1 database, we go without it. Closes GH-10021.
show more ...
|
Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23, php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3, php-8.2.0beta2, php-8.1.9, php-8.0.22 |
|
#
ba9debb5 |
| 28-Jul-2022 |
Nikita Popov |
Fix parentheses warnings |
Revision tags: php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3 |
|
#
2fc9e769 |
| 05-Jul-2022 |
Christoph M. Becker |
Fix GH-8576: Bad interpretation of length when char is UTF-8 For columns of type `SQL_TEXT`, Firebird does not properly report the actual column length, but rather only the maximum colum
Fix GH-8576: Bad interpretation of length when char is UTF-8 For columns of type `SQL_TEXT`, Firebird does not properly report the actual column length, but rather only the maximum column length, so for multi-byte encodings like UTF-8, such columns may have trailing spaces. We work around that by treating such columns as `SQL_VARYING` when we ask the server to describe the colum, what yields the desired results. Given that this is a work-around, and may break code which expects the results with trailing spaces, we target "master" only. Closes GH-8926.
show more ...
|
Revision tags: php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1, php-8.0.20, php-8.1.7, php-8.2.0alpha1 |
|
#
a6a13139 |
| 07-Jun-2022 |
Ben Ramsey |
Fix #76452: Crash while parsing blob data in firebird_fetch_blob This reapplies 286162e9b03071c4308e7e92597bca4239f49d89 to the PHP-8.1 (and up) branches, fixing what might have been cau
Fix #76452: Crash while parsing blob data in firebird_fetch_blob This reapplies 286162e9b03071c4308e7e92597bca4239f49d89 to the PHP-8.1 (and up) branches, fixing what might have been caused by a bad merge conflict resolution.
show more ...
|
Revision tags: php-7.4.30, php-8.1.7RC1, php-8.0.20RC1, php-8.1.6, php-8.0.19, php-8.1.6RC1, php-8.0.19RC1, php-8.0.18, php-8.1.5, php-7.4.29, php-8.1.5RC1, php-8.0.18RC1, php-8.1.4, php-8.0.17, php-8.1.4RC1, php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28, php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1, php-8.0.14, php-8.1.1, php-7.4.27, php-8.1.1RC1, php-8.0.14RC1, php-7.4.27RC1, php-8.1.0, php-8.0.13, php-7.4.26, php-7.3.33, php-8.1.0RC6, php-7.4.26RC1, php-8.0.13RC1, php-8.1.0RC5, php-7.3.32, php-7.4.25, php-8.0.12, php-8.1.0RC4, php-8.0.12RC1, php-7.4.25RC1, php-8.1.0RC3, php-8.0.11, php-7.4.24, php-7.3.31, php-8.1.0RC2, php-7.4.24RC1, php-8.0.11RC1, php-8.1.0RC1, php-7.4.23, php-8.0.10, php-7.3.30, php-8.1.0beta3, php-8.0.10RC1, php-7.4.23RC1, php-8.1.0beta2, php-8.0.9, php-7.4.22, php-8.1.0beta1, php-7.4.22RC1, php-8.0.9RC1, php-8.1.0alpha3, php-7.4.21, php-7.3.29, php-8.0.8 |
|
#
d72e82bf |
| 28-Jun-2021 |
Stanislav Malyshev |
Merge branch 'PHP-8.0' * PHP-8.0: Update NEWS Fix #76448: Stack buffer overflow in firebird_info_cb Fix #76449: SIGSEGV in firebird_handle_doer Fix #76450: SIGSEGV in
Merge branch 'PHP-8.0' * PHP-8.0: Update NEWS Fix #76448: Stack buffer overflow in firebird_info_cb Fix #76449: SIGSEGV in firebird_handle_doer Fix #76450: SIGSEGV in firebird_stmt_execute Fix #76452: Crash while parsing blob data in firebird_fetch_blob Fix #81122: SSRF bypass in FILTER_VALIDATE_URL
show more ...
|
#
892674ef |
| 28-Jun-2021 |
Stanislav Malyshev |
Merge branch 'PHP-7.4' into PHP-8.0 * PHP-7.4: Update NEWS Fix #76448: Stack buffer overflow in firebird_info_cb Fix #76449: SIGSEGV in firebird_handle_doer Fix #7645
Merge branch 'PHP-7.4' into PHP-8.0 * PHP-7.4: Update NEWS Fix #76448: Stack buffer overflow in firebird_info_cb Fix #76449: SIGSEGV in firebird_handle_doer Fix #76450: SIGSEGV in firebird_stmt_execute Fix #76452: Crash while parsing blob data in firebird_fetch_blob Fix #81122: SSRF bypass in FILTER_VALIDATE_URL
show more ...
|
#
2327e3d3 |
| 28-Jun-2021 |
Stanislav Malyshev |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Update NEWS Fix #76448: Stack buffer overflow in firebird_info_cb Fix #76449: SIGSEGV in firebird_handle_doer Fix #7645
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Update NEWS Fix #76448: Stack buffer overflow in firebird_info_cb Fix #76449: SIGSEGV in firebird_handle_doer Fix #76450: SIGSEGV in firebird_stmt_execute Fix #76452: Crash while parsing blob data in firebird_fetch_blob Fix #81122: SSRF bypass in FILTER_VALIDATE_URL
show more ...
|
Revision tags: php-8.1.0alpha2, php-7.4.21RC1, php-8.0.8RC1, php-8.1.0alpha1, php-8.0.7, php-7.4.20, php-8.0.7RC1, php-7.4.20RC1, php-8.0.6, php-7.4.19 |
|
#
bcbf8aa0 |
| 30-Apr-2021 |
Christoph M. Becker |
Fix #76450: SIGSEGV in firebird_stmt_execute We need to verify that the `result_size` is not larger than our buffer, and also should make sure that the `len` which is passed to `isc_
Fix #76450: SIGSEGV in firebird_stmt_execute We need to verify that the `result_size` is not larger than our buffer, and also should make sure that the `len` which is passed to `isc_vax_integer()` has a permissible value; otherwise we bail out.
show more ...
|
#
286162e9 |
| 05-May-2021 |
Christoph M. Becker |
Fix #76452: Crash while parsing blob data in firebird_fetch_blob We need to prevent integer overflow when calling `erealloc()` with `len+1`. |
#
01b3fc03 |
| 06-May-2021 |
KsaR |
Update http->https in license (#6945) 1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https. 2. Update few license 3.0 to 3.01 as
Update http->https in license (#6945) 1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https. 2. Update few license 3.0 to 3.01 as 3.0 states "php 5.1.1, 4.1.1, and earlier". 3. In some license comments is "at through the world-wide-web" while most is without "at", so deleted. 4. fixed indentation in some files before |
show more ...
|
Revision tags: php-7.4.18, php-7.3.28, php-8.0.5, php-8.0.5RC1, php-7.4.18RC1, php-8.0.4RC1, php-7.4.17RC1, php-8.0.3, php-7.4.16, php-8.0.3RC1, php-7.4.16RC1, php-8.0.2, php-7.4.15, php-7.3.27, php-8.0.2RC1, php-7.4.15RC2, php-7.4.15RC1, php-8.0.1, php-7.4.14, php-7.3.26, php-7.4.14RC1, php-8.0.1RC1, php-7.3.26RC1, php-8.0.0, php-7.3.25, php-7.4.13, php-8.0.0RC5, php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1, php-7.4.12, php-8.0.0RC3, php-7.3.24, php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1, php-7.2.34, php-8.0.0rc1 |
|
#
5caaf40b |
| 29-Sep-2020 |
George Peter Banyard |
Introduce pseudo-keyword ZEND_FALLTHROUGH And use it instead of comments |
#
128082c8 |
| 17-Mar-2021 |
Christoph M. Becker |
Initalize return_value before use Otherwise we likely segfault[1]. We fix the same issue for PDO_Firebird as well. [1] <https://ci.appveyor.com/project/php/php-src/builds/38267
Initalize return_value before use Otherwise we likely segfault[1]. We fix the same issue for PDO_Firebird as well. [1] <https://ci.appveyor.com/project/php/php-src/builds/38267250/job/6y3ngn1k6ryxx6j3?fullLog=true#L9783> Closes GH-6785.
show more ...
|
#
caa71003 |
| 17-Dec-2020 |
Nikita Popov |
Rewrite PDO result binding Instead of requiring the type to be determined in advance by the describer function and then requiring get_col to return a buffer of appropriate type, allo
Rewrite PDO result binding Instead of requiring the type to be determined in advance by the describer function and then requiring get_col to return a buffer of appropriate type, allow get_col to return an arbitrary zval. See UPGRADING.INTERNALS for a more detailed description of the change. This makes the result fetching simpler, more efficient and more flexible. The general possibility already existed via the special PDO_PARAM_ZVAL type, but the usage was very inconvenient and/or inefficient. Now it's possible to easily implement behavior like "return int if it fits, otherwise string" and to avoid any kind of complex management of temporary buffers. This also fixes bug #40913 (our second highest voted bug of all time, for some reason). PARAM_LOB result bindings will now consistently return a stream resource, independently of the used database driver. I've tried my best to update all PDO drivers for this change, but some of the changes may be broken, as I cannot test or even build some of these drivers (in particular PDO dblib and PDO oci). Fixes are appreciated -- a working CI setup would be even more appreciated ;)
show more ...
|
#
cc23fcfc |
| 21-Dec-2020 |
Nikita Popov |
PDO Firebird: Fix uninitialized var warning |