diff options
author | Hénot David <henot@php.net> | 2000-07-17 23:57:36 +0000 |
---|---|---|
committer | Hénot David <henot@php.net> | 2000-07-17 23:57:36 +0000 |
commit | 63a31786b65c714c8a411707f305708dac296c4b (patch) | |
tree | 341b9f393e7685a7cc58cc27d49342332d7be03c /ext/ingres_ii/ii.c | |
parent | 00d67abd3080e440da6692c20a1edbdd4f4a7d16 (diff) | |
download | php-git-63a31786b65c714c8a411707f305708dac296c4b.tar.gz |
Added new function ii_autocommit()
Diffstat (limited to 'ext/ingres_ii/ii.c')
-rw-r--r-- | ext/ingres_ii/ii.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/ext/ingres_ii/ii.c b/ext/ingres_ii/ii.c index dbf42dcc95..cc67e75849 100644 --- a/ext/ingres_ii/ii.c +++ b/ext/ingres_ii/ii.c @@ -54,6 +54,7 @@ function_entry ii_functions[] = { PHP_FE(ii_fetch_object, NULL) PHP_FE(ii_rollback, NULL) PHP_FE(ii_commit, NULL) + PHP_FE(ii_autocommit, NULL) {NULL, NULL, NULL} /* Must be the last line in ii_functions[] */ }; @@ -1285,5 +1286,43 @@ PHP_FUNCTION(ii_commit) } /* }}} */ +/* {{{ proto bool ii_autocommit([resource link]) + Switch autocommit on or off */ +PHP_FUNCTION(ii_autocommit) +{ + zval **link; + int argc; + int link_id = -1; + II_LINK *ii_link; + IIAPI_AUTOPARM autoParm; + IILS_FETCH(); + + argc = ZEND_NUM_ARGS(); + if (argc > 1 || (argc && zend_get_parameters_ex(argc, &link) == FAILURE)){ + WRONG_PARAM_COUNT; + } + + if (argc == 0) { + link_id = IIG(default_link); + } + ZEND_FETCH_RESOURCE2(ii_link, II_LINK *, link, link_id, "Ingres II Link", le_ii_link, le_ii_plink); + + autoParm.ac_genParm.gp_callback = NULL; + autoParm.ac_genParm.gp_closure = NULL; + autoParm.ac_connHandle = ii_link->connHandle; + autoParm.ac_tranHandle = ii_link->tranHandle; + + IIapi_autocommit(&autoParm); + ii_sync(&(autoParm.ac_genParm)); + + if(ii_success(&(autoParm.ac_genParm))==II_FAIL) { + RETURN_FALSE; + } + + ii_link->tranHandle = autoParm.ac_tranHandle; + RETURN_TRUE; +} +/* }}} */ + #endif /* HAVE_II */ |