Changeset: 07d638d6680a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=07d638d6680a
Modified Files:
sql/server/rel_optimizer.c
Branch: Jul2015
Log Message:
Avoid crash.
CREATE TABLE foo (startdate DATE, enddate DATE);
CREATE TABLE bar (id INTEGER);
SELECT COUNT(*)
FROM foo AS A
INNER JOIN foo AS B
ON (
(B.startdate = B.enddate
AND (B.startdate = A.startdate OR B.startdate = A.enddate)
) OR (
A.startdate < B.enddate AND A.enddate > B.startdate
)
)
WHERE EXISTS (
SELECT TRUE
FROM bar
WHERE A.startdate > '2010-10-01'
)
AND A.startdate >= B.startdate;
diffs (12 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
@@ -3511,7 +3511,7 @@ rel_push_select_down(int *changes, mvc *
ne = exp_push_down_prj(sql, e, r, pl);
/* can we move it down */
- if (ne && ne != e) {
+ if (ne && ne != e && pl->exps) {
rel_select_add_exp(sql->sa, pl, ne);
(*changes)++;
} else {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list