Details
Description
One cannot specify engine options when creating a partitioned table:
> CREATE TABLE bar (id int, key (id) CLUSTERING=YES) ENGINE=TokuDB COMPRESSION=TOKUDB_LZMA PARTITION BY HASH(id) PARTITIONS 4;
ERROR 1911 (HY000): Unknown option 'CLUSTERING
but adding partitioning later works fine
> CREATE TABLE bar (id int, key (id) CLUSTERING=YES) ENGINE=TokuDB COMPRESSION=TOKUDB_LZMA;
Query OK, 0 rows affected (0.02 sec)
> ALTER TABLE bar PARTITION BY HASH(id) PARTITIONS 4;
Query OK, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0
Gliffy Diagrams
Attachments
Issue Links
- relates to
-
MDEV-5271 engine attributes per partition
-
- Open
-
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
This is consistent with how other table attributes work. For example INDEX/DATA DIRECTORY. Compare
1)
create table t2 (i int ) partition by range (i) ( partition p01 values less than (1000) data directory = '/tmp' index directory = '/tmp' );2)
create table t2 (i int ) data directory = '/tmp' index directory = '/tmp' partition by range (i) ( partition p01 values less than (1000));In the second example the table is not created in /tmp, index/data clauses are ignored. Because they don't apply to a PARTITION engine, and, being, hard-coded, don't fail for unsupported engines.
TokuDB specific clauses properly fail for a unsupported engine (like PARTITION). When partitioning is enabled, they should be specified per partition, not for the whole table. This is MDEV-5271