|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #63105 Default transanction isolation level in PHP for Firebird in php.ini
Submitted: 2012-09-18 07:18 UTC Modified: 2021-03-31 11:36 UTC
Avg. Score:4.8 ± 0.4
Reproduced:4 of 4 (100.0%)
Same Version:2 (50.0%)
Same OS:3 (75.0%)
From: Assigned:
Status: Suspended Package: InterBase related
PHP Version: Irrelevant OS: All
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2012-09-18 07:18 UTC]
 If you start a new transaction (or if one is started internally, where you 
cannot change the isolation level) where you don’t explicitly specify isolation 
level the IBASE_DEFAULT is used. But this is 
IBASE_WRITE|IBASE_CONCURRENCY|IBASE_WAIT. This is read-write wait transaction in 
concurrency mode. This mode is most restrictive, nothing close to read committed. 
And to make it worse, there’s no way to change this default value in runtime. You 
can only do it recompiling sources, nothing to be viable in most cases.


php5-bug63105.patch (last revision 2013-09-25 04:47 UTC by slavb18 at gmail dot com)

Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2012-09-18 07:52 UTC]
Discussion on firebird php list
 [2012-11-23 13:24 UTC]
-Assigned To: +Assigned To: mariuz
 [2013-09-25 04:59 UTC] slavb18 at gmail dot com
$pdo->setAttribute(PDO::ATTR_READONLY, FALSE); // read-write transaction (Default)
$pdo->setAttribute(PDO::ATTR_READONLY, TRUE); // readonly transaction

$pdo->setAttribute(PDO::ATTR_TIMEOUT, 0); // no_wait
$pdo->setAttribute(PDO::ATTR_TIMEOUT, -1); // wait 
$pdo->setAttribute(PDO::ATTR_TIMEOUT, 4); // wait timeout 4 seconds

$pdo->setAttribute(PDO::FB_TRANS_ISOLATION_LEVEL, PDO::FB_TRANS_COMMITTED); //read committed (default)

 [2013-09-26 05:16 UTC]
If this option could apply to multiple database drivers, I would remove the FB_ 
prefix and translate to the driver specific implementations transparently. An 
abstraction should not be specific to an implementation. 

The driver could throw a catchable "not supported" PDOException if transaction 
isolation is not suported by the driver or the requested isolation level is not 
 [2017-10-24 06:45 UTC]
-Status: Assigned +Status: Open -Assigned To: mariuz +Assigned To:
 [2021-03-31 11:36 UTC]
-Status: Open +Status: Suspended
 [2021-03-31 11:36 UTC]
The interbase extension is moved to PECL[1] as of PHP 7.4.0, and
is looking for a new maintainer.  Until a new maintainer is found,
I suspend this ticket.

Consider to use the bundled PDO_Firebird extension, or the
php-firebird package[2] instead.

[1] <>
[2] <>
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Tue Oct 19 02:03:35 2021 UTC