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
parent 441cacf70f
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
## result dataset. Returns "" if the dataset contains no rows or the database
## value is NULL.
var x = pqgetvalue(setupQuery(db, query, args), 0, 0)
result = if isNil(x): "" else: $x
var res = setupQuery(db, query, args)
if pqntuples(res) > 0:
var x = pqgetvalue(res, 0, 0)
result = if isNil(x): "" else: $x
else:
result = ""
proc getValue*(db: DbConn, stmtName: SqlPrepared,
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
## result dataset. Returns "" if the dataset contains no rows or the database
## value is NULL.
var x = pqgetvalue(setupQuery(db, stmtName, args), 0, 0)
result = if isNil(x): "" else: $x
var res = setupQuery(db, stmtName, args)
if pqntuples(res) > 0:
var x = pqgetvalue(res, 0, 0)
result = if isNil(x): "" else: $x
else:
result = ""
proc tryInsertID*(db: DbConn, query: SqlQuery,
args: varargs[string, `$`]): int64 {.