Req #63105 [Asn->Opn]: Default transanction isolation level in PHP for Firebird in php.ini

From: Date: Tue, 24 Oct 2017 06:45:52 +0000
Subject: Req #63105 [Asn->Opn]: 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-212020@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
 Updated by:         kalle@php.net
 Reported by:        mariuz@php.net
 Summary:            Default transanction isolation level in PHP for
                     Firebird in php.ini
-Status:             Assigned
+Status:             Open
 Type:               Feature/Change Request
 Package:            InterBase related
 Operating System:   All
 PHP Version:        Irrelevant
-Assigned To:        mariuz
+Assigned To:        
 Block user comment: N
 Private report:     N



Previous Comments:
------------------------------------------------------------------------
[2013-09-26 05:16:52] ssufficool@php.net

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.

------------------------------------------------------------------------
[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


Thread (6 messages)

« previous php.bugs (#212020) next »