Description
This is an umbrella ticket for all tasks related to CREATE/DROP TABLE feature.
Raw design:
1) CREATE TABLE is performed using createCache, DROP TABLE is performed using destroyCache;
2) We need to extend H2 parser to support "AFFINITY KEY" attribute;
3) Caches will be created based on cache templates defined in IgniteConfiguration. There should be several predefined templates for the most common cases (e.g. PARTITIONED/REPLICATED). Template will be specified using WITH feature of H2 engine.
4) Currently every cache lives inside it's own H2 schema. For user convenience we will have to allow different caches to share the same schema.
5) Current SQL API are tightly coupled to particular cache. This leads to anecdotal situation when you cannot call CREATE TABLE on a cluster without caches. For this reason we will need better SQL API which is not bound to any cache.
Attachments
Issue Links
- contains
-
IGNITE-5052 Implement CREATE/DROP TABLE parsing and execution
- Resolved
-
IGNITE-5053 Add missing features to H2 parser for CREATE/DROP TABLE
- Resolved
-
IGNITE-5188 Support AFFINITY KEY keyword for CREATE TABLE command
- Resolved
-
IGNITE-5242 Disallow DROP TABLE on statically configured caches
- Resolved
-
IGNITE-5243 Disallow CREATE INDEX and DROP INDEX on non-sql caches
- Resolved
-
IGNITE-5305 DDL: Set schema to cache configuration during CREATE TABLE
- Resolved
-
IGNITE-5325 CREATE TABLE should support "cacheGroup" property
- Resolved
-
IGNITE-5326 Support "backups" property for CREATE TABLE property
- Resolved
-
IGNITE-5327 Create predefined cache templates for CREATE TABLE command
- Resolved
-
IGNITE-5328 Support cache atomicity mode for CREATE TABLE
- Resolved
-
IGNITE-5380 Validate cache QueryEntities in discovery thread
- Resolved
-
IGNITE-5420 Table key type name and value type must be unique
- Resolved
-
IGNITE-5430 Mask cache name for CREATE TABLE operation
- Resolved