[jira] [Updated] (CALCITE-3788) SqlValidatorImpl.registerOperandSubQueries should skip creating SCALAR_QUERY call when operand is a SqlSelect and the SqlSelect does not return a scalar value

2020-02-12 Thread Rui Wang (Jira)


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

Rui Wang updated CALCITE-3788:
--
Description: 
For a table function which uses named argument for a TABLE parameter:

{code:sql}
Select * From
TABLE(TUMBLE(
   data =>  TABLE orders
   ...
)
{code}



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.




  was:
For a table function which uses named argument for a TABLE parameter:

{code:java}
Select * From
TABLE(TUMBLE(
   data =>  TABLE orders
   ...
)
{code}



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.





> SqlValidatorImpl.registerOperandSubQueries should skip creating SCALAR_QUERY 
> call when operand is a SqlSelect and the SqlSelect does not return a scalar 
> value
> --
>
> Key: CALCITE-3788
> URL: https://issues.apache.org/jira/browse/CALCITE-3788
> Project: Calcite
>  Issue Type: Sub-task
>Reporter: Rui Wang
>Priority: Major
>
> For a table function which uses named argument for a TABLE parameter:
> {code:sql}
> Select * From
> TABLE(TUMBLE(
>data =>  TABLE orders
>...
> )
> {code}
> 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)


[jira] [Updated] (CALCITE-3788) SqlValidatorImpl.registerOperandSubQueries should skip creating SCALAR_QUERY call when operand is a SqlSelect and the SqlSelect does not return a scalar value

2020-02-12 Thread Rui Wang (Jira)


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

Rui Wang updated CALCITE-3788:
--
Description: 
For a table function which uses named argument for a TABLE parameter:

{code:java}
Select * From
TABLE(TUMBLE(
   data =>  TABLE orders
   ...
)
{code}



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.




  was:
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.





> SqlValidatorImpl.registerOperandSubQueries should skip creating SCALAR_QUERY 
> call when operand is a SqlSelect and the SqlSelect does not return a scalar 
> value
> --
>
> Key: CALCITE-3788
> URL: https://issues.apache.org/jira/browse/CALCITE-3788
> Project: Calcite
>  Issue Type: Sub-task
>Reporter: Rui Wang
>Priority: Major
>
> For a table function which uses named argument for a TABLE parameter:
> {code:java}
> Select * From
> TABLE(TUMBLE(
>data =>  TABLE orders
>...
> )
> {code}
> 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)


[jira] [Updated] (CALCITE-3788) SqlValidatorImpl.registerOperandSubQueries should skip creating SCALAR_QUERY call when operand is a SqlSelect and the SqlSelect does not return a scalar value

2020-02-12 Thread Rui Wang (Jira)


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

Rui Wang updated CALCITE-3788:
--
Summary: SqlValidatorImpl.registerOperandSubQueries should skip creating 
SCALAR_QUERY call when operand is a SqlSelect and the SqlSelect does not return 
a scalar value  (was: SqlValidatorImpl.registerOperandSubQueries should skip 
creating SCALAR_QUERY call when operand is a SqlSelect and the SqlSelect does 
not returns a scalar value)

> SqlValidatorImpl.registerOperandSubQueries should skip creating SCALAR_QUERY 
> call when operand is a SqlSelect and the SqlSelect does not return a scalar 
> value
> --
>
> Key: CALCITE-3788
> URL: https://issues.apache.org/jira/browse/CALCITE-3788
> Project: Calcite
>  Issue Type: Sub-task
>Reporter: Rui Wang
>Priority: Major
>
> 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)