Changeset: 277f127d27fe for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=277f127d27fe
Modified Files:
sql/backends/monet5/rel_bin.c
Branch: in-value-list
Log Message:
Only do order if an intersect is performed.
diffs (28 lines):
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -352,7 +352,7 @@ handle_in_exps(backend *be, sql_exp *ce,
s = distinct_value_list(be, nl, &last_null_value);
s = stmt_project(be, stmt_selectnonil(be, s, NULL), s); // The
actual in-value-list should not contain null values.
- s = stmt_join(be, c, s, in, cmp_equal);
+ s = stmt_join(be, c, s, in, cmp_left);
s = stmt_result(be, s, 0);
if (!in) {
@@ -383,12 +383,11 @@ handle_in_exps(backend *be, sql_exp *ce,
// TODO: check if stmt_tinter should safely allow a
null value for sel
oid_intersection = stmt_tinter(be, s, sel);
s = stmt_project(be, oid_intersection, s);
+ s = stmt_order(be, s, 1, 0); // ordering is potentially
only necessary if an intersect is performed.
+ s = stmt_result(be, s, 0);
}
- // Need to order this because the output of join is not
necessarily an ordered cl.
- // This is relevant for instance when this is passed to a
mergecand operation.
- s = stmt_order(be, s, 1, 0);
- s = stmt_result(be, s, 0);
+ // s = stmt_set_key(be, s);
}
return s;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list