Edit report at https://bugs.php.net/bug.php?id=63105&edit=1

 ID:                 63105
 Comment by:         ssuffic...@php.net
 Reported by:        mar...@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] mar...@php.net

Discussion on firebird php list 


http://tech.groups.yahoo.com/group/firebird-php/message/3758

------------------------------------------------------------------------
[2012-09-18 07:18:47] mar...@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

Reply via email to