mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines
into mysql.com:/home/svoj/devel/mysql/engines/mysql-5.0-engines myisam/sort.c: Auto merged mysql-test/r/repair.result: Auto merged mysql-test/t/repair.test: Auto merged sql/sql_base.cc: Use local.
This commit is contained in:
@ -148,7 +148,8 @@ int _create_index_by_sort(MI_SORT_PARAM *info,my_bool no_messages,
|
|||||||
skr=maxbuffer;
|
skr=maxbuffer;
|
||||||
if (memavl < sizeof(BUFFPEK)*(uint) maxbuffer ||
|
if (memavl < sizeof(BUFFPEK)*(uint) maxbuffer ||
|
||||||
(keys=(memavl-sizeof(BUFFPEK)*(uint) maxbuffer)/
|
(keys=(memavl-sizeof(BUFFPEK)*(uint) maxbuffer)/
|
||||||
(sort_length+sizeof(char*))) <= 1)
|
(sort_length+sizeof(char*))) <= 1 ||
|
||||||
|
keys < (uint) maxbuffer)
|
||||||
{
|
{
|
||||||
mi_check_print_error(info->sort_info->param,
|
mi_check_print_error(info->sort_info->param,
|
||||||
"sort_buffer_size is to small");
|
"sort_buffer_size is to small");
|
||||||
@ -363,7 +364,8 @@ pthread_handler_t thr_find_all_keys(void *arg)
|
|||||||
skr=maxbuffer;
|
skr=maxbuffer;
|
||||||
if (memavl < sizeof(BUFFPEK)*maxbuffer ||
|
if (memavl < sizeof(BUFFPEK)*maxbuffer ||
|
||||||
(keys=(memavl-sizeof(BUFFPEK)*maxbuffer)/
|
(keys=(memavl-sizeof(BUFFPEK)*maxbuffer)/
|
||||||
(sort_length+sizeof(char*))) <= 1)
|
(sort_length+sizeof(char*))) <= 1 ||
|
||||||
|
keys < (uint) maxbuffer)
|
||||||
{
|
{
|
||||||
mi_check_print_error(sort_param->sort_info->param,
|
mi_check_print_error(sort_param->sort_info->param,
|
||||||
"sort_buffer_size is to small");
|
"sort_buffer_size is to small");
|
||||||
@ -500,6 +502,8 @@ int thr_write_keys(MI_SORT_PARAM *sort_param)
|
|||||||
if (!sinfo->sort_keys)
|
if (!sinfo->sort_keys)
|
||||||
{
|
{
|
||||||
got_error=1;
|
got_error=1;
|
||||||
|
my_free(mi_get_rec_buff_ptr(info, sinfo->rec_buff),
|
||||||
|
MYF(MY_ALLOW_ZERO_PTR));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!got_error)
|
if (!got_error)
|
||||||
|
@ -52,3 +52,38 @@ Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_par
|
|||||||
t1 1 a 1 a A 5 NULL NULL YES BTREE
|
t1 1 a 1 a A 5 NULL NULL YES BTREE
|
||||||
SET myisam_repair_threads=@@global.myisam_repair_threads;
|
SET myisam_repair_threads=@@global.myisam_repair_threads;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(a INT);
|
||||||
|
USE mysql;
|
||||||
|
REPAIR TABLE test.t1 USE_FRM;
|
||||||
|
Table Op Msg_type Msg_text
|
||||||
|
test.t1 repair status OK
|
||||||
|
USE test;
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1(a CHAR(255), KEY(a));
|
||||||
|
SET myisam_sort_buffer_size=4096;
|
||||||
|
INSERT INTO t1 VALUES
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0');
|
||||||
|
SET myisam_repair_threads=2;
|
||||||
|
REPAIR TABLE t1;
|
||||||
|
Table Op Msg_type Msg_text
|
||||||
|
test.t1 repair error sort_buffer_size is to small
|
||||||
|
test.t1 repair warning Number of rows changed from 0 to 157
|
||||||
|
test.t1 repair status OK
|
||||||
|
SET myisam_repair_threads=@@global.myisam_repair_threads;
|
||||||
|
SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -45,4 +45,42 @@ SHOW INDEX FROM t1;
|
|||||||
SET myisam_repair_threads=@@global.myisam_repair_threads;
|
SET myisam_repair_threads=@@global.myisam_repair_threads;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG#22562 - REPAIR TABLE .. USE_FRM causes server crash on Windows and
|
||||||
|
# server hangs on Linux
|
||||||
|
#
|
||||||
|
CREATE TABLE t1(a INT);
|
||||||
|
USE mysql;
|
||||||
|
REPAIR TABLE test.t1 USE_FRM;
|
||||||
|
USE test;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG#23175 - MYISAM crash/repair failed during repair
|
||||||
|
#
|
||||||
|
CREATE TABLE t1(a CHAR(255), KEY(a));
|
||||||
|
SET myisam_sort_buffer_size=4096;
|
||||||
|
INSERT INTO t1 VALUES
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0');
|
||||||
|
SET myisam_repair_threads=2;
|
||||||
|
REPAIR TABLE t1;
|
||||||
|
SET myisam_repair_threads=@@global.myisam_repair_threads;
|
||||||
|
SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
Reference in New Issue
Block a user