diff options
Diffstat (limited to 'ext/pdo/pdo_dbh.c')
-rwxr-xr-x | ext/pdo/pdo_dbh.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c index bb1f5bcfe..ac124370b 100755 --- a/ext/pdo/pdo_dbh.c +++ b/ext/pdo/pdo_dbh.c @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_dbh.c 293036 2010-01-03 09:23:27Z sebastian $ */ +/* $Id: pdo_dbh.c 300464 2010-06-15 11:13:20Z iliaa $ */ /* The PDO Database Handle Class */ @@ -683,6 +683,21 @@ 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; + + RETURN_LONG(dbh->in_txn); +} +/* }}} */ + static int pdo_dbh_attribute_set(pdo_dbh_t *dbh, long attr, zval *value TSRMLS_DC) /* {{{ */ { @@ -851,6 +866,7 @@ static PHP_METHOD(PDO, setAttribute) RETURN_FALSE; } + PDO_DBH_CLEAR_ERR(); PDO_CONSTRUCT_CHECK; if (pdo_dbh_attribute_set(dbh, attr, value TSRMLS_CC) != FAILURE) { @@ -1245,6 +1261,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) |