Check pqntuples > 0 in getValue. Fixes #12973 (#12974)

This commit is contained in:
Chris Heller 2019-12-29 08:41:18 -08:00 • committed by Andreas Rumpf
commit 8d1a7db6ea

View file

@ -441,8 +441,12 @@ proc getValue*(db: DbConn, query: SqlQuery,
## executes the query and returns the first column of the first row of the ## executes the query and returns the first column of the first row of the
## result dataset. Returns "" if the dataset contains no rows or the database ## result dataset. Returns "" if the dataset contains no rows or the database
## value is NULL. ## value is NULL.
var x = pqgetvalue(setupQuery(db, query, args), 0, 0) var res = setupQuery(db, query, args)
if pqntuples(res) > 0:
var x = pqgetvalue(res, 0, 0)
result = if isNil(x): "" else: $x result = if isNil(x): "" else: $x
else:
result = ""
proc getValue*(db: DbConn, stmtName: SqlPrepared, proc getValue*(db: DbConn, stmtName: SqlPrepared,
args: varargs[string, `$`]): string {. args: varargs[string, `$`]): string {.
@ -450,8 +454,12 @@ proc getValue*(db: DbConn, stmtName: SqlPrepared,
## executes the query and returns the first column of the first row of the ## executes the query and returns the first column of the first row of the
## result dataset. Returns "" if the dataset contains no rows or the database ## result dataset. Returns "" if the dataset contains no rows or the database
## value is NULL. ## value is NULL.
var x = pqgetvalue(setupQuery(db, stmtName, args), 0, 0) var res = setupQuery(db, stmtName, args)
if pqntuples(res) > 0:
var x = pqgetvalue(res, 0, 0)
result = if isNil(x): "" else: $x result = if isNil(x): "" else: $x
else:
result = ""
proc tryInsertID*(db: DbConn, query: SqlQuery, proc tryInsertID*(db: DbConn, query: SqlQuery,
args: varargs[string, `$`]): int64 {. args: varargs[string, `$`]): int64 {.