[ 
https://issues.apache.org/jira/browse/CALCITE-7026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17955039#comment-17955039
 ] 

Sergey Nuyanzin commented on CALCITE-7026:
------------------------------------------

As it was proposed in PR: in Calcite it should fail with better message.
At the same time {{validateSnapshot}} will be made {{protected}} in order to be 
able to change behavior for downstream projects

> Validation of snapshot for join of CTEs fails with NPE
> ------------------------------------------------------
>
>                 Key: CALCITE-7026
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7026
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.39.0
>            Reporter: Sergey Nuyanzin
>            Priority: Major
>              Labels: pull-request-available
>
> To reproduce 
> in {{SqlValidatorTest#testTemporalTable}} add
> {code:java}
>     sql("with t1 as (select stream * from orders), t2 as (select * from 
> products_temporal)\n"
>         + "select * from t1 left join t2\n"
>         + "for system_time as of CURRENT_TIMESTAMP\n"
>         + "on t1.productid = t2.productid").ok();
> {code}
> if fails as 
> {noformat}
> java.lang.NullPointerException: ns.getTable() for 
> org.apache.calcite.sql.validate.IdentifierNamespace@28b34c55
>       at java.util.Objects.requireNonNull(Objects.java:290)
>       at 
> org.apache.calcite.sql.validate.SqlNonNullableAccessors.getTable(SqlNonNullableAccessors.java:94)
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSnapshot(SqlValidatorImpl.java:5882)
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:1202)
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3634)
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin(SqlValidatorImpl.java:3740)
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3622)
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:4127)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to