[
https://issues.apache.org/jira/browse/IGNITE-5572?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Ozerov updated IGNITE-5572:
------------------------------------
Description:
We should start gradual implementation of {{ALTER TABLE}} command. Let's start
with the most simple part - {{ADD COLUMN}}. Proposed design:
1) Send a message over a ring, similar to how we do that for create index
2) On local node: update relevant QueryEntity, update data strcutrues in
{{GridQueryProcessor}}, update {{IgniteH2Indexing}} data structures, execute
{{ALTER TABLE}} command on H2 database (global table lock must be acquired).
3) Make sure that update to {{QueryEntity}} is properly saved if persistence is
enabled.
Feature should be covered with tests thoroughly:
1) Positive cases
2) Negative cases (no schema, no table, column already exists)
3) Test with concurrent SQL operations
4) Test with concurrent node restarts
> DDL: Support ALTER TABLE ADD COLUMN
> -----------------------------------
>
> Key: IGNITE-5572
> URL: https://issues.apache.org/jira/browse/IGNITE-5572
> Project: Ignite
> Issue Type: Task
> Components: sql
> Reporter: Vladimir Ozerov
> Assignee: Alexander Paschenko
> Fix For: 2.2
>
>
> We should start gradual implementation of {{ALTER TABLE}} command. Let's
> start with the most simple part - {{ADD COLUMN}}. Proposed design:
> 1) Send a message over a ring, similar to how we do that for create index
> 2) On local node: update relevant QueryEntity, update data strcutrues in
> {{GridQueryProcessor}}, update {{IgniteH2Indexing}} data structures, execute
> {{ALTER TABLE}} command on H2 database (global table lock must be acquired).
> 3) Make sure that update to {{QueryEntity}} is properly saved if persistence
> is enabled.
> Feature should be covered with tests thoroughly:
> 1) Positive cases
> 2) Negative cases (no schema, no table, column already exists)
> 3) Test with concurrent SQL operations
> 4) Test with concurrent node restarts
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)