Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
If you run a SQL query in datafusion which has predicates that produces no rows that also includes a GROUP BY or ORDER BY clause, you get the following error:
Error of "ArrowError(ComputeError("concat requires input of at least one array"))"
Here are two test cases that show the problem: https://github.com/apache/arrow/blob/master/rust/datafusion/src/execution/context.rs#L889
#[tokio::test] async fn sort_empty() -> Result<()> { // The predicate on this query purposely generates no results let results = execute("SELECT c1, c2 FROM test WHERE c1 > 100000 ORDER BY c1 DESC, c2 ASC", 4).await?; assert_eq!(results.len(), 0); Ok(()) } #[tokio::test] async fn aggregate_empty() -> Result<()> { // The predicate on this query purposely generates no results let results = execute("SELECT SUM(c1), SUM(c2) FROM test where c1 > 100000", 4).await?; assert_eq!(results.len(), 0); Ok(()) }
Attachments
Issue Links
- links to