mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
Merge pilot.blaudden:/home/msvensson/mysql/bug25262/my50-bug25262
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint sql/sql_table.cc: Auto merged mysql-test/r/alter_table.result: Merge tests mysql-test/t/alter_table.test: Merge tests
This commit is contained in:
commit
5bb54e514f
3 changed files with 56 additions and 0 deletions
|
@ -860,3 +860,27 @@ ALTER TABLE t1 ADD d INT;
|
|||
ALTER TABLE t1 ADD KEY (d(20));
|
||||
ERROR HY000: Incorrect sub part key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique sub keys
|
||||
DROP TABLE t1;
|
||||
create table t1(id int(8) primary key auto_increment) engine=heap;
|
||||
insert into t1 values (null);
|
||||
insert into t1 values (null);
|
||||
select * from t1;
|
||||
id
|
||||
1
|
||||
2
|
||||
alter table t1 auto_increment = 50;
|
||||
alter table t1 engine = myisam;
|
||||
insert into t1 values (null);
|
||||
select * from t1;
|
||||
id
|
||||
1
|
||||
2
|
||||
50
|
||||
alter table t1 engine = heap;
|
||||
insert into t1 values (null);
|
||||
select * from t1;
|
||||
id
|
||||
1
|
||||
2
|
||||
50
|
||||
51
|
||||
drop table t1;
|
||||
|
|
|
@ -636,3 +636,29 @@ ALTER TABLE t1 ADD d INT;
|
|||
ALTER TABLE t1 ADD KEY (d(20));
|
||||
|
||||
DROP TABLE t1;
|
||||
# Bug#25262 Auto Increment lost when changing Engine type
|
||||
#
|
||||
|
||||
create table t1(id int(8) primary key auto_increment) engine=heap;
|
||||
|
||||
insert into t1 values (null);
|
||||
insert into t1 values (null);
|
||||
|
||||
select * from t1;
|
||||
|
||||
# Set auto increment to 50
|
||||
alter table t1 auto_increment = 50;
|
||||
|
||||
# Alter to myisam
|
||||
alter table t1 engine = myisam;
|
||||
|
||||
# This insert should get id 50
|
||||
insert into t1 values (null);
|
||||
select * from t1;
|
||||
|
||||
# Alter to heap again
|
||||
alter table t1 engine = heap;
|
||||
insert into t1 values (null);
|
||||
select * from t1;
|
||||
|
||||
drop table t1;
|
||||
|
|
|
@ -3316,6 +3316,12 @@ view_err:
|
|||
create_info->avg_row_length= table->s->avg_row_length;
|
||||
if (!(used_fields & HA_CREATE_USED_DEFAULT_CHARSET))
|
||||
create_info->default_table_charset= table->s->table_charset;
|
||||
if (!(used_fields & HA_CREATE_USED_AUTO) && table->found_next_number_field)
|
||||
{
|
||||
/* Table has an autoincrement, copy value to new table */
|
||||
table->file->info(HA_STATUS_AUTO);
|
||||
create_info->auto_increment_value= table->file->auto_increment_value;
|
||||
}
|
||||
|
||||
restore_record(table, s->default_values); // Empty record for DEFAULT
|
||||
List_iterator<Alter_drop> drop_it(alter_info->drop_list);
|
||||
|
|
Loading…
Reference in a new issue