aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/odbc/execute.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/odbc/execute.c')
-rw-r--r--src/interfaces/odbc/execute.c7
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)