Changeset: 0eb68daa2257 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0eb68daa2257 Modified Files: sql/server/rel_optimizer.c sql/test/BugTracker-2019/Tests/merge-statement-aliases.Bug-6715.stable.err sql/test/BugTracker-2019/Tests/merge-statement-aliases.Bug-6715.stable.out sql/test/BugTracker-2019/Tests/view-too-few-rows.Bug-6736.stable.out Branch: default Log Message:
Merge with Apr2019 diffs (82 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 @@ -4133,7 +4133,7 @@ rel_is_join_on_pkey( sql_rel *rel ) sql_exp *e = je->l; sql_column *c = exp_find_column(rel, e, -2); - if (c && c->t->pkey && list_find(c->t->pkey->k.columns, c, cmp) != NULL) + if (c && c->t->p && c->t->pkey && list_find(c->t->pkey->k.columns, c, cmp) != NULL) return 1; } } diff --git a/sql/test/BugTracker-2019/Tests/merge-statement-aliases.Bug-6715.stable.err b/sql/test/BugTracker-2019/Tests/merge-statement-aliases.Bug-6715.stable.err --- a/sql/test/BugTracker-2019/Tests/merge-statement-aliases.Bug-6715.stable.err +++ b/sql/test/BugTracker-2019/Tests/merge-statement-aliases.Bug-6715.stable.err @@ -26,6 +26,28 @@ stderr of test 'merge-statement-aliases. # 10:27:55 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-18243" "--port=31635" # 10:27:55 > +MAPI = (monetdb) /var/tmp/mtest-25315/.s.monetdb.33017 +QUERY = MERGE INTO ProductTarget T USING ProductSource S ON S.ProductID = T.ProductID WHEN MATCHED THEN UPDATE SET T.Name = S.Name, ProductTarget.ProductNumber = S.ProductNumber, ProductTarget.Color = S.Color; +ERROR = !syntax error, unexpected '.', expecting '=' in: "merge into producttarget t using productsource s on s.productid = t.productid wh" +CODE = 42000 +MAPI = (monetdb) /var/tmp/mtest-25315/.s.monetdb.33017 +QUERY = MERGE INTO ProductTarget T USING ProductSource S ON S.ProductID = T.ProductID WHEN NOT MATCHED THEN INSERT (T.ProductID, ProductTarget.ProductNumber, ProductTarget.Color, T.Name) VALUES (S.ProductID, S.ProductNumber, S.Color, S.Name); +ERROR = !syntax error, unexpected '.', expecting ')' or ',' in: "merge into producttarget t using productsource s on s.productid = t.productid wh" +CODE = 42000 +MAPI = (monetdb) /var/tmp/mtest-25315/.s.monetdb.33017 +QUERY = MERGE INTO ProductTarget T USING ProductSource S ON S.ProductID = T.ProductID + WHEN MATCHED THEN UPDATE SET ProductTarget.Name = S.Name, ProductTarget.ProductNumber = S.ProductNumber, T.Color = S.Color + WHEN NOT MATCHED THEN INSERT (T.ProductID, ProductTarget.ProductNumber, ProductTarget.Color, T.Name) VALUES (ProductID, S.ProductNumber, S.Color, Name); +ERROR = !syntax error, unexpected '.', expecting '=' in: "merge into producttarget t using productsource s on s.productid = t.productid + ! w" +CODE = 42000 +MAPI = (monetdb) /var/tmp/mtest-25315/.s.monetdb.33017 +QUERY = MERGE INTO ProductTarget T USING ProductSource S ON T.ProductID = S.ProductID + WHEN MATCHED THEN UPDATE SET T.Name = S.Name, T.ProductNumber = ProductNumber, T.Color = Color + WHEN NOT MATCHED THEN INSERT (T.ProductID, T.ProductNumber, T.Color, T.Name) VALUES (ProductID, S.ProductNumber, S.Color, Name); +ERROR = !syntax error, unexpected '.', expecting '=' in: "merge into producttarget t using productsource s on t.productid = s.productid + ! w" +CODE = 42000 # 10:27:55 > # 10:27:55 > "Done." diff --git a/sql/test/BugTracker-2019/Tests/merge-statement-aliases.Bug-6715.stable.out b/sql/test/BugTracker-2019/Tests/merge-statement-aliases.Bug-6715.stable.out --- a/sql/test/BugTracker-2019/Tests/merge-statement-aliases.Bug-6715.stable.out +++ b/sql/test/BugTracker-2019/Tests/merge-statement-aliases.Bug-6715.stable.out @@ -26,22 +26,10 @@ stdout of test 'merge-statement-aliases. #CREATE TABLE ProductSource (ProductID SERIAL, Name VARCHAR(100) NOT NULL, ProductNumber BIGINT, Color VARCHAR(30) NOT NULL); #MERGE INTO ProductTarget T USING ProductSource S ON S.ProductID = T.ProductID WHEN MATCHED THEN UPDATE SET Name = S.Name; [ 0 ] -#MERGE INTO ProductTarget T USING ProductSource S ON S.ProductID = T.ProductID WHEN MATCHED THEN UPDATE SET T.Name = S.Name, ProductTarget.ProductNumber = S.ProductNumber, ProductTarget.Color = S.Color; -[ 0 ] -#MERGE INTO ProductTarget T USING ProductSource S ON S.ProductID = T.ProductID WHEN NOT MATCHED THEN INSERT (T.ProductID, ProductTarget.ProductNumber, ProductTarget.Color, T.Name) VALUES (S.ProductID, S.ProductNumber, S.Color, S.Name); -[ 0 ] #MERGE INTO ProductTarget T USING ProductSource S ON S.ProductID = T.ProductID # WHEN MATCHED THEN UPDATE SET Name = S.Name, ProductNumber = S.ProductNumber, Color = S.Color # WHEN NOT MATCHED THEN INSERT (ProductID, ProductNumber, Color, Name) VALUES (S.ProductID, S.ProductNumber, Color, Name); [ 0 ] -#MERGE INTO ProductTarget T USING ProductSource S ON S.ProductID = T.ProductID -# WHEN MATCHED THEN UPDATE SET ProductTarget.Name = S.Name, ProductTarget.ProductNumber = S.ProductNumber, T.Color = S.Color -# WHEN NOT MATCHED THEN INSERT (T.ProductID, ProductTarget.ProductNumber, ProductTarget.Color, T.Name) VALUES (ProductID, S.ProductNumber, S.Color, Name); -[ 0 ] -#MERGE INTO ProductTarget T USING ProductSource S ON T.ProductID = S.ProductID -# WHEN MATCHED THEN UPDATE SET T.Name = S.Name, T.ProductNumber = ProductNumber, T.Color = Color -# WHEN NOT MATCHED THEN INSERT (T.ProductID, T.ProductNumber, T.Color, T.Name) VALUES (ProductID, S.ProductNumber, S.Color, Name); -[ 0 ] #DROP TABLE ProductTarget; #DROP TABLE ProductSource; diff --git a/sql/test/BugTracker-2019/Tests/view-too-few-rows.Bug-6736.stable.out b/sql/test/BugTracker-2019/Tests/view-too-few-rows.Bug-6736.stable.out --- a/sql/test/BugTracker-2019/Tests/view-too-few-rows.Bug-6736.stable.out +++ b/sql/test/BugTracker-2019/Tests/view-too-few-rows.Bug-6736.stable.out @@ -298,7 +298,7 @@ Ready. #where "facts_costi"."periodo_id" = "dim_periodi"."id" #and "facts_costi"."classe_movimento_id" = "classi"."id" #and "classi"."id" = "bri_classi_gruppi_movimenti"."classe_movimento_id" -% dw_hospital.L72, dw_hospital.L74, dw_hospital.L77 # table_name +% .L72, .L74, .L77 # table_name % c0, c1, m0 # name % int, varchar, bigint # type % 4, 4, 1 # length _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list