Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
Currently, we have neither an understanding of how type coercion impacts the system, nor decent test coverage. As a result, trying to fix one part causes the other to break (see IGNITE-19128 --> IGNITE-19615 --> IGNITE-19976).
To improve the situation, let us perform the following steps:
- first, it is necessary to cover the current behavior of planner with an exhaustive set of tests:. Here, we need to cover following cases
- coercion for set operations like UNION, INTERSECT and EXCEPT
- coercion for binary comparison and arithmetic
- coercion for IN operator
- coercion for CASE operator
- coercion for function arguments
- coercion of source for INSERT, UPDATE and MERGE operators
- etc (did I miss something?)
- then, we need to cover execution by the similar tests to make sure coercion and execution are aligned
- finally, we should revise coercion rules to remove unnecessary casts
Attachments
Issue Links
- is related to
-
IGNITE-22462 Sql. Add planner test to verify type coercion for set operations like UNION, INTERSECT and EXCEPT
-
- Patch Available
-
- relates to
-
IGNITE-18644 Sql. Type system. Types in predicate expressions may have unnecessary casts.
-
- Open
-
-
IGNITE-19882 Sql. Queries that access columns of type DECIMAL do not pick index, when compared with INT/BIGINT.
-
- Open
-
-
IGNITE-19931 Sql. Varbinary. Index is not selected for key = '1'::VARBINARY
-
- Open
-
-
IGNITE-19128 Sql. Custom data types. IgniteIndexScan has incorrect types in searchBounds.
-
- Resolved
-
-
IGNITE-19615 Index is not used while performing SELECT over an indexed column
-
- Resolved
-
-
IGNITE-19976 Sql: ClassCastException when trying to select from indexed smallint column
-
- Resolved
-
-
IGNITE-19999 Sql. Add planner test to verify numeric type coercion in binary comparison
-
- Resolved
-
-
IGNITE-20000 Sql. Add planner test to verify numeric type coercion in binary arithmetic
-
- Resolved
-