Fix #11393 - improve error message when trying to use a lateral join column in a table function that does not support it #11436
+42
−10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #11393
DuckDB has two types of table functions - table in-out functions and "standard" table functions. Standard table functions are more flexible/versatile and support e.g. parallel execution, but must operate on constant input parameters. Currently, when trying to use a lateral join column with such a function, the column is interpreted as a varchar instead which provides a confusing error message. In this PR, we try to bind such columns using the lateral join binder, and if we find a matching candidate we throw a more descriptive error message.
For example, after this PR: