Changeset: 903f521dab6f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/903f521dab6f Branch: pushcands Log Message:
merged diffs (36 lines): diff --git a/sql/backends/monet5/sql_rank.c b/sql/backends/monet5/sql_rank.c --- a/sql/backends/monet5/sql_rank.c +++ b/sql/backends/monet5/sql_rank.c @@ -48,12 +48,12 @@ SQLdiff(Client cntxt, MalBlkPtr mb, MalS gdk_return gdk_code = GDK_SUCCEED; res = getArgReference_bat(stk, pci, 0); - if ((!(b = BATdescriptor(*getArgReference_bat(stk, pci, 1))))) { - msg = createException(SQL, "sql.diff", SQLSTATE(HY005) "Cannot access column descriptor"); - goto bailout; - } if (pci->argc > 2) { if (isaBatType(getArgType(mb, pci, 2))) { + if ((!(b = BATdescriptor(*getArgReference_bat(stk, pci, 1))))) { + msg = createException(SQL, "sql.diff", SQLSTATE(HY005) "Cannot access column descriptor"); + goto bailout; + } if (!(r = COLnew(b->hseqbase, TYPE_bit, BATcount(b), TRANSIENT))) { msg = createException(SQL, "sql.diff", SQLSTATE(HY013) MAL_MALLOC_FAIL); goto bailout; @@ -66,10 +66,14 @@ SQLdiff(Client cntxt, MalBlkPtr mb, MalS gdk_code = GDKanalyticaldiff(r, b, c, NULL, b->ttype); } else { /* the input is a constant, so the output is the previous sql.diff output */ assert(b->ttype == TYPE_bit); - BBPkeepref(*res = b->batCacheid); + BBPretain(*res = *getArgReference_bat(stk, pci, 1)); return MAL_SUCCEED; } } else { + if ((!(b = BATdescriptor(*getArgReference_bat(stk, pci, 1))))) { + msg = createException(SQL, "sql.diff", SQLSTATE(HY005) "Cannot access column descriptor"); + goto bailout; + } if (!(r = COLnew(b->hseqbase, TYPE_bit, BATcount(b), TRANSIENT))) { msg = createException(SQL, "sql.diff", SQLSTATE(HY013) MAL_MALLOC_FAIL); goto bailout; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list