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

From: Date: Wed, 31 Mar 2021 11:36:57 +0000
Subject: Req #63105 [Opn->Sus]: 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-233089@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: cmb@php.net Reported by: mariuz@php.net Summary: Default transanction isolation level in PHP for Firebird in php.ini -Status: Open +Status: Suspended Type: Feature/Change Request Package: InterBase related Operating System: All PHP Version: Irrelevant Block user comment: N Private report: N New Comment: 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] <https://pecl.php.net/package/interbase> [2] <https://github.com/FirebirdSQL/php-firebird> 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

« previous php.bugs (#233089) next »