Changeset: b84ffc6d252e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b84ffc6d252e Modified Files: sql/test/UserDump/Tests/create.SQL.py Branch: mtest Log Message:
Merge with default branch. diffs (197 lines): diff --git a/gdk/gdk_project.c b/gdk/gdk_project.c --- a/gdk/gdk_project.c +++ b/gdk/gdk_project.c @@ -346,7 +346,8 @@ project_str(BAT *restrict l, struct cand oid o = canditer_next(ci); if (o < r1seq || o >= r2end) { GDKerror("does not match always\n"); - return GDK_FAIL; + BBPreclaim(bn); + return NULL; } if (o < r1end) { r = r1; @@ -392,7 +393,8 @@ project_str(BAT *restrict l, struct cand oid o = l->tseqbase + lo; if (o < r1seq || o >= r2end) { GDKerror("does not match always\n"); - return GDK_FAIL; + BBPreclaim(bn); + return NULL; } if (o < r1end) { r = r1; @@ -439,7 +441,8 @@ project_str(BAT *restrict l, struct cand oid o = ot[lo]; if (o < r1seq || o >= r2end) { GDKerror("does not match always\n"); - return GDK_FAIL; + BBPreclaim(bn); + return NULL; } if (o < r1end) { r = r1; 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 @@ -5199,9 +5199,12 @@ rel_table_exp(sql_query *query, sql_rel } if (project->op == op_project && project->l && project == *rel && !tname && !rel_is_ref(project) && !need_distinct(project) && single_exp) { - rel_remove_internal_exp(*rel); - exps = project->exps; - *rel = project->l; + sql_rel *l = project->l; + if (!l || !is_project(l->op) || list_length(project->exps) == list_length(l->exps)) { + rel_remove_internal_exp(*rel); + exps = project->exps; + *rel = project->l; + } } if ((exps || (exps = rel_table_projections(sql, project, tname, 0)) != NULL) && !list_empty(exps)) { if (groupby) { diff --git a/sql/test/BugTracker-2015/Tests/schema-trigger.Bug-3710.sql b/sql/test/BugTracker-2015/Tests/schema-trigger.Bug-3710.sql --- a/sql/test/BugTracker-2015/Tests/schema-trigger.Bug-3710.sql +++ b/sql/test/BugTracker-2015/Tests/schema-trigger.Bug-3710.sql @@ -2,7 +2,7 @@ create schema marketdata; create table marketdata.quotes (i integer); -CREATE TRIGGER marketdata.calc_sdate BEFORE INSERT ON marketdata.quotes +CREATE TRIGGER calc_sdate BEFORE INSERT ON marketdata.quotes FOR EACH ROW BEGIN ATOMIC -- select * from marketdata.quotes limit 1; diff --git a/sql/test/BugTracker-2016/Tests/merge_project.Bug-3955.stable.out b/sql/test/BugTracker-2016/Tests/merge_project.Bug-3955.stable.out --- a/sql/test/BugTracker-2016/Tests/merge_project.Bug-3955.stable.out +++ b/sql/test/BugTracker-2016/Tests/merge_project.Bug-3955.stable.out @@ -59,26 +59,28 @@ stdout of test 'merge_project.Bug-3955` % .plan # table_name % rel # name % clob # type -% 105 # length +% 107 # length project ( -| crossproduct ( -| | table(sys.v) [ "v"."a1", "v"."a2" ] COUNT , -| | project ( -| | | crossproduct ( -| | | | project ( -| | | | | select ( -| | | | | | table(sys.input_double) [ "input_double"."a1", "input_double"."a2" ] COUNT -| | | | | ) [ "input_double"."a1" = clob "latitude" ] -| | | | ) [ "input_double"."a2" as "tmp_2"."a2" ], -| | | | project ( -| | | | | select ( -| | | | | | table(sys.input_double) [ "input_double"."a1", "input_double"."a2" ] COUNT -| | | | | ) [ "input_double"."a1" = clob "longitude" ] -| | | | ) [ "input_double"."a2" as "tmp_3"."a2" ] -| | | ) [ ] -| | ) [ sys.st_point("tmp_2"."a2" as "tmp"."a1", "tmp_3"."a2" as "tmp"."a2") as "p"."a1" ] -| ) [ ] -) [ "v"."a1" as "r"."a1", sys.st_distance("v"."a2" as "tmp"."a2", "p"."a1" as "tmp"."a3") as "r"."prob" ] +| project ( +| | crossproduct ( +| | | table(sys.v) [ "v"."a1", "v"."a2" ] COUNT , +| | | project ( +| | | | crossproduct ( +| | | | | project ( +| | | | | | select ( +| | | | | | | table(sys.input_double) [ "input_double"."a1", "input_double"."a2" ] COUNT +| | | | | | ) [ "input_double"."a1" = clob "latitude" ] +| | | | | ) [ "input_double"."a2" as "tmp_2"."a2" ], +| | | | | project ( +| | | | | | select ( +| | | | | | | table(sys.input_double) [ "input_double"."a1", "input_double"."a2" ] COUNT +| | | | | | ) [ "input_double"."a1" = clob "longitude" ] +| | | | | ) [ "input_double"."a2" as "tmp_3"."a2" ] +| | | | ) [ ] +| | | ) [ sys.st_point("tmp_2"."a2" as "tmp"."a1", "tmp_3"."a2" as "tmp"."a2") as "p"."a1" ] +| | ) [ ] +| ) [ "v"."a1" as "r"."a1", sys.st_distance("v"."a2" as "tmp"."a2", "p"."a1" as "tmp"."a3") as "r"."prob" ] +) [ "r"."a1", "r"."prob" ] # 14:00:10 > # 14:00:10 > "Done." diff --git a/sql/test/BugTracker-2020/Tests/view_with_aggr_column.Bug-7023.stable.err b/sql/test/BugTracker-2020/Tests/view_with_aggr_column.Bug-7023.stable.err --- a/sql/test/BugTracker-2020/Tests/view_with_aggr_column.Bug-7023.stable.err +++ b/sql/test/BugTracker-2020/Tests/view_with_aggr_column.Bug-7023.stable.err @@ -5,12 +5,8 @@ stderr of test 'view_with_aggr_column.Bu # 15:22:56 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-177928" "--port=37553" # 15:22:56 > -MAPI = (monetdb) /var/tmp/mtest-177928/.s.monetdb.37553 -QUERY = select * from v1; - -CODE = 42000 -# 15:22:56 > -# 15:22:56 > "Done." -# 15:22:56 > +# 16:13:27 > +# 16:13:27 > "Done." +# 16:13:27 > diff --git a/sql/test/BugTracker-2020/Tests/view_with_aggr_column.Bug-7023.stable.out b/sql/test/BugTracker-2020/Tests/view_with_aggr_column.Bug-7023.stable.out --- a/sql/test/BugTracker-2020/Tests/view_with_aggr_column.Bug-7023.stable.out +++ b/sql/test/BugTracker-2020/Tests/view_with_aggr_column.Bug-7023.stable.out @@ -14,7 +14,7 @@ stdout of test 'view_with_aggr_column.Bu % 1 # length #create view v1 as select max(k) from tst group by name; #select * from v1; -% sys.%1 # table_name +% sys.v1 # table_name % %1 # name % int # type % 1 # length diff --git a/sql/test/UserDump/Tests/create.SQL.py b/sql/test/UserDump/Tests/create.SQL.py --- a/sql/test/UserDump/Tests/create.SQL.py +++ b/sql/test/UserDump/Tests/create.SQL.py @@ -41,8 +41,8 @@ with SQLTestCase() as tc: id int ); create trigger a after insert on foo insert into a values (1); - create trigger test.x after insert on foo insert into a values (1); - create trigger "test"."z" after insert on "foo" insert into a values (1); + create trigger x after insert on foo insert into a values (1); + create trigger "z" after insert on "foo" insert into a values (1); """, client="mclient").assertSucceeded() diff --git a/sql/test/UserDump/Tests/create.stable.out b/sql/test/UserDump/Tests/create.stable.out --- a/sql/test/UserDump/Tests/create.stable.out +++ b/sql/test/UserDump/Tests/create.stable.out @@ -54,8 +54,8 @@ CREATE TABLE "test"."a" ( "id" INTEGER ); create trigger a after insert on foo insert into a values (1); -create trigger test.x after insert on foo insert into a values (1); -create trigger "test"."z" after insert on "foo" insert into a values (1); +create trigger x after insert on foo insert into a values (1); +create trigger "z" after insert on "foo" insert into a values (1); SET SCHEMA "sys"; COMMIT; START TRANSACTION; @@ -85,8 +85,8 @@ CREATE TABLE "test"."a" ( "id" INTEGER ); create trigger a after insert on foo insert into a values (1); -create trigger test.x after insert on foo insert into a values (1); -create trigger "test"."z" after insert on "foo" insert into a values (1); +create trigger x after insert on foo insert into a values (1); +create trigger "z" after insert on "foo" insert into a values (1); COMMIT; # 13:57:13 > diff --git a/sql/test/rename/Tests/rename08.sql b/sql/test/rename/Tests/rename08.sql --- a/sql/test/rename/Tests/rename08.sql +++ b/sql/test/rename/Tests/rename08.sql @@ -14,7 +14,7 @@ select "ii"."type" from "sys"."idxs" "ii insert into "newtables"."t1" values (4, default); select "a", "b" from "newtables"."t1"; -create trigger "newtables"."tr1" after insert on "newtables"."t1" insert into "newtables"."t1" values (5, default); +create trigger "tr1" after insert on "newtables"."t1" insert into "newtables"."t1" values (5, default); alter table "newtables"."t1" set schema "oldtables"; --error, dependency on trigger drop schema "oldtables" cascade; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list