Rui Wang created CALCITE-3788:
---------------------------------
Summary: SqlValidatorImpl.registerOperandSubQueries should skip
creating SCALAR_QUERY call when operand is a SqlSelect
Key: CALCITE-3788
URL: https://issues.apache.org/jira/browse/CALCITE-3788
Project: Calcite
Issue Type: Sub-task
Reporter: Rui Wang
Assignee: Rui Wang
For a table function which uses named argument for a TABLE parameter:
Select * From
TABLE(TUMBLE(
data => TABLE orders
...
)
The TABLE parameter will be wrapped by a SCALAR_QUERY call at this line:
https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java#L3067
However, it is wrong because TABLE paramter is not a query that returns a
scalar value.
It cannot be solved by overriding SqlOperator.argumentMustBeScalar because
named argument is a special operator that doesn't tied with other operators.
One possible resolution is also check if operand is SqlSelect at
SqlValidatorImpl.java#L3067.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)