You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Maksim Zhuravkov (Jira)" <ji...@apache.org> on 2023/02/06 09:39:00 UTC

[jira] [Updated] (IGNITE-18645) Sql. Type System. Reject plans not matching dynamic parameters types during query validation.

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

Maksim Zhuravkov updated IGNITE-18645:
--------------------------------------
    Summary: Sql. Type System. Reject plans not matching dynamic parameters types during query validation.  (was: Sql. Type System. Always add explicit casts to dynamic parameters.)

> Sql. Type System. Reject plans not matching dynamic parameters types during query validation.
> ---------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-18645
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18645
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Maksim Zhuravkov
>            Priority: Major
>              Labels: calcite2-required, calcite3-required, ignite-3
>             Fix For: 3.0.0-beta2
>
>
> Current implementation of dynamic parameters does not allow to reject plans that may fail runtime. Solution:
>  * dynamic parameters must be casted to appropriate types depending on the current context. If E1 with operand O1 expects a type T1 dynamic parameter D1 must be explicitly casted T1 if it possible if cast is not possible a query must be rejected.
>  * in order to make type inference/type coercion possible we should use types of concrete values of dynamic parameters specified with a query.
> This is a topic for discussion and investigation.



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