-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
LIMIT
s are incorrectly pushed through FULL OUTER
Joins
To Reproduce
COPY (values (1), (2), (3), (4), (5)) TO '/tmp/t1.csv' STORED AS CSV;
-- store t2 in different order so the top N rows are not the same as the top N rows of t1
COPY (values (5), (4), (3), (2), (1)) TO '/tmp/t2.csv' STORED AS CSV;
statement ok
create external table t1(a int) stored as CSV location '/tmp/t1.csv';
statement ok
create external table t2(b int) stored as CSV location '/tmp/t2.csv';
-- FULL join produces 5 rows (all have matches)
select * from t1 FULL JOIN t2 ON t1.a = t2.b;
/*
+---+---+
| a | b |
+---+---+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
+---+---+
*/
-- the output of this query should be two rows from the previous query, there
-- should be no nulls
select * from t1 FULL JOIN t2 ON t1.a = t2.b LIMIT 2;
/*
+------+------+
| a | b |
+------+------+
| 1 | NULL |
| NULL | 4 |
+------+------+
*/
Expected behavior
Any two rows from
+---+---+
| a | b |
+---+---+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
+---+---+
There should be no nulls introduced
Additional context
Found while working with @zhuqi-lucas on:
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working