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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list