summaryrefslogtreecommitdiff
path: root/ext/pdo_oci
diff options
context:
space:
mode:
authorWez Furlong <wez@php.net>2004-05-21 15:25:22 +0000
committerWez Furlong <wez@php.net>2004-05-21 15:25:22 +0000
commit5e408e4ee91820daa99735a95fb09306afd2b2bf (patch)
treeb2fc3e5312bf76d6ba7df72c3cbe4fc4e1499002 /ext/pdo_oci
parent42bc9637b230b2d633f7291f3f65d7bde0eb65dc (diff)
downloadphp-git-5e408e4ee91820daa99735a95fb09306afd2b2bf.tar.gz
Fix setAttribute for oci.
Fix some compiler warnings
Diffstat (limited to 'ext/pdo_oci')
-rwxr-xr-xext/pdo_oci/oci_driver.c34
1 files changed, 19 insertions, 15 deletions
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 = {