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

Reply via email to