diff options
author | itsumura-h <39766805+itsumura-h@users.noreply.github.com> | 2020-04-03 16:38:05 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-03 09:38:05 +0200 |
commit | 87e6b88f3bbb64898e30033da974fcef751375c4 (patch) | |
tree | bc7561cfb299d608232a60f28a70e049a08170c8 | |
parent | 93cd98dd143d45a31a7fd90ad8f0b3d3c4c7798f (diff) | |
download | Nim-87e6b88f3bbb64898e30033da974fcef751375c4.tar.gz |
fix #7241 (#13779)
finalize() should run in insert()
-rw-r--r-- | lib/impure/db_sqlite.nim | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/impure/db_sqlite.nim b/lib/impure/db_sqlite.nim index 74ba169aa..810638fb8 100644 --- a/lib/impure/db_sqlite.nim +++ b/lib/impure/db_sqlite.nim @@ -184,6 +184,9 @@ proc tryExec*(db: DbConn, query: SqlQuery, let x = step(stmt) if x in {SQLITE_DONE, SQLITE_ROW}: result = finalize(stmt) == SQLITE_OK + else: + discard finalize(stmt) + result = false proc exec*(db: DbConn, query: SqlQuery, args: varargs[string, `$`]) {. tags: [ReadDbEffect, WriteDbEffect].} = @@ -531,6 +534,8 @@ proc tryInsertID*(db: DbConn, query: SqlQuery, result = last_insert_rowid(db) if finalize(stmt) != SQLITE_OK: result = -1 + else: + discard finalize(stmt) proc insertID*(db: DbConn, query: SqlQuery, args: varargs[string, `$`]): int64 {.tags: [WriteDbEffect].} = |