Changeset: 0fe74d9d674a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0fe74d9d674a
Modified Files:
clients/odbc/driver/SQLExecute.c
clients/odbc/driver/SQLPrepare.c
Branch: Dec2011
Log Message:
ODBC: Fix problems with SQLPrepare/SQLExecute.
The way to recognize whether a result from PREPARERESULT describes a
parameter or a result needed to be improved; and the internal
consistency check in SQLExecute was not correct for resultless queries.
diffs (24 lines):
diff --git a/clients/odbc/driver/SQLExecute.c b/clients/odbc/driver/SQLExecute.c
--- a/clients/odbc/driver/SQLExecute.c
+++ b/clients/odbc/driver/SQLExecute.c
@@ -392,7 +392,7 @@ SQLExecute_(ODBCStmt *stmt)
}
/* internal state correctness checks */
- assert(stmt->ImplRowDescr->descRec != NULL);
+ assert(stmt->State == PREPARED0 || stmt->State == EXECUTED0 ||
stmt->ImplRowDescr->descRec != NULL);
assert(stmt->Dbc);
assert(stmt->Dbc->mid);
diff --git a/clients/odbc/driver/SQLPrepare.c b/clients/odbc/driver/SQLPrepare.c
--- a/clients/odbc/driver/SQLPrepare.c
+++ b/clients/odbc/driver/SQLPrepare.c
@@ -133,7 +133,7 @@ SQLPrepare_(ODBCStmt *stmt,
mapi_fetch_row(hdl);
s = mapi_fetch_field(hdl, 5); /* column name: null -> param */
- if (s == NULL) {
+ if (s == NULL || *s == 0) {
stmt->nparams++;
rec = prec++;
rec->sql_desc_nullable = SQL_NULLABLE;
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list