PDO transaction isolation level and firebird

[email protected] ("Vjacheslav V. Borisov") Tue, 17 Sep 2013 22:25:05 +0400
Newsgroups php.pdo
Message-ID <[email protected]>
Hi!

Does any body interested in development of pdo_firebird extension?
A long time ago in a galaxy far, far away Ard Biesheuvel committed to pdo
http://marc.info/?l=pecl-cvs&m=108730900103295
code to manage transaction params
This block is disabled by #if abies_0, there is also no constants 
defined  it uses.
I want to realise this functional and have some questions, how should i 
do it.

1) There is hard, but may be usable in future by other drivers way
PDO class should have functions like in Java 
(http://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html):
setReadonly/getReadonly (set/get read-only mode as a hint to the driver 
to enable database optimizations.)

setTransactionIsolation/getTransactionIsolation (set/get transaction 
isolation level 
TRANSACTION_READ_UNCOMMITTED/TRANSACTION_READ_COMMITTED/TRANSACTION_REPEATABLE_READ/TRANSACTION_SERIALIZABLE

setConflictResolution/getConflictResolution 
(PDO_TRANS_RETRY/PDO_TRANS_ABORT) - there is no java equivalent, don't 
know how to name it

2) Or, istead of writing new  functions,  should I use 
setAttribute/getAttribute ?
In this case where should I define constants  in pdo or in pdo_firebird 
extension?

3) Or, istead of cross-driver constants should I define constans like 
interbase etension does:
         /* transaction access mode */
         PHP_IBASE_WRITE                         = 1,
         PHP_IBASE_READ                          = 2,
         /* transaction isolation level */
         PHP_IBASE_CONCURRENCY           = 4,
         PHP_IBASE_COMMITTED             = 8,
           PHP_IBASE_REC_NO_VERSION      = 32,
           PHP_IBASE_REC_VERSION         = 64,
         PHP_IBASE_CONSISTENCY           = 16,
         /* transaction lock resolution */
         PHP_IBASE_WAIT                          = 128,
         PHP_IBASE_NOWAIT                        = 256