aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeapi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vdbeapi.c')
-rw-r--r--src/vdbeapi.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/vdbeapi.c b/src/vdbeapi.c
index 682d9a63e..56388fd71 100644
--- a/src/vdbeapi.c
+++ b/src/vdbeapi.c
@@ -168,6 +168,10 @@ int sqlite3_step(sqlite3_stmt *pStmt){
p->rc = SQLITE_MISUSE;
return SQLITE_MISUSE;
}
+ if( p->pc<0 ){
+ db->activeVdbeCnt++;
+ p->pc = 0;
+ }
if( p->explain ){
rc = sqlite3VdbeList(p);
}else{
@@ -378,7 +382,7 @@ const void *sqlite3_column_decltype16(sqlite3_stmt *pStmt, int N){
*/
static int vdbeUnbind(Vdbe *p, int i){
Mem *pVar;
- if( p->magic!=VDBE_MAGIC_RUN || p->pc!=0 ){
+ if( p->magic!=VDBE_MAGIC_RUN || p->pc>=0 ){
sqlite3Error(p->db, SQLITE_MISUSE, 0);
return SQLITE_MISUSE;
}