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