Changeset: a7477a152716 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/a7477a152716 Modified Files: sql/scripts/81_tracer.sql sql/server/rel_select.c Branch: Jan2022 Log Message:
I am going to revert the change at 0118d1b927c7 I have no clear idea how to fix the crashing query diffs (44 lines): diff --git a/sql/scripts/81_tracer.sql b/sql/scripts/81_tracer.sql --- a/sql/scripts/81_tracer.sql +++ b/sql/scripts/81_tracer.sql @@ -56,3 +56,7 @@ GRANT EXECUTE ON FUNCTION logging.compin CREATE view logging.compinfo AS SELECT * FROM logging.compinfo(); GRANT SELECT ON logging.compinfo TO public; + +create or replace procedure sys.dict_compress(sname string, tname string, cname string) external name "dict"."compress"; +create or replace procedure sys.dict_compress(sname string, tname string, cname string, ordered_values bool) external name "dict"."compress"; +create or replace procedure sys.for_compress(sname string, tname string, cname string) external name "for"."compress"; 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 @@ -1908,7 +1908,7 @@ rel_in_value_exp(sql_query *query, sql_r dnode *n = dl->h->next, *dn = NULL; sql_exp *le = NULL, *re, *e = NULL; list *ll = sa_list(sql->sa); - int is_tuple = 0; + int is_tuple = 0, add_select = 0; /* complex case */ if (dl->h->type == type_list) { /* (a,b..) in (.. ) */ @@ -1958,6 +1958,7 @@ rel_in_value_exp(sql_query *query, sql_r re = exp_rel_label(sql, re); } else if (exp_is_rel(re)) { sql_rel *r = exp_rel_get_rel(sql->sa, re); + add_select = 1; if (is_project(r->op) && is_project_true(r->l) && list_length(r->exps) == 1) re = r->exps->h->data; } @@ -2023,8 +2024,11 @@ rel_in_value_exp(sql_query *query, sql_r return NULL; } } - if (!e) + if (!e) { + if (add_select && rel && *rel && !is_project((*rel)->op) && !is_select((*rel)->op)) + *rel = rel_select(sql->sa, *rel, NULL); e = exp_in_func(sql, le, values, (sc->token == SQL_IN), is_tuple); + } } return e; } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list