This is an automated email from the ASF dual-hosted git repository.

alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion.git


The following commit(s) were added to refs/heads/main by this push:
     new 49d9d45f36 Add some zero column tests covering LIMIT, GROUP BY, WHERE, 
JOIN, and WINDOW (#11624)
49d9d45f36 is described below

commit 49d9d45f36989cd448ed6513af65948b6b0100ec
Author: kf zheng <[email protected]>
AuthorDate: Thu Jul 25 16:53:05 2024 +0800

    Add some zero column tests covering LIMIT, GROUP BY, WHERE, JOIN, and 
WINDOW (#11624)
    
    * add zero column tests covering LIMIT, GROUP BY, WHERE, JOIN, and WINDOW
    
    * change from statement to query to be explicit about no rows
    
    * Revert "change from statement to query to be explicit about no rows"
    
    This reverts commit fd381fca5e9d80f62062c41c4326e4cbe50b2129.
    
    ---------
    
    Co-authored-by: Andrew Lamb <[email protected]>
---
 datafusion/sqllogictest/test_files/select.slt | 57 +++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/datafusion/sqllogictest/test_files/select.slt 
b/datafusion/sqllogictest/test_files/select.slt
index 6884efc07e..a5f31cb9b4 100644
--- a/datafusion/sqllogictest/test_files/select.slt
+++ b/datafusion/sqllogictest/test_files/select.slt
@@ -1225,6 +1225,63 @@ statement ok
 SELECT * EXCEPT(a, b, c, d)
 FROM table1
 
+# try zero column with LIMIT, 1 row but empty
+statement ok
+SELECT * EXCEPT (a, b, c, d)
+FROM table1
+LIMIT 1
+
+# try zero column with GROUP BY, 2 row but empty
+statement ok
+SELECT * EXCEPT (a, b, c, d)
+FROM table1
+GROUP BY a
+
+# try zero column with WHERE, 1 row but empty
+statement ok
+SELECT * EXCEPT (a, b, c, d)
+FROM table1
+WHERE a = 1
+
+# create table2 the same with table1
+statement ok
+CREATE TABLE table2 (
+  a int,
+  b int,
+  c int,
+  d int
+) as values
+  (1, 10, 100, 1000),
+  (2, 20, 200, 2000);
+
+# try zero column with inner JOIN, 2 row but empty
+statement ok
+WITH t1 AS (SELECT a AS t1_a FROM table1), t2 AS (SELECT a AS t2_a FROM table2)
+SELECT * EXCEPT (t1_a, t2_a)
+FROM t1
+JOIN t2 ON (t1_a = t2_a)
+
+# try zero column with more JOIN, 2 row but empty
+statement ok
+SELECT * EXCEPT (b1, b2)
+FROM (
+  SELECT b AS b1 FROM table1
+)
+JOIN (
+  SELECT b AS b2 FROM table2
+) ON b1 = b2
+
+# try zero column with Window, 2 row but empty
+statement ok
+SELECT * EXCEPT (a, b, row_num)
+FROM (
+    SELECT
+        a,
+        b,
+        ROW_NUMBER() OVER (ORDER BY b) AS row_num
+    FROM table1
+)
+
 # EXCLUDE order shouldn't matter
 query II
 SELECT * EXCLUDE(b, a)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to