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

Reply via email to