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