Changeset: a93be1cf54bf for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a93be1cf54bf
Modified Files:
sql/server/rel_optimizer.c
sql/test/SQLancer/Tests/sqlancer07.sql
sql/test/SQLancer/Tests/sqlancer07.stable.err
sql/test/SQLancer/Tests/sqlancer07.stable.err.int128
Branch: Oct2020
Log Message:
Be carefull with parameters
diffs (55 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
@@ -5759,7 +5759,7 @@ rel_groupby_order(visitor *v, sql_rel *r
if (ngbe - i > 1) {
for (int j = i; j < ngbe; j++) {
sql_subtype *t = exp_subtype(exps[j]);
- scores[j] = t->digits;
+ scores[j] = t ? t->digits : 0;
}
/* the less number of digits the better, order
ascending */
GDKqsort(scores + i, exps + i, NULL, ngbe - i,
sizeof(int), sizeof(void *), TYPE_int, false, true);
diff --git a/sql/test/SQLancer/Tests/sqlancer07.sql
b/sql/test/SQLancer/Tests/sqlancer07.sql
--- a/sql/test/SQLancer/Tests/sqlancer07.sql
+++ b/sql/test/SQLancer/Tests/sqlancer07.sql
@@ -329,3 +329,7 @@ prepare select case when true then false
ROLLBACK;
prepare values (0.34, (values ((select ? from (select 1) as t1(x))))), (3, 2);
+
+prepare with cte0(c0) as (select 1), cte1(c0,c1,c2) as (select distinct 1, 2,
false)
+select distinct least('y', (values (''), (''))), 1, (select ? from (select 1)
as l1v0(x))
+from cte0 as l0cte0, cte1 as l0cte1 order by l0cte0.c0 desc nulls last,
l0cte1.c2 desc nulls first; -- ? can't be defined, so error
diff --git a/sql/test/SQLancer/Tests/sqlancer07.stable.err
b/sql/test/SQLancer/Tests/sqlancer07.stable.err
--- a/sql/test/SQLancer/Tests/sqlancer07.stable.err
+++ b/sql/test/SQLancer/Tests/sqlancer07.stable.err
@@ -56,6 +56,12 @@ MAPI = (monetdb) /var/tmp/mtest-20193/.
QUERY = PREPARE SELECT (1 + CAST(l0t0.c0 AS BIGINT)) * scale_up(?, 2) FROM
(select 1) AS l0t0(c0);
ERROR = !SELECT: no such binary operator 'sql_mul(bigint,month_interval)'
CODE = 42000
+MAPI = (monetdb) /var/tmp/mtest-363257/.s.monetdb.38983
+QUERY = prepare with cte0(c0) as (select 1), cte1(c0,c1,c2) as (select
distinct 1, 2, false)
+ select distinct least('y', (values (''), (''))), 1, (select ? from
(select 1) as l1v0(x))
+ from cte0 as l0cte0, cte1 as l0cte1 order by l0cte0.c0 desc nulls
last, l0cte1.c2 desc nulls first; -- ? can't be defined, so error
+ERROR = !Could not determine type for argument number 1
+CODE = 42000
# 10:16:14 >
# 10:16:14 > "Done."
diff --git a/sql/test/SQLancer/Tests/sqlancer07.stable.err.int128
b/sql/test/SQLancer/Tests/sqlancer07.stable.err.int128
--- a/sql/test/SQLancer/Tests/sqlancer07.stable.err.int128
+++ b/sql/test/SQLancer/Tests/sqlancer07.stable.err.int128
@@ -56,6 +56,12 @@ MAPI = (monetdb) /var/tmp/mtest-14251/.
QUERY = PREPARE SELECT DISTINCT ((((CAST(l0t0.c0 AS INT))-(CAST(? AS
BIGINT))))*(scale_up(?, ((-438139776)*(-813129345))))) FROM (select 1) AS
l0t0(c0);
ERROR = !SELECT: no such binary operator 'sql_mul(hugeint,day_interval)'
CODE = 42000
+MAPI = (monetdb) /var/tmp/mtest-363257/.s.monetdb.38983
+QUERY = prepare with cte0(c0) as (select 1), cte1(c0,c1,c2) as (select
distinct 1, 2, false)
+ select distinct least('y', (values (''), (''))), 1, (select ? from
(select 1) as l1v0(x))
+ from cte0 as l0cte0, cte1 as l0cte1 order by l0cte0.c0 desc nulls
last, l0cte1.c2 desc nulls first; -- ? can't be defined, so error
+ERROR = !Could not determine type for argument number 1
+CODE = 42000
# 10:16:14 >
# 10:16:14 > "Done."
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list