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

Reply via email to