WL#5549: Support row_format per partition
Affects: Falcon-7.x
—
Status: Un-Assigned
While working on BUG#50300 I tried to make the 'ROW_FORMAT=X' option available also in the 'PARTITION p ...' clause. Proposed addition in partition definition: partition_definition: PARTITION partition_name [VALUES {LESS THAN {(expr) | MAXVALUE} | IN (value_list)}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'comment_text' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [NODEGROUP [=] node_group_id] >>>>> [ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}] [(subpartition_definition [, subpartition_definition] ...)] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'comment_text' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [NODEGROUP [=] node_group_id] >>>>> [ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}] Also adding ROW_FORMAT column to I_S.PARTITIONS table. And if not all partitions ROW_FORMATS are the same, report Mixed as the ROW_FORMAT in I_S.TABLES (also SHOW TABLE STATUS). Restriction is that all partitions must have the same HA_OPTION_PACK_RECORD. If possible also change or at least document the SE API with more comments to be clear that HA_OPTION_PACK_RECORD: If all columns have static length then HA_OPTION_PACK_RECORD will not be set unless row_type is ROW_TYPE_DYNAMIC. If any column have dynamic length then HA_OPTION_PACK_RECORD will be set unless row_type is ROW_TYPE_FIXED. handler::check_if_incompatible uses the row_type in create_info handler::create uses the row_type in table_share (InnoDB after BUG#54679) or table_share->db_options_in_use & HA_OPTION_PACK_RECORD (MyISAM). Bug#11894100 will be fixed by this WL.
Copyright (c) 2000, 2024, Oracle Corporation and/or its affiliates. All rights reserved.