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

Ignite TC Bot commented on IGNITE-23676:
----------------------------------------

{panel:title=Branch: [pull/11663/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/11663/head] Base: [master] : No new tests 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}{panel}
[TeamCity *--> Run :: All* 
Results|https://ci2.ignite.apache.org/viewLog.html?buildId=8166101&buildTypeId=IgniteTests24Java8_RunAll]

> Calcite engine. Failed to remove sensitive information from JOINs
> -----------------------------------------------------------------
>
>                 Key: IGNITE-23676
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23676
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Aleksey Plekhanov
>            Assignee: Aleksey Plekhanov
>            Priority: Major
>              Labels: calcite, ise
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> SqlJoin AST node stores some internal fields as literals (joinType, 
> conditionType, natural). These fields are converted to dynamic parameters 
> during sensitive information removal and can't be constructed to SqlJoin 
> again. 
> {noformat}
> Unable to remove sensitive information from SQL node of class: 
> org.apache.calcite.sql.SqlSelect
>  java.lang.ClassCastException: class org.apache.calcite.sql.SqlDynamicParam 
> cannot be cast to class org.apache.calcite.sql.SqlLiteral 
> (org.apache.calcite.sql.SqlDynamicParam and org.apache.calcite.sql.SqlLiteral 
> are in unnamed module of loader 'app')
>       at 
> org.apache.calcite.sql.SqlJoin$SqlJoinOperator.createCall(SqlJoin.java:203) 
> ~[calcite-core-1.37.0.jar:1.37.0]
>       at 
> org.apache.calcite.sql.util.SqlShuttle$CallCopyingArgHandler.result(SqlShuttle.java:117)
>  ~[calcite-core-1.37.0.jar:1.37.0]
>       at org.apache.calcite.sql.util.SqlShuttle.visit(SqlShuttle.java:69) 
> ~[calcite-core-1.37.0.jar:1.37.0]
>       at 
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor$2.visit(CalciteQueryProcessor.java:574)
>  ~[classes/:?]
>       at 
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor$2.visit(CalciteQueryProcessor.java:551)
>  ~[classes/:?]
>       at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:166) 
> ~[calcite-core-1.37.0.jar:1.37.0]
>       at 
> org.apache.calcite.sql.util.SqlShuttle$CallCopyingArgHandler.visitChild(SqlShuttle.java:134)
>  ~[calcite-core-1.37.0.jar:1.37.0]
>       at 
> org.apache.calcite.sql.util.SqlShuttle$CallCopyingArgHandler.visitChild(SqlShuttle.java:101)
>  ~[calcite-core-1.37.0.jar:1.37.0]
>       at org.apache.calcite.sql.SqlOperator.acceptCall(SqlOperator.java:962) 
> ~[calcite-core-1.37.0.jar:1.37.0]
>       at 
> org.apache.calcite.sql.SqlSelectOperator.acceptCall(SqlSelectOperator.java:129)
>  ~[calcite-core-1.37.0.jar:1.37.0]
>       at org.apache.calcite.sql.util.SqlShuttle.visit(SqlShuttle.java:68) 
> ~[calcite-core-1.37.0.jar:1.37.0]
>       at 
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor$2.visit(CalciteQueryProcessor.java:574)
>  ~[classes/:?]
>       at 
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor$2.visit(CalciteQueryProcessor.java:551)
>  ~[classes/:?]
>       at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:166) 
> ~[calcite-core-1.37.0.jar:1.37.0]
>       at 
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.removeSensitive(CalciteQueryProcessor.java:550)
>  [classes/:?]
>       at 
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.parseAndProcessQuery(CalciteQueryProcessor.java:536)
>  [classes/:?]
>       at 
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:396)
>  [classes/:?]
> {noformat}
>  
> The full set of nodes, which currently have SqlLiteral as a field:
> * SqlJoin (natural boolean, joinType enum, conditionType enum) 
> * SqlWindow (isRows boolean, allowPartial boolean)
> * SqlExplain (detailLevel enum, depth enum, format enum)
> * SqlWithItem (recursive boolean)
> * SqlBasicCall (functionQuantifier enum)
> * SqlMatchRecognize(strictStart boolean, strictEnd boolean, rowsPerMatch 
> enum, interval SqlIntervalLiteral)
> * IgniteSqlKill*
> * IgniteSqlCreateUser (pwd string) 
> * IgniteSqlAlterUser (pwd string)



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

Reply via email to