History log of /PHP-8.4/ext/pdo_firebird/firebird_driver.c (Results 1 – 25 of 143)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# b21d2ca9 28-Sep-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix bogus fallthrough path in firebird_handle_get_attribute(), again

This reapplies b8e9c5ba6a after it was accidentally removed via
225034dbbc.


# eb3e7a2c 27-Aug-2024 Simonov Denis

ext/pdo_firebird: Fixed GH-15604 Always make input parameters nullable (#15605)

Fixes #15604
Closes #15605


# 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 ...


# 00e45887 09-Jul-2024 Simonov Denis

PDO_Firebird: Supported Firebird 4.0 datatypes (#14897)

Five new data types are now available: INT128, DEC16, DEC34, TIMESTAMP_TZ, TIME_TZ.
These are available starting with Firebird 4.0

PDO_Firebird: Supported Firebird 4.0 datatypes (#14897)

Five new data types are now available: INT128, DEC16, DEC34, TIMESTAMP_TZ, TIME_TZ.
These are available starting with Firebird 4.0.

closes #14897

show more ...


# b8e9c5ba 22-Jul-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix bogus fallthrough path in firebird_handle_get_attribute()

If getting the version fails, we should return -1 according to
php_pdo_driver.h:259, not fall through to another attribute.

Fix bogus fallthrough path in firebird_handle_get_attribute()

If getting the version fails, we should return -1 according to
php_pdo_driver.h:259, not fall through to another attribute.

Closes GH-15066.

show more ...


# f4391d4d 22-Jul-2024 Saki Takamachi <34942839+SakiTakamachi@users.noreply.github.com>

Fixed segmentation fault when attribute value was not set (#15065)


# c550d341 18-Jul-2024 Saki Takamachi <34942839+SakiTakamachi@users.noreply.github.com>

ext/pdo_firebird: Added getApiVersion() and removed from getAttribute (#15004)


# 4cb82b03 17-Jul-2024 Saki Takamachi <34942839+SakiTakamachi@users.noreply.github.com>

ext/pdo_firebird: Do not implement new constants in PDO core (#14995)


# d55ef3f3 17-Jul-2024 Saki Takamachi

ext/pdo_firebird: Added Pdo\Firebird::ATTR_API_VERSION (#14916)

closes #14916


# 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 ...


# 715b9aaa 23-Apr-2024 Matteo Beccati

Implemented PDO Driver specific SQL parsers

RFC: http://wiki.php.net/rfc/pdo_driver_specific_parsers


# 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 ...


# fc14f17a 10-Apr-2024 Saki Takamachi

remove ZWSP


# 5dfb2d95 20-Dec-2023 Saki Takamachi <34942839+SakiTakamachi@users.noreply.github.com>

[pdo_firebird] Added pdo_firebird_check_liveness handler (#12757)


# 834cb644 07-Dec-2023 Saki Takamachi <34942839+SakiTakamachi@users.noreply.github.com>

Feature: ext/pdo_firebird: Add transaction isolation level and mode settings (#12815)

* Added transaction isolation level and access mode

* Raise a ValueError if an invalid value i

Feature: ext/pdo_firebird: Add transaction isolation level and mode settings (#12815)

* Added transaction isolation level and access mode

* Raise a ValueError if an invalid value is passed to PDO::FB_TRANSACTION_ISOLATION_LEVEL.

show more ...


# 866aa12b 04-Dec-2023 Saki Takamachi <34942839+SakiTakamachi@users.noreply.github.com>

ext/pdo: Fixed PDO::setAttribute() and PDO::getAttribute() (#12793)


# 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 ...


# 04f8c1bd 22-Nov-2023 SakiTakamachi

Optimized error handling


# 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


# 9d5f2f13 20-Mar-2023 Ilija Tovilo

Use new ZSTR_INIT_LITERAL macro (#10879)


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, php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3, php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1, php-8.0.20, php-8.1.7, php-8.2.0alpha1, 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
# 067df263 24-Nov-2021 Dmitry Stogov

Use memrchr() when available

On x86_64 glibc memrchr() uses SSE/AVX CPU extensions and works much
faster then naive loop. On x86 32-bit we still use inlined version.

memrchr() i

Use memrchr() when available

On x86_64 glibc memrchr() uses SSE/AVX CPU extensions and works much
faster then naive loop. On x86 32-bit we still use inlined version.

memrchr() is a GNU extension. Its prototype becomes available when
<string.h> is included with defined _GNU_SOURCE macro. Previously, we
defined it in "php_config.h", but some sources may include <string.h>
befire it. To avod mess we also pass -D_GNU_SOURCE to C compiler.

show more ...


Revision tags: 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, 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
# 67afa325 29-Apr-2021 Christoph M. Becker

Fix #76448: Stack buffer overflow in firebird_info_cb

We ensure not to overflow the stack allocated buffer by using `strlcat`.


123456