Commit 0b1edd43 authored by Rich Prohaska's avatar Rich Prohaska

#206 support mariadb 10.0.10 alter compression table attribute

parent 2a518937
...@@ -414,6 +414,12 @@ enum_alter_inplace_result ha_tokudb::check_if_supported_inplace_alter(TABLE *alt ...@@ -414,6 +414,12 @@ enum_alter_inplace_result ha_tokudb::check_if_supported_inplace_alter(TABLE *alt
} else } else
if (only_flags(ctx->handler_flags, Alter_inplace_info::CHANGE_CREATE_OPTION)) { if (only_flags(ctx->handler_flags, Alter_inplace_info::CHANGE_CREATE_OPTION)) {
HA_CREATE_INFO *create_info = ha_alter_info->create_info; HA_CREATE_INFO *create_info = ha_alter_info->create_info;
#if TOKU_INCLUDE_OPTION_STRUCTS
// set the USED_ROW_FORMAT flag for use later in this file for changes in the table's
// compression
if (create_info->option_struct->row_format != table_share->option_struct->row_format)
create_info->used_fields |= HA_CREATE_USED_ROW_FORMAT;
#endif
// alter auto_increment // alter auto_increment
if (only_flags(create_info->used_fields, HA_CREATE_USED_AUTO)) { if (only_flags(create_info->used_fields, HA_CREATE_USED_AUTO)) {
// do a sanity check that the table is what we think it is // do a sanity check that the table is what we think it is
...@@ -723,7 +729,8 @@ bool ha_tokudb::commit_inplace_alter_table(TABLE *altered_table, Alter_inplace_i ...@@ -723,7 +729,8 @@ bool ha_tokudb::commit_inplace_alter_table(TABLE *altered_table, Alter_inplace_i
ha_alter_info->group_commit_ctx = NULL; ha_alter_info->group_commit_ctx = NULL;
} }
#endif #endif
#if (50500 <= MYSQL_VERSION_ID && MYSQL_VERSION_ID <= 50599) #if (50500 <= MYSQL_VERSION_ID && MYSQL_VERSION_ID <= 50599) || \
(100000 <= MYSQL_VERSION_ID && MYSQL_VERSION_ID <= 100099)
if (TOKU_PARTITION_WRITE_FRM_DATA || altered_table->part_info == NULL) { if (TOKU_PARTITION_WRITE_FRM_DATA || altered_table->part_info == NULL) {
int error = write_frm_data(share->status_block, ctx->alter_txn, altered_table->s->path.str); int error = write_frm_data(share->status_block, ctx->alter_txn, altered_table->s->path.str);
if (error) { if (error) {
......
...@@ -103,6 +103,7 @@ PATENT RIGHTS GRANT: ...@@ -103,6 +103,7 @@ PATENT RIGHTS GRANT:
#define TOKU_INCLUDE_ROW_TYPE_COMPRESSION 0 #define TOKU_INCLUDE_ROW_TYPE_COMPRESSION 0
#define TOKU_INCLUDE_XA 1 #define TOKU_INCLUDE_XA 1
#define TOKU_INCLUDE_WRITE_FRM_DATA 0 #define TOKU_INCLUDE_WRITE_FRM_DATA 0
#define TOKU_PARTITION_WRITE_FRM_DATA 0
#if defined(MARIADB_BASE_VERSION) #if defined(MARIADB_BASE_VERSION)
#define TOKU_INCLUDE_EXTENDED_KEYS 1 #define TOKU_INCLUDE_EXTENDED_KEYS 1
#endif #endif
......
...@@ -128,9 +128,7 @@ typedef struct savepoint_info { ...@@ -128,9 +128,7 @@ typedef struct savepoint_info {
#if TOKU_INCLUDE_OPTION_STRUCTS #if TOKU_INCLUDE_OPTION_STRUCTS
ha_create_table_option tokudb_table_options[] = { ha_create_table_option tokudb_table_options[] = {
HA_TOPTION_ENUM("compression", row_format, HA_TOPTION_SYSVAR("compression", row_format, row_format),
"TOKUDB_UNCOMPRESSED,TOKUDB_ZLIB,TOKUDB_QUICKLZ,"
"TOKUDB_LZMA,TOKUDB_FAST,TOKUDB_SMALL", 0),
HA_TOPTION_END HA_TOPTION_END
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment