Crash in setup_sj_materialization_part1() with semijoin+materialization
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| MariaDB |
Fix Released
|
Critical
|
Sergey Petrunia | ||
Bug Description
This query:
SELECT * FROM t1
WHERE (a) IN (
SELECT t5.a
FROM (
t2
ON 1 = 1
)
JOIN t5
);
crashes as follows:
#3 <signal handler called>
#4 0x0000000000806a2c in setup_sj_
#5 0x000000000074a3a4 in make_outerjoin_info (join=0x37afff0) at sql_select.cc:7802
#6 0x000000000074d0d3 in JOIN::optimize (this=0x37afff0) at sql_select.cc:1180
#7 0x00000000007505bb in mysql_select (thd=0x369c108, rref_pointer_
order=0x0, group=0x0, having=0x0, proc_param=0x0, select_
at sql_select.cc:2887
#8 0x0000000000756a7a in handle_select (thd=0x369c108, lex=0x369e510, result=0x37a9a38, setup_tables_
#9 0x00000000006a33de in execute_
#10 0x00000000006a50bc in mysql_execute_
#11 0x00000000006ade55 in mysql_parse (thd=0x369c108,
rawbuf=
found_
#12 0x00000000006aed25 in dispatch_command (command=COM_QUERY, thd=0x369c108,
packet=
at sql_parse.cc:1211
#13 0x00000000006b0333 in do_command (thd=0x369c108) at sql_parse.cc:906
#14 0x000000000069ac67 in handle_
#15 0x00000033b600673d in start_thread () from /lib64/
#16 0x00000033b58d40cd in clone () from /lib64/libc.so.6
Explain also crashes. The particular number of rows in each table seems to be important.
minimal optimizer switch: semijoin=
full optimizer_switch: index_merge=
bzr version-info:
revision-id: <email address hidden>
date: 2011-08-27 00:40:29 +0300
build-date: 2011-08-29 11:23:04 +0300
revno: 3167
branch-nick: maria-5.3
test case:
CREATE TABLE t1 (a int) ;
INSERT IGNORE INTO t1 VALUES (1),(1);
CREATE TABLE t2 (a int);
INSERT INTO t2 VALUES (1);
CREATE TABLE t3 (a int);
CREATE TABLE t4 (a int);
INSERT INTO t4 VALUES (2),(2);
CREATE TABLE t5 (a int);
INSERT INTO t5 VALUES (1);
SET SESSION optimizer_
SELECT * FROM t1
WHERE (a) IN (
SELECT t5.a
FROM (
t2
ON 1 = 1
)
JOIN t5
);
| Changed in maria: | |
| milestone: | none → 5.3 |
| assignee: | nobody → Sergey Petrunia (sergefp) |
| Changed in maria: | |
| importance: | Undecided → High |
| Changed in maria: | |
| importance: | High → Critical |
| Changed in maria: | |
| status: | New → Fix Committed |
| Changed in maria: | |
| status: | Fix Committed → Fix Released |
