Changeset: a9b1470c96fd for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a9b1470c96fd
Modified Files:
        sql/server/rel_optimizer.c
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
Branch: default
Log Message:

Merged with Jun2020


diffs (74 lines):

diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c
--- a/sql/server/rel_optimizer.c
+++ b/sql/server/rel_optimizer.c
@@ -3764,7 +3764,7 @@ rel_project_cse(mvc *sql, sql_rel *rel, 
                                for (m=nexps->h; m; m = m->next){
                                        sql_exp *e2 = m->data;
                                
-                                       if (exp_name(e2) && exp_match_exp(e1, 
e2) && exps_bind_column2(nexps, exp_relname(e1), exp_name(e1)) == e1) {
+                                       if (exp_name(e2) && exp_match_exp(e1, 
e2) && (e1->type != e_column || exps_bind_column2(nexps, exp_relname(e1), 
exp_name(e1)) == e1)) {
                                                sql_exp *ne = 
exp_alias(sql->sa, exp_relname(e1), exp_name(e1), exp_relname(e2), 
exp_name(e2), exp_subtype(e2), e2->card, has_nil(e2), is_intern(e1));
 
                                                ne = exp_propagate(sql->sa, ne, 
e1);
diff --git a/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out 
b/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
--- a/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
+++ b/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
@@ -29,11 +29,11 @@ stdout of test 'crash_on_alias.Bug-2798`
 % .plan # table_name
 % rel # name
 % clob # type
-% 114 # length
+% 103 # length
 project (
 | group by (
 | | table(sys.dbg) [ "dbg"."a", "dbg"."b" ] COUNT 
-| ) [ "dbg"."a" as "d" ] [ "d", sys.sum no nil ("dbg"."b") as "%1"."%1", 
sys.sum no nil ("dbg"."b") as "%2"."%2" ]
+| ) [ "dbg"."a" as "d" ] [ "d", sys.sum no nil ("dbg"."b") as "%1"."%1", 
"%1"."%1" as "%2"."%2" ]
 ) [ "d", "%1"."%1", sys.sql_mul(sys.sql_div("%2"."%2", tinyint "2" as 
"%3"."%3"), tinyint "2") as "f" ]
 #set optimizer = 'sequential_pipe';
 #set optimizer = 'default_pipe';
@@ -53,11 +53,11 @@ project (
 % .plan # table_name
 % rel # name
 % clob # type
-% 114 # length
+% 110 # length
 project (
 | group by (
 | | table(sys.dbg) [ "dbg"."a", "dbg"."b" ] COUNT 
-| ) [ "dbg"."a" as "d" ] [ "d", sys.sum no nil ("dbg"."b") as "%1"."%1", 
sys.sum no nil ("dbg"."b") as "%2"."%2" ]
+| ) [ "dbg"."a" as "d" ] [ "d", sys.sum no nil ("dbg"."b") as "%1"."%1", 
"%1"."%1" as "%2"."%2" ]
 ) [ "d", "%1"."%1" as "e", sys.sql_mul(sys.sql_div("%2"."%2", tinyint "2" as 
"%3"."%3"), tinyint "2") as "f" ]
 #set optimizer = 'sequential_pipe';
 #set optimizer = 'default_pipe';
diff --git 
a/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128 
b/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
--- a/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
+++ b/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
@@ -29,11 +29,11 @@ stdout of test 'crash_on_alias.Bug-2798`
 % .plan # table_name
 % rel # name
 % clob # type
-% 114 # length
+% 103 # length
 project (
 | group by (
 | | table(sys.dbg) [ "dbg"."a", "dbg"."b" ] COUNT 
-| ) [ "dbg"."a" as "d" ] [ "d", sys.sum no nil ("dbg"."b") as "%1"."%1", 
sys.sum no nil ("dbg"."b") as "%2"."%2" ]
+| ) [ "dbg"."a" as "d" ] [ "d", sys.sum no nil ("dbg"."b") as "%1"."%1", 
"%1"."%1" as "%2"."%2" ]
 ) [ "d", "%1"."%1", sys.sql_mul(sys.sql_div("%2"."%2", tinyint "2" as 
"%3"."%3"), tinyint "2") as "f" ]
 #set optimizer = 'sequential_pipe';
 #set optimizer = 'default_pipe';
@@ -53,11 +53,11 @@ project (
 % .plan # table_name
 % rel # name
 % clob # type
-% 114 # length
+% 110 # length
 project (
 | group by (
 | | table(sys.dbg) [ "dbg"."a", "dbg"."b" ] COUNT 
-| ) [ "dbg"."a" as "d" ] [ "d", sys.sum no nil ("dbg"."b") as "%1"."%1", 
sys.sum no nil ("dbg"."b") as "%2"."%2" ]
+| ) [ "dbg"."a" as "d" ] [ "d", sys.sum no nil ("dbg"."b") as "%1"."%1", 
"%1"."%1" as "%2"."%2" ]
 ) [ "d", "%1"."%1" as "e", sys.sql_mul(sys.sql_div("%2"."%2", tinyint "2" as 
"%3"."%3"), tinyint "2") as "f" ]
 #set optimizer = 'sequential_pipe';
 #set optimizer = 'default_pipe';
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to