mirror of
https://github.com/MariaDB/server.git
synced 2025-01-21 06:22:28 +01:00
Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into mysql.com:/home/ram/work/b28806/b28806.5.1
This commit is contained in:
commit
2616c7b723
3 changed files with 39 additions and 14 deletions
|
@ -1235,4 +1235,18 @@ aaa 2
|
|||
drop table t1;
|
||||
create table t1 (s1 bigint) partition by list (s1) (partition p1 values in (-9223372036854775808));
|
||||
drop table t1;
|
||||
create table t1(a int auto_increment, b int, primary key (b, a))
|
||||
partition by hash(b) partitions 2;
|
||||
insert into t1 values (null, 1);
|
||||
show table status;
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 MyISAM 10 Fixed 1 9 9 0 0 0 1 NULL NULL NULL latin1_swedish_ci NULL partitioned
|
||||
drop table t1;
|
||||
create table t1(a int auto_increment primary key)
|
||||
partition by key(a) partitions 2;
|
||||
insert into t1 values (null), (null), (null);
|
||||
show table status;
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 MyISAM 10 Fixed 3 7 21 0 0 0 4 NULL NULL NULL latin1_swedish_ci NULL partitioned
|
||||
drop table t1;
|
||||
End of 5.1 tests
|
||||
|
|
|
@ -1448,4 +1448,21 @@ drop table t1;
|
|||
create table t1 (s1 bigint) partition by list (s1) (partition p1 values in (-9223372036854775808));
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #28806: Running SHOW TABLE STATUS during high INSERT load crashes server
|
||||
#
|
||||
create table t1(a int auto_increment, b int, primary key (b, a))
|
||||
partition by hash(b) partitions 2;
|
||||
insert into t1 values (null, 1);
|
||||
--replace_column 9 0 12 NULL 13 NULL 14 NULL
|
||||
show table status;
|
||||
drop table t1;
|
||||
|
||||
create table t1(a int auto_increment primary key)
|
||||
partition by key(a) partitions 2;
|
||||
insert into t1 values (null), (null), (null);
|
||||
--replace_column 9 0 12 NULL 13 NULL 14 NULL
|
||||
show table status;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
|
|
@ -4253,22 +4253,16 @@ int ha_partition::info(uint flag)
|
|||
|
||||
if (flag & HA_STATUS_AUTO)
|
||||
{
|
||||
ulonglong nb_reserved_values;
|
||||
ulonglong auto_increment_value= 0;
|
||||
DBUG_PRINT("info", ("HA_STATUS_AUTO"));
|
||||
/* we don't want to reserve any values, it's pure information */
|
||||
|
||||
if (table->found_next_number_field)
|
||||
file_array= m_file;
|
||||
do
|
||||
{
|
||||
/*
|
||||
Can only call get_auto_increment for tables that actually
|
||||
have auto_increment columns, otherwise there will be
|
||||
problems in handlers that don't expect get_auto_increment
|
||||
for non-autoincrement tables.
|
||||
*/
|
||||
get_auto_increment(0, 0, 0, &stats.auto_increment_value,
|
||||
&nb_reserved_values);
|
||||
release_auto_increment();
|
||||
}
|
||||
file= *file_array;
|
||||
file->info(HA_STATUS_AUTO);
|
||||
set_if_bigger(auto_increment_value, file->stats.auto_increment_value);
|
||||
} while (*(++file_array));
|
||||
stats.auto_increment_value= auto_increment_value;
|
||||
}
|
||||
if (flag & HA_STATUS_VARIABLE)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue