Changeset: 15fd6459231c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=15fd6459231c
Modified Files:
monetdb5/modules/kernel/algebra.c
Branch: default
Log Message:
Generalize join stub for all two-result cases returning a single result.
diffs (30 lines):
diff --git a/monetdb5/modules/kernel/algebra.c
b/monetdb5/modules/kernel/algebra.c
--- a/monetdb5/modules/kernel/algebra.c
+++ b/monetdb5/modules/kernel/algebra.c
@@ -438,7 +438,7 @@ do_join(bat *r1, bat *r2, const bat *lid
assert(rangefunc == NULL);
assert(difffunc == NULL);
assert(interfunc == NULL);
- if ((*thetafunc)(&result1, &result2, left, right, candleft,
candright, op, *nil_matches, est) != GDK_SUCCEED)
+ if ((*thetafunc)(&result1, r2 ? &result2 : NULL, left, right,
candleft, candright, op, *nil_matches, est) != GDK_SUCCEED)
goto fail;
} else if (joinfunc) {
assert(bandfunc == NULL);
@@ -452,7 +452,7 @@ do_join(bat *r1, bat *r2, const bat *lid
assert(rangefunc == NULL);
assert(difffunc == NULL);
assert(interfunc == NULL);
- if ((*bandfunc)(&result1, &result2, left, right, candleft,
candright, c1, c2, li, hi, est) != GDK_SUCCEED)
+ if ((*bandfunc)(&result1, r2 ? &result2 : NULL, left, right,
candleft, candright, c1, c2, li, hi, est) != GDK_SUCCEED)
goto fail;
} else if (rangefunc) {
assert(difffunc == NULL);
@@ -461,7 +461,7 @@ do_join(bat *r1, bat *r2, const bat *lid
err = SQLSTATE(HY002) RUNTIME_OBJECT_MISSING;
goto fail;
}
- if ((*rangefunc)(&result1, &result2, left, right, right2,
candleft, candright, li, hi, est) != GDK_SUCCEED)
+ if ((*rangefunc)(&result1, r2 ? &result2 : NULL, left, right,
right2, candleft, candright, li, hi, est) != GDK_SUCCEED)
goto fail;
BBPunfix(right2->batCacheid);
} else if (difffunc) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list