[ https://issues.apache.org/jira/browse/IGNITE-18645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Maksim Zhuravkov updated IGNITE-18645: -------------------------------------- Description: Current implementation of dynamic parameters does not allow to reject plans that may fail runtime. Solution: * dynamic parameters can 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 to T1 if it is possible. And if a 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. was: Current implementation of dynamic parameters does not allow to reject plans that may fail runtime. Solution: * dynamic parameters can 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 a 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. > Sql. Type System. Reject plans with 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 can 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 to T1 if it is possible. And if a 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)