Changeset: d4434ac96dcc for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d4434ac96dcc
Modified Files:
sql/server/rel_dump.c
sql/test/SQLancer/Tests/sqlancer19.SQL.py
Branch: properties
Log Message:
In order to parse min/max values, set expression types early on if possible for
set relations in remote plans
diffs (36 lines):
diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c
--- a/sql/server/rel_dump.c
+++ b/sql/server/rel_dump.c
@@ -1653,7 +1653,8 @@ rel_set_types(mvc *sql, sql_rel *rel)
for(n=iexps->h, m=rel->exps->h; n && m; n = n->next, m = m->next) {
sql_exp *e = m->data;
- e->tpe = *exp_subtype( n->data );
+ if (!e->tpe.type)
+ e->tpe = *exp_subtype( n->data );
}
return 0;
}
@@ -2257,7 +2258,7 @@ rel_read(mvc *sql, char *r, int *pos, li
(*pos)++;
skipWS(r, pos);
- if (!(exps = read_exps(sql, NULL, NULL, NULL, r, pos, '[', 0,
1)))
+ if (!(exps = read_exps(sql, lrel, rrel, NULL, r, pos, '[', 0,
1)))
return NULL;
rel = rel_setop(sql->sa, lrel, rrel, j);
rel_setop_set_exps(sql, rel, exps, false);
diff --git a/sql/test/SQLancer/Tests/sqlancer19.SQL.py
b/sql/test/SQLancer/Tests/sqlancer19.SQL.py
--- a/sql/test/SQLancer/Tests/sqlancer19.SQL.py
+++ b/sql/test/SQLancer/Tests/sqlancer19.SQL.py
@@ -339,6 +339,10 @@ with SQLTestCase() as cli:
cli.execute("SELECT c1 FROM rt6;") \
.assertSucceeded().assertDataResultMatch([("3",),("8ጮk|1*",),("27",),("Vrx^qA齀",),("J",),("18",),(">*4嘁pAP",),("+Jm*W0{",),(">V鷓",),
("BW5z",),(".#OJruk",),("lU1覃Nlm",),(None,),("968786590",)])
+ cli.execute("(SELECT greatest(JSON '\"5mTevdOzH5brfkMv\"', JSON
'0.4'),CASE WHEN FALSE THEN NULL END, greatest(BLOB 'c0', BLOB '') FROM t3)
INTERSECT ALL (SELECT JSON '0.2', JSON '-3', BLOB '30' FROM t3);") \
+ .assertSucceeded().assertDataResultMatch([])
+ cli.execute("(SELECT greatest(JSON '\"5mTevdOzH5brfkMv\"', JSON
'0.4'),CASE WHEN FALSE THEN NULL END, greatest(BLOB 'c0', BLOB '') FROM rt3)
INTERSECT ALL (SELECT JSON '0.2', JSON '-3', BLOB '30' FROM rt3);") \
+ .assertSucceeded().assertDataResultMatch([])
cli.execute("ROLLBACK;")
cli.execute("""
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list