Skip to content

Commit 3cb7c5f

Browse files
Kentokuvuvova
authored andcommitted
MDEV-16279 Spider crashes on CHECKSUM TABLE with spider_quick_mode=3
The fields of the temporary table were not created in create_tmp_table function. Because item->const_item() was true. But the temporary tables that is created by Spider are always used all columns. So Spider should call create_tmp_table function with TMP_TABLE_ALL_COLUMNS flag.
1 parent 6caf9ec commit 3cb7c5f

21 files changed

+700
-2
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--let $MASTER_1_COMMENT_2_1= $MASTER_1_COMMENT_2_1_BACKUP
2+
--let $CHILD2_1_DROP_TABLES= $CHILD2_1_DROP_TABLES_BACKUP
3+
--let $CHILD2_1_CREATE_TABLES= $CHILD2_1_CREATE_TABLES_BACKUP
4+
--let $CHILD2_1_SELECT_TABLES= $CHILD2_1_SELECT_TABLES_BACKUP
5+
--connection master_1
6+
set session spider_quick_mode= @old_spider_quick_mode;
7+
set session spider_quick_page_size= @old_spider_quick_page_size;
8+
--disable_warnings
9+
--disable_query_log
10+
--disable_result_log
11+
--source ../t/test_deinit.inc
12+
--enable_result_log
13+
--enable_query_log
14+
--enable_warnings
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
--disable_warnings
2+
--disable_query_log
3+
--disable_result_log
4+
--source ../t/test_init.inc
5+
--enable_result_log
6+
--enable_query_log
7+
--enable_warnings
8+
--let $MASTER_1_COMMENT_2_1_BACKUP= $MASTER_1_COMMENT_2_1
9+
let $MASTER_1_COMMENT_2_1=
10+
COMMENT='table "tbl_a", srv "s_2_1"';
11+
--let $CHILD2_1_DROP_TABLES_BACKUP= $CHILD2_1_DROP_TABLES
12+
let $CHILD2_1_DROP_TABLES=
13+
DROP TABLE IF EXISTS tbl_a;
14+
--let $CHILD2_1_CREATE_TABLES_BACKUP= $CHILD2_1_CREATE_TABLES
15+
let $CHILD2_1_CREATE_TABLES=
16+
CREATE TABLE tbl_a (
17+
pkey int NOT NULL,
18+
PRIMARY KEY (pkey)
19+
) $CHILD2_1_ENGINE $CHILD2_1_CHARSET;
20+
--let $CHILD2_1_SELECT_TABLES_BACKUP= $CHILD2_1_SELECT_TABLES
21+
let $CHILD2_1_SELECT_TABLES=
22+
SELECT pkey FROM tbl_a ORDER BY pkey;
23+
let $CHILD2_1_SELECT_ARGUMENT1=
24+
SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %';
25+
--connection master_1
26+
set @old_spider_quick_mode= @@spider_quick_mode;
27+
set session spider_quick_mode= 3;
28+
set @old_spider_quick_page_size= @@spider_quick_page_size;
29+
set session spider_quick_page_size= 3;
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
!include include/default_mysqld.cnf
2+
!include my_1_1.cnf
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
[mysqld.1.1]
2+
log-bin= master-bin
3+
loose_handlersocket_port= 20000
4+
loose_handlersocket_port_wr= 20001
5+
loose_handlersocket_threads= 2
6+
loose_handlersocket_threads_wr= 1
7+
loose_handlersocket_support_merge_table= 0
8+
loose_handlersocket_direct_update_mode= 2
9+
loose_handlersocket_unlimited_boundary= 65536
10+
loose_handlersocket_bulk_insert= 0
11+
loose_handlersocket_bulk_insert_timeout= 0
12+
loose_handlersocket_general_log= 1
13+
loose_handlersocket_timeout= 30
14+
loose_handlersocket_close_table_interval=2
15+
open_files_limit= 4096
16+
loose_partition= 1
17+
18+
[ENV]
19+
USE_GEOMETRY_TEST= 1
20+
USE_FULLTEXT_TEST= 1
21+
USE_HA_TEST= 1
22+
USE_GENERAL_LOG= 1
23+
USE_REPLICATION= 1
24+
MASTER_1_MYPORT= @mysqld.1.1.port
25+
MASTER_1_HSRPORT= 20000
26+
MASTER_1_HSWPORT= 20001
27+
MASTER_1_MYSOCK= @mysqld.1.1.socket
28+
MASTER_1_ENGINE_TYPE= Spider
29+
#MASTER_1_ENGINE_TYPE= MyISAM
30+
MASTER_1_ENGINE= ENGINE=Spider
31+
MASTER_1_CHARSET= DEFAULT CHARSET=utf8
32+
MASTER_1_ENGINE2= ENGINE=MyISAM
33+
MASTER_1_CHARSET2= DEFAULT CHARSET=utf8
34+
MASTER_1_CHARSET3= DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
35+
36+
STR_SEMICOLON= ;
37+
38+
#The followings are set in include/init_xxx.inc files
39+
# MASTER_1_COMMENT_2_1
40+
# MASTER_1_COMMENT2_2_1
41+
# MASTER_1_COMMENT3_2_1
42+
# MASTER_1_COMMENT4_2_1
43+
# MASTER_1_COMMENT5_2_1
44+
# MASTER_1_COMMENT_P_2_1
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
[mysqld.2.1]
2+
loose_handlersocket_port= 20002
3+
loose_handlersocket_port_wr= 20003
4+
loose_handlersocket_threads= 2
5+
loose_handlersocket_threads_wr= 1
6+
loose_handlersocket_support_merge_table= 0
7+
loose_handlersocket_direct_update_mode= 2
8+
loose_handlersocket_unlimited_boundary= 65536
9+
loose_handlersocket_bulk_insert= 0
10+
loose_handlersocket_bulk_insert_timeout= 0
11+
loose_handlersocket_general_log= 1
12+
loose_handlersocket_timeout= 30
13+
loose_handlersocket_close_table_interval=2
14+
open_files_limit= 4096
15+
16+
[ENV]
17+
USE_CHILD_GROUP2= 1
18+
OUTPUT_CHILD_GROUP2= 0
19+
CHILD2_1_MYPORT= @mysqld.2.1.port
20+
CHILD2_1_HSRPORT= 20002
21+
CHILD2_1_HSWPORT= 20003
22+
CHILD2_1_MYSOCK= @mysqld.2.1.socket
23+
CHILD2_1_ENGINE_TYPE= InnoDB
24+
CHILD2_1_ENGINE= ENGINE=InnoDB
25+
CHILD2_1_CHARSET= DEFAULT CHARSET=utf8
26+
CHILD2_1_CHARSET2= DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
27+
CHILD2_1_FT_MYPORT= @mysqld.2.1.port
28+
CHILD2_1_FT_MYSOCK= @mysqld.2.1.socket
29+
CHILD2_1_FT_ENGINE_TYPE= MyISAM
30+
CHILD2_1_FT_ENGINE= ENGINE=MyISAM
31+
CHILD2_1_FT_CHARSET= DEFAULT CHARSET=utf8
32+
CHILD2_1_GM_MYPORT= @mysqld.2.1.port
33+
CHILD2_1_GM_MYSOCK= @mysqld.2.1.socket
34+
CHILD2_1_GM_ENGINE_TYPE= MyISAM
35+
CHILD2_1_GM_ENGINE= ENGINE=MyISAM
36+
CHILD2_1_GM_CHARSET= DEFAULT CHARSET=utf8
37+
38+
#The followings are set in include/init_xxx.inc files
39+
# CHILD2_1_DROP_TABLES
40+
# CHILD2_1_CREATE_TABLES
41+
# CHILD2_1_SELECT_TABLES
42+
# CHILD2_1_DROP_TABLES2
43+
# CHILD2_1_CREATE_TABLES2
44+
# CHILD2_1_SELECT_TABLES2
45+
# CHILD2_1_DROP_TABLES3
46+
# CHILD2_1_CREATE_TABLES3
47+
# CHILD2_1_SELECT_TABLES3
48+
# CHILD2_1_DROP_TABLES4
49+
# CHILD2_1_CREATE_TABLES4
50+
# CHILD2_1_SELECT_TABLES4
51+
# CHILD2_1_DROP_TABLES5
52+
# CHILD2_1_CREATE_TABLES5
53+
# CHILD2_1_SELECT_TABLES5
54+
# CHILD2_1_DROP_TABLES6
55+
# CHILD2_1_CREATE_TABLES6
56+
# CHILD2_1_SELECT_TABLES6
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
[mysqld.2.2]
2+
loose_handlersocket_port= 20004
3+
loose_handlersocket_port_wr= 20005
4+
loose_handlersocket_threads= 2
5+
loose_handlersocket_threads_wr= 1
6+
loose_handlersocket_support_merge_table= 0
7+
loose_handlersocket_direct_update_mode= 2
8+
loose_handlersocket_unlimited_boundary= 65536
9+
loose_handlersocket_bulk_insert= 0
10+
loose_handlersocket_bulk_insert_timeout= 0
11+
loose_handlersocket_general_log= 1
12+
loose_handlersocket_timeout= 30
13+
loose_handlersocket_close_table_interval=2
14+
open_files_limit= 4096
15+
16+
[ENV]
17+
CHILD2_2_MYPORT= @mysqld.2.2.port
18+
CHILD2_2_HSRPORT= 20004
19+
CHILD2_2_HSWPORT= 20005
20+
CHILD2_2_MYSOCK= @mysqld.2.2.socket
21+
CHILD2_2_ENGINE_TYPE= InnoDB
22+
CHILD2_2_ENGINE= ENGINE=InnoDB
23+
CHILD2_2_CHARSET= DEFAULT CHARSET=utf8
24+
CHILD2_2_FT_MYPORT= @mysqld.2.2.port
25+
CHILD2_2_FT_MYSOCK= @mysqld.2.2.socket
26+
CHILD2_2_FT_ENGINE_TYPE= MyISAM
27+
CHILD2_2_FT_ENGINE= ENGINE=MyISAM
28+
CHILD2_2_FT_CHARSET= DEFAULT CHARSET=utf8
29+
CHILD2_2_GM_MYPORT= @mysqld.2.2.port
30+
CHILD2_2_GM_MYSOCK= @mysqld.2.2.socket
31+
CHILD2_2_GM_ENGINE_TYPE= MyISAM
32+
CHILD2_2_GM_ENGINE= ENGINE=MyISAM
33+
CHILD2_2_GM_CHARSET= DEFAULT CHARSET=utf8
34+
35+
#The followings are set in include/init_xxx.inc files
36+
# CHILD2_2_DROP_TABLES
37+
# CHILD2_2_CREATE_TABLES
38+
# CHILD2_2_SELECT_TABLES
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[mysqld.2.3]
2+
3+
[ENV]
4+
CHILD2_3_MYPORT= @mysqld.2.3.port
5+
CHILD2_3_MYSOCK= @mysqld.2.3.socket
6+
CHILD2_3_ENGINE_TYPE= InnoDB
7+
CHILD2_3_ENGINE= ENGINE=InnoDB
8+
CHILD2_3_CHARSET= DEFAULT CHARSET=utf8
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[mysqld.3.1]
2+
loose_partition= 1
3+
4+
[ENV]
5+
USE_CHILD_GROUP3= 1
6+
OUTPUT_CHILD_GROUP3= 0
7+
CHILD3_1_MYPORT= @mysqld.3.1.port
8+
CHILD3_1_MYSOCK= @mysqld.3.1.socket
9+
CHILD3_1_ENGINE_TYPE= InnoDB
10+
CHILD3_1_ENGINE= ENGINE=InnoDB
11+
CHILD3_1_CHARSET= DEFAULT CHARSET=utf8
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[mysqld.3.2]
2+
loose_partition= 1
3+
4+
[ENV]
5+
CHILD3_2_MYPORT= @mysqld.3.2.port
6+
CHILD3_2_MYSOCK= @mysqld.3.2.socket
7+
CHILD3_2_ENGINE_TYPE= InnoDB
8+
CHILD3_2_ENGINE= ENGINE=InnoDB
9+
CHILD3_2_CHARSET= DEFAULT CHARSET=utf8
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[mysqld.3.3]
2+
loose_partition= 1
3+
4+
[ENV]
5+
CHILD3_3_MYPORT= @mysqld.3.3.port
6+
CHILD3_3_MYSOCK= @mysqld.3.3.socket
7+
CHILD3_3_ENGINE_TYPE= InnoDB
8+
CHILD3_3_ENGINE= ENGINE=InnoDB
9+
CHILD3_3_CHARSET= DEFAULT CHARSET=utf8

0 commit comments

Comments
 (0)