Changeset: 32994a503e4d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/32994a503e4d Modified Files: sql/storage/bat/bat_table.c Branch: Jul2021 Log Message:
Small optimization, don't produce right join output if not used. Small cleanup diffs (111 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 @@ -565,14 +565,13 @@ rids_empty(rids *r ) static rids * rids_join(sql_trans *tr, rids *l, sql_column *lc, rids *r, sql_column *rc) { - BAT *lcb, *rcb, *s = NULL, *d = NULL; + BAT *lcb, *rcb, *s = NULL; gdk_return ret; lcb = full_column(tr, lc); rcb = full_column(tr, rc); - ret = BATjoin(&s, &d, lcb, rcb, l->data, r->data, false, BATcount(lcb)); + ret = BATjoin(&s, NULL, lcb, rcb, l->data, r->data, false, BATcount(lcb)); bat_destroy(l->data); - bat_destroy(d); if (ret != GDK_SUCCEED) { l->data = NULL; } else { @@ -588,29 +587,26 @@ subrids_create(sql_trans *tr, rids *t1, { /* join t1.rc with lc order by obc */ subrids *r; - BAT *lcb, *rcb, *s, *obb, *d = NULL, *o, *g, *ids, *rids = NULL; + BAT *lcb, *rcb, *s, *obb, *o, *g, *ids, *rids = NULL; gdk_return ret; lcb = full_column(tr, lc); rcb = full_column(tr, rc); s = delta_cands(tr, lc->t); if (lcb == NULL || rcb == NULL || s == NULL) { - if (lcb) - bat_destroy(lcb); - if (rcb) - bat_destroy(rcb); + bat_destroy(lcb); + bat_destroy(rcb); bat_destroy(s); return NULL; } - ret = BATjoin(&rids, &d, lcb, rcb, s, t1->data, false, BATcount(lcb)); + ret = BATjoin(&rids, NULL, lcb, rcb, s, t1->data, false, BATcount(lcb)); bat_destroy(s); bat_destroy(rcb); if (ret != GDK_SUCCEED) { bat_destroy(lcb); return NULL; } - bat_destroy(d); s = BATproject(rids, lcb); bat_destroy(lcb); @@ -671,8 +667,6 @@ subrids_create(sql_trans *tr, rids *t1, bat_destroy(rids); return NULL; } - r->id = 0; - r->pos = 0; r->ids = ids; r->rids = rids; return r; @@ -706,10 +700,8 @@ subrids_nextid(subrids *r) static void subrids_destroy(subrids *r ) { - if (r->ids) - bat_destroy(r->ids); - if (r->rids) - bat_destroy(r->rids); + bat_destroy(r->ids); + bat_destroy(r->rids); _DELETE(r); } @@ -717,15 +709,13 @@ subrids_destroy(subrids *r ) static rids * rids_diff(sql_trans *tr, rids *l, sql_column *lc, subrids *r, sql_column *rc ) { - BAT *lcb = full_column(tr, lc), *s, *d, *rids, *diff; + BAT *lcb = full_column(tr, lc), *s, *rids, *diff; BAT *rcb = full_column(tr, rc); gdk_return ret; if (lcb == NULL || rcb == NULL) { - if (lcb) - bat_destroy(lcb); - if (rcb) - bat_destroy(rcb); + bat_destroy(lcb); + bat_destroy(rcb); return NULL; } s = BATproject(r->rids, rcb); @@ -751,14 +741,13 @@ rids_diff(sql_trans *tr, rids *l, sql_co return NULL; } - ret = BATjoin(&rids, &d, lcb, s, NULL, diff, false, BATcount(s)); + ret = BATjoin(&rids, NULL, lcb, s, NULL, diff, false, BATcount(s)); bat_destroy(diff); bat_destroy(lcb); bat_destroy(s); if (ret != GDK_SUCCEED) return NULL; - bat_destroy(d); bat_destroy(l->data); l->data = rids; return l; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list