You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Yury Gerzhedovich (Jira)" <ji...@apache.org> on 2023/03/21 07:26:00 UTC

[jira] [Commented] (IGNITE-18653) Sql. The number of dynamic parameters can be checked once.

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

Yury Gerzhedovich commented on IGNITE-18653:
--------------------------------------------

[~mzhuravkov] , LGTM

> Sql. The number of dynamic parameters can be checked once.
> ----------------------------------------------------------
>
>                 Key: IGNITE-18653
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18653
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Maksim Zhuravkov
>            Assignee: Maksim Zhuravkov
>            Priority: Minor
>              Labels: calcite, ignite-3
>             Fix For: 3.0.0-beta2
>
>          Time Spent: 2h
>  Remaining Estimate: 0h
>
> Since Apache Calcite's SqlParser maintains the number of dynamic parameters internally (as a protected field) it is possible to simplify the check that ensures that the number of dynamic parameters in a query is equal to the number of provided parameters.
> 1) See how that check is implemented for an SqlExplain in IgniteSqlValidator::validate - it simply checks the number of dynamic parameters in a query. We can implement that check in similar fashion for other queries.
> 2) Remove the redundant array of bound checks for dynamic parameters in IgniteSqlValidator since they are going to be no longer necessary after this change.
> Solution:
> Check the number of dynamic parameters prior to validation and reject the query if the number of dynamic parameters in the query and the number of provided parameters do not match.
>  



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