[
https://issues.apache.org/jira/browse/IGNITE-19229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Puchkovskiy updated IGNITE-19229:
---------------------------------------
Description:
As per
https://cwiki.apache.org/confluence/display/IGNITE/IEP-110%3A+Schema+synchronization%3A+basic+schema+changes
, the following schema changes are forward-compatible:
# Creating a table
# Adding a nullable column or a column having a default value
# Renaming a column
# Dropping a constraint (including NOT NULL constraint)
# Changing a column type when any value in the old type has an exact
representation in the new type
Other schema changes are not compatible.
The supported type changes follow:
* Widening conversions between integral types (like int->long)
* Widening conversions between floating-point types (float->double)
* Widening conversions between date-time types (increasing precision)
* Widening conversions between decimal types (increasing precision)
* Increasing allowed length of VARCHAR
* Increasing allowed length of VARBINARY
* Conversions of anything to VARCHAR with enough capacity
was:TBD: validators list depends on the list of schema changes that we support
> Schema validation during tx processing: validators
> --------------------------------------------------
>
> Key: IGNITE-19229
> URL: https://issues.apache.org/jira/browse/IGNITE-19229
> Project: Ignite
> Issue Type: Improvement
> Reporter: Roman Puchkovskiy
> Priority: Major
> Labels: iep-110, ignite-3
>
> As per
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-110%3A+Schema+synchronization%3A+basic+schema+changes
> , the following schema changes are forward-compatible:
> # Creating a table
> # Adding a nullable column or a column having a default value
> # Renaming a column
> # Dropping a constraint (including NOT NULL constraint)
> # Changing a column type when any value in the old type has an exact
> representation in the new type
> Other schema changes are not compatible.
> The supported type changes follow:
> * Widening conversions between integral types (like int->long)
> * Widening conversions between floating-point types (float->double)
> * Widening conversions between date-time types (increasing precision)
> * Widening conversions between decimal types (increasing precision)
> * Increasing allowed length of VARCHAR
> * Increasing allowed length of VARBINARY
> * Conversions of anything to VARCHAR with enough capacity
--
This message was sent by Atlassian Jira
(v8.20.10#820010)