1
0
forked from GitHub/gf-core

bugfix in libsg

This commit is contained in:
krasimir
2016-05-22 09:19:54 +00:00
parent db65ebb584
commit eb47b52e16

View File

@@ -1841,7 +1841,7 @@ sg_query_triple(SgSG *sg, SgTriple triple, GuExn* err)
rc = open_exprs(sg, 0, false, &tres->ectxt, err);
if (rc != SQLITE_OK)
goto close;
goto close1;
for (int i = 0; i < 3; i++) {
if (gu_variant_is_null(triple[i]))
@@ -1850,9 +1850,10 @@ sg_query_triple(SgSG *sg, SgTriple triple, GuExn* err)
tres->i.mem[i].flags = MEM_Int;
rc = store_expr(sg, &tres->ectxt, triple[i], &tres->i.mem[i].u.i, 0);
if (rc != SQLITE_OK)
goto close;
goto close1;
if (tres->i.mem[i].u.i == 0) {
tres->i.res = 1;
tres->i.tctxt.n_cursors = 0; // this is important since the triples are not initialized yet
return tres;
}
}
@@ -1866,8 +1867,9 @@ sg_query_triple(SgSG *sg, SgTriple triple, GuExn* err)
return tres;
close:
close_exprs(&tres->ectxt);
close_triples(&tres->i.tctxt);
close1:
close_exprs(&tres->ectxt);
if (sg->autoCommit) {
sqlite3BtreeRollback(sg->pBtree, SQLITE_ABORT_ROLLBACK, 0);