Changeset: bb7e14d6fc1e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/bb7e14d6fc1e Modified Files: sql/server/rel_dump.c sql/test/SQLancer/Tests/sqlancer19.SQL.py Branch: Jul2021 Log Message:
Propagate alias to the right expression diffs (39 lines): diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c --- a/sql/server/rel_dump.c +++ b/sql/server/rel_dump.c @@ -1399,8 +1399,8 @@ exp_read(mvc *sql, sql_rel *lrel, sql_re sql_exp *ne = exp_compare2(sql->sa, e->l, exp, e->r, compare2range(swap_compare((comp_type)f), e->flag), sym); if (is_anti(exp)) set_anti(ne); - if (exp_name(e)) /* propgate a possible alias already parsed */ - exp_prop_alias(sql->sa, exp, e); + if (exp_name(e)) /* propagate a possible alias already parsed */ + exp_prop_alias(sql->sa, ne, e); exp_setalias(e, NULL, NULL); exp = ne; } else { @@ -1409,8 +1409,8 @@ exp_read(mvc *sql, sql_rel *lrel, sql_re set_anti(ne); if (is_semantics(exp)) set_semantics(ne); - if (exp_name(e)) /* propgate a possible alias already parsed */ - exp_prop_alias(sql->sa, exp, e); + if (exp_name(e)) /* propagate a possible alias already parsed */ + exp_prop_alias(sql->sa, ne, e); exp_setalias(e, NULL, NULL); exp = ne; } diff --git a/sql/test/SQLancer/Tests/sqlancer19.SQL.py b/sql/test/SQLancer/Tests/sqlancer19.SQL.py --- a/sql/test/SQLancer/Tests/sqlancer19.SQL.py +++ b/sql/test/SQLancer/Tests/sqlancer19.SQL.py @@ -30,6 +30,10 @@ with SQLTestCase() as cli: cli.execute('SELECT c0 BETWEEN 10 AND 11 FROM rt3;').assertSucceeded().assertDataResultMatch([(False,),(False,),(False,),(False,),(False,),(False,)]) cli.execute('SELECT c0 > 10 as myt, 4 BETWEEN 4 AND 4, c0 = 10 as myp, c0 BETWEEN 1 AND 1 as myp2 FROM rt3 where rt3.c0 = 1;') \ .assertSucceeded().assertDataResultMatch([(False,True,False,True)]) + cli.execute('SELECT c0 BETWEEN 2 AND 5 AS myproj FROM rt3 ORDER BY myproj;') \ + .assertSucceeded().assertDataResultMatch([(False,),(False,),(True,),(True,),(True,),(True,)]) + cli.execute('SELECT c0 > 4 AS myproj FROM rt3 ORDER BY myproj;') \ + .assertSucceeded().assertDataResultMatch([(False,),(False,),(False,),(True,),(True,),(True,)]) cli.execute('MERGE INTO t0 USING (SELECT 1 FROM rt1) AS mergejoined(c0) ON TRUE WHEN NOT MATCHED THEN INSERT (c0) VALUES (INTERVAL \'5\' SECOND);') \ .assertSucceeded().assertRowCount(0) cli.execute("ROLLBACK;") _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list