Comparison of tables during altering fixed. (BUG#39399)
mysql-test/r/maria.result: Test suite of BUG#39399. mysql-test/t/maria.test: Test suite of BUG#39399. storage/maria/ha_maria.cc: Comparison of tables during altering fixed. (BUG#39399) Unused function parameter removed.
This commit is contained in:
parent
2a9d33f07d
commit
51a92bbb03
@ -2284,3 +2284,9 @@ insert into v1 (f1) values (3) on duplicate key update f1= f3 + 10;
|
|||||||
insert into v1 (f1) values (3) on duplicate key update f1= f3 + 10;
|
insert into v1 (f1) values (3) on duplicate key update f1= f3 + 10;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
drop view v1;
|
drop view v1;
|
||||||
|
CREATE TABLE t1 (id int, c varchar(10)) engine=maria;
|
||||||
|
INSERT INTO t1 VALUES (1,"1");
|
||||||
|
ALTER TABLE t1 CHANGE c d varchar(10);
|
||||||
|
affected rows: 0
|
||||||
|
info: Records: 0 Duplicates: 0 Warnings: 0
|
||||||
|
drop table t1;
|
||||||
|
@ -1575,3 +1575,14 @@ insert into v1 (f1) values (3) on duplicate key update f1= f3 + 10;
|
|||||||
insert into v1 (f1) values (3) on duplicate key update f1= f3 + 10;
|
insert into v1 (f1) values (3) on duplicate key update f1= f3 + 10;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
drop view v1;
|
drop view v1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG#39399 ALTER TABLE renaming column: affected_rows > 0
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t1 (id int, c varchar(10)) engine=maria;
|
||||||
|
INSERT INTO t1 VALUES (1,"1");
|
||||||
|
--enable_info
|
||||||
|
ALTER TABLE t1 CHANGE c d varchar(10);
|
||||||
|
--disable_info
|
||||||
|
drop table t1;
|
||||||
|
@ -2605,10 +2605,9 @@ enum row_type ha_maria::get_row_type() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static enum data_file_type maria_row_type(HA_CREATE_INFO *info,
|
static enum data_file_type maria_row_type(HA_CREATE_INFO *info)
|
||||||
my_bool ignore_transactional)
|
|
||||||
{
|
{
|
||||||
if (info->transactional == HA_CHOICE_YES && ! ignore_transactional)
|
if (info->transactional == HA_CHOICE_YES)
|
||||||
return BLOCK_RECORD;
|
return BLOCK_RECORD;
|
||||||
switch (info->row_type) {
|
switch (info->row_type) {
|
||||||
case ROW_TYPE_FIXED: return STATIC_RECORD;
|
case ROW_TYPE_FIXED: return STATIC_RECORD;
|
||||||
@ -2641,7 +2640,7 @@ int ha_maria::create(const char *name, register TABLE *table_arg,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Note: BLOCK_RECORD is used if table is transactional */
|
/* Note: BLOCK_RECORD is used if table is transactional */
|
||||||
row_type= maria_row_type(ha_create_info, 0);
|
row_type= maria_row_type(ha_create_info);
|
||||||
if (ha_create_info->transactional == HA_CHOICE_YES &&
|
if (ha_create_info->transactional == HA_CHOICE_YES &&
|
||||||
ha_create_info->row_type != ROW_TYPE_PAGE &&
|
ha_create_info->row_type != ROW_TYPE_PAGE &&
|
||||||
ha_create_info->row_type != ROW_TYPE_NOT_USED &&
|
ha_create_info->row_type != ROW_TYPE_NOT_USED &&
|
||||||
@ -2825,15 +2824,15 @@ bool ha_maria::check_if_incompatible_data(HA_CREATE_INFO *create_info,
|
|||||||
if (create_info->auto_increment_value != stats.auto_increment_value ||
|
if (create_info->auto_increment_value != stats.auto_increment_value ||
|
||||||
create_info->data_file_name != data_file_name ||
|
create_info->data_file_name != data_file_name ||
|
||||||
create_info->index_file_name != index_file_name ||
|
create_info->index_file_name != index_file_name ||
|
||||||
(maria_row_type(create_info, 1) != data_file_type &&
|
(maria_row_type(create_info) != data_file_type &&
|
||||||
create_info->row_type != ROW_TYPE_DEFAULT) ||
|
create_info->row_type != ROW_TYPE_DEFAULT) ||
|
||||||
table_changes == IS_EQUAL_NO ||
|
table_changes == IS_EQUAL_NO ||
|
||||||
table_changes & IS_EQUAL_PACK_LENGTH) // Not implemented yet
|
table_changes & IS_EQUAL_PACK_LENGTH) // Not implemented yet
|
||||||
return COMPATIBLE_DATA_NO;
|
return COMPATIBLE_DATA_NO;
|
||||||
|
|
||||||
if ((options & (HA_OPTION_PACK_RECORD | HA_OPTION_CHECKSUM |
|
if ((options & (HA_OPTION_CHECKSUM |
|
||||||
HA_OPTION_DELAY_KEY_WRITE)) !=
|
HA_OPTION_DELAY_KEY_WRITE)) !=
|
||||||
(create_info->table_options & (HA_OPTION_PACK_RECORD | HA_OPTION_CHECKSUM |
|
(create_info->table_options & (HA_OPTION_CHECKSUM |
|
||||||
HA_OPTION_DELAY_KEY_WRITE)))
|
HA_OPTION_DELAY_KEY_WRITE)))
|
||||||
return COMPATIBLE_DATA_NO;
|
return COMPATIBLE_DATA_NO;
|
||||||
return COMPATIBLE_DATA_YES;
|
return COMPATIBLE_DATA_YES;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user