From: Wez Furlong Date: Fri, 21 May 2004 15:25:22 +0000 (+0000) Subject: Fix setAttribute for oci. X-Git-Tag: RELEASE_0_1~18 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5e408e4ee91820daa99735a95fb09306afd2b2bf;p=php Fix setAttribute for oci. Fix some compiler warnings --- diff --git a/ext/pdo_oci/oci_driver.c b/ext/pdo_oci/oci_driver.c index b81736e9e3..5d9fdeb26d 100755 --- a/ext/pdo_oci/oci_driver.c +++ b/ext/pdo_oci/oci_driver.c @@ -195,10 +195,10 @@ static int oci_handle_preparer(pdo_dbh_t *dbh, const char *sql, long sql_len, pd S->H = H; /* create an OCI statement handle */ - OCIHandleAlloc(H->env, &S->stmt, OCI_HTYPE_STMT, 0, NULL); + OCIHandleAlloc(H->env, (dvoid*)&S->stmt, OCI_HTYPE_STMT, 0, NULL); /* and our own private error handle */ - OCIHandleAlloc(H->env, &S->err, OCI_HTYPE_ERROR, 0, NULL); + OCIHandleAlloc(H->env, (dvoid*)&S->err, OCI_HTYPE_ERROR, 0, NULL); if (sql_len) { H->last_err = OCIStmtPrepare(S->stmt, H->err, (text*)sql, sql_len, OCI_NTV_SYNTAX, OCI_DEFAULT); @@ -226,7 +226,7 @@ static int oci_handle_doer(pdo_dbh_t *dbh, const char *sql, long sql_len TSRMLS_ ub4 rowcount; int ret = -1; - OCIHandleAlloc(H->env, &stmt, OCI_HTYPE_STMT, 0, NULL); + OCIHandleAlloc(H->env, (dvoid*)&stmt, OCI_HTYPE_STMT, 0, NULL); H->last_err = OCIStmtPrepare(stmt, H->err, (text*)sql, sql_len, OCI_NTV_SYNTAX, OCI_DEFAULT); if (H->last_err) { @@ -304,22 +304,26 @@ static int oci_handle_set_attribute(pdo_dbh_t *dbh, long attr, zval *val TSRMLS_ { pdo_oci_db_handle *H = (pdo_oci_db_handle *)dbh->driver_data; - if (dbh->in_txn) { - /* Assume they want to commit whatever is outstanding */ - H->last_err = OCITransCommit(H->svc, H->err, 0); + if (attr == PDO_ATTR_AUTOCOMMIT) { + if (dbh->in_txn) { + /* Assume they want to commit whatever is outstanding */ + H->last_err = OCITransCommit(H->svc, H->err, 0); - if (H->last_err) { - H->last_err = oci_drv_error("OCITransCommit"); - return 0; + if (H->last_err) { + H->last_err = oci_drv_error("OCITransCommit"); + return 0; + } + dbh->in_txn = 0; } - dbh->in_txn = 0; - } - - convert_to_long(val); - dbh->auto_commit = Z_LVAL_P(val); + convert_to_long(val); + + dbh->auto_commit = Z_LVAL_P(val); + return 1; + } else { + return 0; + } - return 1; } static struct pdo_dbh_methods oci_methods = {