diff options
author | Ilia Alshanetsky <iliaa@php.net> | 2010-06-10 12:11:19 +0000 |
---|---|---|
committer | Ilia Alshanetsky <iliaa@php.net> | 2010-06-10 12:11:19 +0000 |
commit | 6ed1819bf4faaee1ef3650d59089c66181b1f8ba (patch) | |
tree | 73589a320ed398465b0e6d7507a64ce9680a965a /ext/pdo | |
parent | 743a2e29c1d876a500f6a175b4767545fde69f7c (diff) | |
download | php-git-6ed1819bf4faaee1ef3650d59089c66181b1f8ba.tar.gz |
Added inTransaction() method to PDO, with specialized support for Postgres
Diffstat (limited to 'ext/pdo')
-rwxr-xr-x | ext/pdo/pdo_dbh.c | 20 | ||||
-rwxr-xr-x | ext/pdo/php_pdo_driver.h | 1 |
2 files changed, 21 insertions, 0 deletions
diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c index 1573290420..f50df54d48 100755 --- a/ext/pdo/pdo_dbh.c +++ b/ext/pdo/pdo_dbh.c @@ -683,6 +683,25 @@ static PHP_METHOD(PDO, rollBack) } /* }}} */ +/* {{{ proto bool PDO::inTransaction() + determine if inside a transaction */ +static PHP_METHOD(PDO, inTransaction) +{ + pdo_dbh_t *dbh = zend_object_store_get_object(getThis() TSRMLS_CC); + + if (zend_parse_parameters_none() == FAILURE) { + return; + } + PDO_CONSTRUCT_CHECK; + + if (!dbh->methods->in_transaction) { + RETURN_BOOL(dbh->in_txn); + } + + RETURN_LONG(dbh->methods->in_transaction(dbh TSRMLS_CC)); +} +/* }}} */ + static int pdo_dbh_attribute_set(pdo_dbh_t *dbh, long attr, zval *value TSRMLS_DC) /* {{{ */ { @@ -1246,6 +1265,7 @@ const zend_function_entry pdo_dbh_functions[] = { PHP_ME(PDO, beginTransaction, arginfo_pdo__void, ZEND_ACC_PUBLIC) PHP_ME(PDO, commit, arginfo_pdo__void, ZEND_ACC_PUBLIC) PHP_ME(PDO, rollBack, arginfo_pdo__void, ZEND_ACC_PUBLIC) + PHP_ME(PDO, inTransaction, arginfo_pdo__void, ZEND_ACC_PUBLIC) PHP_ME(PDO, setAttribute, arginfo_pdo_setattribute, ZEND_ACC_PUBLIC) PHP_ME(PDO, exec, arginfo_pdo_exec, ZEND_ACC_PUBLIC) PHP_ME(PDO, query, NULL, ZEND_ACC_PUBLIC) diff --git a/ext/pdo/php_pdo_driver.h b/ext/pdo/php_pdo_driver.h index a9396c5a26..92280063c3 100755 --- a/ext/pdo/php_pdo_driver.h +++ b/ext/pdo/php_pdo_driver.h @@ -310,6 +310,7 @@ struct pdo_dbh_methods { pdo_dbh_check_liveness_func check_liveness; pdo_dbh_get_driver_methods_func get_driver_methods; pdo_dbh_request_shutdown persistent_shutdown; + pdo_dbh_txn_func in_transaction; }; /* }}} */ |