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