Req #63105 [Com]: Default transanction isolation level in PHP for Firebird in php.ini
| From: | ssufficool@php.net | Date: | Thu, 26 Sep 2013 05:16:52 +0000 |
| Subject: | Req #63105 [Com]: Default transanction isolation level in PHP for Firebird in php.ini | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-181781@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=63105&edit=1
ID: 63105
Comment by: ssufficool@php.net
Reported by: mariuz@php.net
Summary: Default transanction isolation level in PHP for
Firebird in php.ini
Status: Assigned
Type: Feature/Change Request
Package: InterBase related
Operating System: All
PHP Version: Irrelevant
Assigned To: mariuz
Block user comment: N
Private report: N
New Comment:
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
supported.
Previous Comments:
------------------------------------------------------------------------
[2013-09-25 04:59:36] slavb18 at gmail dot com
examples:
$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)
... etc FB_TRANS_COMMITTED_NO_REC_VERSION, FB_TRANS_CONCURRENCY, FB_TRANS_CONCURRENCY
------------------------------------------------------------------------
[2012-09-18 07:52:40] mariuz@php.net
Discussion on firebird php list
http://tech.groups.yahoo.com/group/firebird-php/message/3758
------------------------------------------------------------------------
[2012-09-18 07:18:47] mariuz@php.net
Description:
------------
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.
http://blog.cincura.net/233007-default-transanction-isolation-level-in-php-for-
firebird/
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=63105&edit=1