mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Fixed LP bug #1058071 (mdev-564).
In some rare cases when the value of the system variable join_buffer_size was set to a number less than 256 the function JOIN_CACHE::set_constants determined the size of an offset in the join buffer equal to 1 though the minimal join buffer required more than 256 bytes. This could cause a crash of the server when records from the join buffer were read.
This commit is contained in:
@ -4817,7 +4817,7 @@ CREATE TABLE t5 (f1 int) ;
|
||||
INSERT INTO t5 VALUES (20),(5);
|
||||
CREATE TABLE t6(f1 int);
|
||||
INSERT INTO t6 VALUES (9),(7);
|
||||
SET SESSION join_buffer_size = 2048;
|
||||
SET SESSION join_buffer_size = 2176;
|
||||
EXPLAIN
|
||||
SELECT STRAIGHT_JOIN * FROM t2, (t1 LEFT JOIN (t3,t4) ON t1.f1 = t4.f1), t5, t6;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
@ -4831,50 +4831,50 @@ SELECT STRAIGHT_JOIN * FROM t2, (t1 LEFT JOIN (t3,t4) ON t1.f1 = t4.f1), t5, t6;
|
||||
f1 f1 f1 f1 f2 f1 f1
|
||||
3 9 NULL NULL NULL 20 9
|
||||
7 9 NULL NULL NULL 20 9
|
||||
3 9 NULL NULL NULL 20 7
|
||||
7 9 NULL NULL NULL 20 7
|
||||
3 9 NULL NULL NULL 5 9
|
||||
7 9 NULL NULL NULL 5 9
|
||||
3 9 NULL NULL NULL 5 7
|
||||
7 9 NULL NULL NULL 5 7
|
||||
18 9 NULL NULL NULL 20 9
|
||||
3 9 NULL NULL NULL 20 9
|
||||
18 9 NULL NULL NULL 20 7
|
||||
3 9 NULL NULL NULL 20 7
|
||||
18 9 NULL NULL NULL 5 9
|
||||
3 9 NULL NULL NULL 5 9
|
||||
18 9 NULL NULL NULL 5 7
|
||||
3 9 NULL NULL NULL 5 7
|
||||
7 9 NULL NULL NULL 20 9
|
||||
18 9 NULL NULL NULL 20 9
|
||||
7 9 NULL NULL NULL 20 7
|
||||
18 9 NULL NULL NULL 20 7
|
||||
7 9 NULL NULL NULL 5 9
|
||||
18 9 NULL NULL NULL 5 9
|
||||
7 9 NULL NULL NULL 5 7
|
||||
18 9 NULL NULL NULL 5 7
|
||||
3 9 NULL NULL NULL 20 9
|
||||
7 9 NULL NULL NULL 20 9
|
||||
3 9 NULL NULL NULL 20 7
|
||||
7 9 NULL NULL NULL 20 7
|
||||
3 9 NULL NULL NULL 5 9
|
||||
7 9 NULL NULL NULL 5 9
|
||||
3 9 NULL NULL NULL 5 7
|
||||
7 9 NULL NULL NULL 5 7
|
||||
18 9 NULL NULL NULL 20 9
|
||||
3 9 NULL NULL NULL 20 9
|
||||
18 9 NULL NULL NULL 20 7
|
||||
3 9 NULL NULL NULL 20 7
|
||||
18 9 NULL NULL NULL 5 9
|
||||
3 9 NULL NULL NULL 5 9
|
||||
18 9 NULL NULL NULL 5 7
|
||||
3 9 NULL NULL NULL 5 7
|
||||
7 9 NULL NULL NULL 20 9
|
||||
18 9 NULL NULL NULL 20 9
|
||||
7 9 NULL NULL NULL 20 7
|
||||
18 9 NULL NULL NULL 20 7
|
||||
18 9 NULL NULL NULL 20 9
|
||||
3 9 NULL NULL NULL 20 9
|
||||
3 9 NULL NULL NULL 5 9
|
||||
7 9 NULL NULL NULL 5 9
|
||||
18 9 NULL NULL NULL 5 9
|
||||
18 9 NULL NULL NULL 20 7
|
||||
3 9 NULL NULL NULL 20 7
|
||||
3 9 NULL NULL NULL 5 7
|
||||
7 9 NULL NULL NULL 5 7
|
||||
18 9 NULL NULL NULL 5 7
|
||||
3 9 NULL NULL NULL 5 9
|
||||
7 9 NULL NULL NULL 5 9
|
||||
18 9 NULL NULL NULL 5 9
|
||||
3 9 NULL NULL NULL 5 9
|
||||
7 9 NULL NULL NULL 20 9
|
||||
3 9 NULL NULL NULL 5 7
|
||||
7 9 NULL NULL NULL 5 7
|
||||
18 9 NULL NULL NULL 5 7
|
||||
3 9 NULL NULL NULL 5 7
|
||||
7 9 NULL NULL NULL 20 7
|
||||
18 9 NULL NULL NULL 20 9
|
||||
3 9 NULL NULL NULL 20 9
|
||||
7 9 NULL NULL NULL 20 9
|
||||
18 9 NULL NULL NULL 20 9
|
||||
7 9 NULL NULL NULL 5 9
|
||||
18 9 NULL NULL NULL 20 7
|
||||
3 9 NULL NULL NULL 20 7
|
||||
7 9 NULL NULL NULL 20 7
|
||||
18 9 NULL NULL NULL 20 7
|
||||
7 9 NULL NULL NULL 5 7
|
||||
18 9 NULL NULL NULL 5 9
|
||||
3 9 NULL NULL NULL 5 9
|
||||
7 9 NULL NULL NULL 5 9
|
||||
18 9 NULL NULL NULL 5 9
|
||||
18 9 NULL NULL NULL 5 7
|
||||
3 9 NULL NULL NULL 5 7
|
||||
7 9 NULL NULL NULL 5 7
|
||||
18 9 NULL NULL NULL 5 7
|
||||
SET SESSION join_buffer_size = DEFAULT;
|
||||
|
Reference in New Issue
Block a user