Re: MonetDB: Dec2016 - fix for bug 6310, ie properly use the left pa...
That's quick. I am using Jul2017 for testing sqlsmith please roll forward and I'll hunt for the next one. FYI on rocks006 /export/scratch1/home/mk/ssmonetdb you find the current output of ?160K queries (still running) grep ERROR output|sort -u gives the list that triggers the one I found. There are a few more to be investigated (after grocery shopping), e.g. ERROR = !Can not access column ERROR = !can not access index column ERROR = !Can not create object ERROR = !exist operator on type clob missing ERROR = !exist operator on type int missing ERROR = !exist operator on type varchar missing ERROR = !Illegal argument ERROR = !Object not found On 13/05/2017 11:00, Niels Nes wrote:
Changeset: fea5dccda850 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fea5dccda850 Modified Files: sql/server/rel_select.c Branch: Dec2016 Log Message:
fix for bug 6310, ie properly use the left part of a lateral join, when the left part isn't used in the right part.
diffs (29 lines):
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -4902,7 +4902,7 @@ rel_query(mvc *sql, sql_rel *rel, symbol sql_rel *fnd = NULL;
for (n = fl->h; n ; n = n->next) { - int lateral = check_is_lateral(n->data.sym); + int lateral = check_is_lateral(n->data.sym), lateral_used = 0;
fnd = table_ref(sql, NULL, n->data.sym, 0); if (!fnd && (rel || lateral) && sql->session->status != -ERR_AMBIGUOUS) { @@ -4926,6 +4926,7 @@ rel_query(mvc *sql, sql_rel *rel, symbol fnd = table_ref(sql, res, n->data.sym, lateral); if (fnd && is_project(fnd->op)) fnd->exps = list_merge(fnd->exps, pre_exps, (fdup)NULL); + lateral_used = 1; } else { fnd = table_ref(sql, rel, n->data.sym, 0); } @@ -4934,7 +4935,7 @@ rel_query(mvc *sql, sql_rel *rel, symbol
if (!fnd) break; - if (res && !lateral) + if (res && !lateral_used) res = rel_crossproduct(sql->sa, res, fnd, op_join); else res = fnd; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
participants (1)
-
Martin Kersten