Changeset: a923414323f0 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a923414323f0
Modified Files:
sql/storage/bat/bat_table.c
Branch: default
Log Message:
Check the result of BATjoin
or, gcc will refuse to compile
diffs (54 lines):
diff --git a/sql/storage/bat/bat_table.c b/sql/storage/bat/bat_table.c
--- a/sql/storage/bat/bat_table.c
+++ b/sql/storage/bat/bat_table.c
@@ -369,13 +369,18 @@ static rids *
rids_join(sql_trans *tr, rids *l, sql_column *lc, rids *r, sql_column *rc)
{
BAT *lcb, *rcb, *s = NULL, *d = NULL;
+ gdk_return ret;
lcb = full_column(tr, lc);
rcb = full_column(tr, rc);
- BATjoin(&s, &d, lcb, rcb, l->data, r->data, FALSE, BATcount(lcb));
+ ret = BATjoin(&s, &d, lcb, rcb, l->data, r->data, FALSE, BATcount(lcb));
bat_destroy(l->data);
bat_destroy(d);
- l->data = s;
+ if (ret != GDK_SUCCEED) {
+ l->data = NULL;
+ } else {
+ l->data = s;
+ }
full_destroy(lc, lcb);
full_destroy(rc, rcb);
return l;
@@ -516,6 +521,7 @@ rids_diff(sql_trans *tr, rids *l, sql_co
{
BAT *lcb = full_column(tr, lc), *s, *d, *rids, *diff;
BAT *rcb = full_column(tr, rc);
+ gdk_return ret;
s = BATproject(r->rids, rcb);
full_destroy(rc, rcb);
@@ -525,14 +531,19 @@ rids_diff(sql_trans *tr, rids *l, sql_co
diff = BATdiff(s, rcb, NULL, NULL, 0, BUN_NONE);
- BATjoin(&rids, &d, lcb, s, NULL, diff, FALSE, BATcount(s));
+ ret = BATjoin(&rids, &d, lcb, s, NULL, diff, FALSE, BATcount(s));
bat_destroy(diff);
bat_destroy(d);
full_destroy(lc, lcb);
bat_destroy(s);
bat_destroy(l->data);
- l->data = rids;
+ if (ret != GDK_SUCCEED) {
+ l->data = NULL;
+ }
+ else {
+ l->data = rids;
+ }
return l;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list