diff options
-rw-r--r-- | src/interfaces/odbc/execute.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/interfaces/odbc/execute.c b/src/interfaces/odbc/execute.c index fd82e0df718..3f3549c89fd 100644 --- a/src/interfaces/odbc/execute.c +++ b/src/interfaces/odbc/execute.c @@ -157,6 +157,13 @@ static char *func = "SQLExecDirect"; mylog("**** %s: hstmt=%u, statement='%s'\n", func, hstmt, stmt->statement); stmt->prepare = FALSE; + + // If an SQLPrepare was performed prior to this, but was left in + // the premature state because an error occurred prior to SQLExecute + // then set the statement to finished so it can be recycled. + if ( stmt->status == STMT_PREMATURE ) + stmt->status = STMT_FINISHED; + stmt->statement_type = statement_type(stmt->statement); // Check if connection is onlyread (only selects are allowed) |