Unexpected system abort when computing cartesian product
When computing the cartesian product of two tables, the system unexpectedly aborts. (Q1) The same happens for Q3-Q5. On the other hand, the result of Q2 is computed correctly.
Database state:
CREATE DATABASE D;
USE D;
CREATE TABLE R (r BOOL);
CREATE TABLE S (s BOOL);
INSERT INTO R VALUES (TRUE),(FALSE),(NULL);
INSERT INTO S VALUES (TRUE),(FALSE),(NULL);
Q1: SELECT * FROM R,S; -- abort
Q2: SELECT * FROM R,S WHERE r AND s; -- works
Q3: SELECT * FROM R,S WHERE r OR s; -- abort
Q4: SELECT * FROM R,S WHERE ISNULL(r OR s); -- abort
Q5: SELECT * FROM R,S WHERE ISNULL(r AND s); -- abort
Command to reprodruce:
echo 'CREATE DATABASE D; USE D; CREATE TABLE R (r BOOL); CREATE TABLE S (s BOOL); INSERT INTO R VALUES (TRUE),(FALSE),(NULL); INSERT INTO S VALUES (TRUE),(FALSE),(NULL); SELECT * FROM R,S;' | build/debug_shared/bin/shell --plan-enumerator PEall
Edited by Tobias Kopp