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
Attachments
Issue Links
- is related to
-
IGNITE-7834 Ignite Queries 2 fail rate is more than 95%: DynamicColumnsAbstractConcurrentSelfTest and its subclasses are flaky
- Open
- relates to
-
IGNITE-6283 Document ALTER TABLE ADD COLUMN command
- Closed
- links to