You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Andrew Lamb (Jira)" <ji...@apache.org> on 2021/01/21 12:44:00 UTC

[jira] [Resolved] (ARROW-11323) [Rust][DataFusion] ComputeError("concat requires input of at least one array")) with queries with ORDER BY or GROUP BY that return no

     [ https://issues.apache.org/jira/browse/ARROW-11323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Lamb resolved ARROW-11323.
---------------------------------
    Fix Version/s: 4.0.0
       Resolution: Fixed

Issue resolved by pull request 9275
[https://github.com/apache/arrow/pull/9275]

> [Rust][DataFusion] ComputeError("concat requires input of at least one array")) with queries with ORDER BY or GROUP BY that return no 
> --------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ARROW-11323
>                 URL: https://issues.apache.org/jira/browse/ARROW-11323
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: Rust - DataFusion
>            Reporter: Andrew Lamb
>            Assignee: Andrew Lamb
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 4.0.0
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> 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
> {code}
>     #[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(())
>     }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)