Description
At the moment, the rules for implicit type conversion are not formalized. As a result, we allow implicit casting of types from different families everywhere (including for function operands, which can be confusing).
We need to formalize the rules for safe implicit conversion and follow them.
- Whether to allow implicit type casts (of which types) during DML from one table to another.
- Whether to allow implicit casts in operations.
- Whether to allow implicit casts for function operands.
- ...
Update
During the discussion it was decided to forbid any implicit casts between different type families.
Attachments
Issue Links
- blocks
-
IGNITE-23060 Sql. Move rules from typeFamiliesAreCompatible into IgniteCustomAssignmentsRules
- Resolved
- causes
-
IGNITE-23347 Comparison of strings works wrong
- Resolved
-
IGNITE-23351 COALESCE detects type wrong if first argument is null
- Resolved
- fixes
-
IGNITE-15123 Calcite. Multi-tuple insert fails on validation
- Reopened
-
IGNITE-22358 Sql. Results of TypeFactory::leastRestrictiveType are incompatible with legal type transformations
- Resolved
-
IGNITE-22447 Sql. Numeric aggregate functions accept VARCHAR types
- Resolved
-
IGNITE-18663 Sql. DATE Literals are not validated correctly.
- Resolved
-
IGNITE-19503 Sql. UUID. Some expressions and statements with types from incompatible families are not rejected.
- Resolved
-
IGNITE-18677 Sql. Arithmetic operation between numeric type and varchar columns and literals
- Resolved
- is related to
-
IGNITE-22444 Sql. Assign CHARACTER or CHARACTER VARYING to the other type.
- Resolved
- relates to
-
IGNITE-19469 Sql. Functions. Type coercion of function arguments (SUBSTR function).
- Open
-
IGNITE-22935 Sql. SELECT SUBSTR(1000, 1.0). Error: Was not expecting value 'INTEGER' for enumeration
- Open
-
IGNITE-22779 Sql. Exception on insert with dyn params when type doesn't match
- Resolved
-
IGNITE-22295 Sql. Allow comparable types for common columns in NATURAL / USING join conditions
- Open
- links to