We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UNNEST
UNNEST is implemented in two ways, SELECT UNNEST(...) is handled with other functions
SELECT UNNEST(...)
datafusion/datafusion/sql/src/expr/function.rs
Lines 246 to 255 in 84232d8
And SELECT ... FROM UNNEST(...) is provided as TableFactory
SELECT ... FROM UNNEST(...)
TableFactory
datafusion/datafusion/sql/src/relation/mod.rs
Lines 117 to 123 in 84232d8
But those two ways are both non-generic, cases like substrait can't handle it properly, as the decoder will try to look for table function:
async fn roundtrip_unnest() -> Result<()> { roundtrip("SELECT * FROM unnest([1, 2, 3])").await }
Implement UNNEST as a table function, making it more general and reduce the complexity (and branches) of implementation
No response
The text was updated successfully, but these errors were encountered:
That's a great proposal; I plan to try it.
Sorry, something went wrong.
Thank you @jonahgao 🚀
jonahgao
No branches or pull requests
Is your feature request related to a problem or challenge?
UNNEST
is implemented in two ways,SELECT UNNEST(...)
is handled with other functionsdatafusion/datafusion/sql/src/expr/function.rs
Lines 246 to 255 in 84232d8
And
SELECT ... FROM UNNEST(...)
is provided asTableFactory
datafusion/datafusion/sql/src/relation/mod.rs
Lines 117 to 123 in 84232d8
But those two ways are both non-generic, cases like substrait can't handle it properly, as the decoder will try to look for table function:
Describe the solution you'd like
Implement
UNNEST
as a table function, making it more general and reduce the complexity (and branches) of implementationDescribe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: