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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list