mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
Merge fix for BUG#778406.
This commit is contained in:
commit
a0973ba22e
4 changed files with 66 additions and 1 deletions
|
@ -1305,4 +1305,25 @@ WHERE alias2.f11 IN ( SELECT f11 FROM t2 )
|
||||||
GROUP BY field2 ;
|
GROUP BY field2 ;
|
||||||
field2
|
field2
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
#
|
||||||
|
# BUG#778406 Crash in hp_movelink with Aria engine and subqueries
|
||||||
|
#
|
||||||
|
CREATE TABLE t4 (f10 varchar(32) , KEY (f10)) ENGINE=Aria;
|
||||||
|
INSERT INTO t4 VALUES ('x'),('m'),('c');
|
||||||
|
CREATE TABLE t1 (f11 int) ENGINE=Aria;
|
||||||
|
INSERT INTO t1 VALUES (0),(0),(0);
|
||||||
|
CREATE TABLE t2 ( f10 int) ENGINE=Aria;
|
||||||
|
INSERT INTO t2 VALUES (0),(0),(0);
|
||||||
|
CREATE TABLE t3 ( f10 int, f11 int) ENGINE=Aria;
|
||||||
|
SELECT *
|
||||||
|
FROM t4
|
||||||
|
WHERE f10 IN
|
||||||
|
( SELECT t1.f11
|
||||||
|
FROM t1
|
||||||
|
LEFT JOIN t2 JOIN t3 ON t3.f10 = t2.f10 ON t3.f11 != 0 );
|
||||||
|
f10
|
||||||
|
x
|
||||||
|
m
|
||||||
|
c
|
||||||
|
drop table t1,t2,t3,t4;
|
||||||
set @@optimizer_switch=@save_optimizer_switch;
|
set @@optimizer_switch=@save_optimizer_switch;
|
||||||
|
|
|
@ -1313,6 +1313,27 @@ WHERE alias2.f11 IN ( SELECT f11 FROM t2 )
|
||||||
GROUP BY field2 ;
|
GROUP BY field2 ;
|
||||||
field2
|
field2
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
#
|
||||||
|
# BUG#778406 Crash in hp_movelink with Aria engine and subqueries
|
||||||
|
#
|
||||||
|
CREATE TABLE t4 (f10 varchar(32) , KEY (f10)) ENGINE=Aria;
|
||||||
|
INSERT INTO t4 VALUES ('x'),('m'),('c');
|
||||||
|
CREATE TABLE t1 (f11 int) ENGINE=Aria;
|
||||||
|
INSERT INTO t1 VALUES (0),(0),(0);
|
||||||
|
CREATE TABLE t2 ( f10 int) ENGINE=Aria;
|
||||||
|
INSERT INTO t2 VALUES (0),(0),(0);
|
||||||
|
CREATE TABLE t3 ( f10 int, f11 int) ENGINE=Aria;
|
||||||
|
SELECT *
|
||||||
|
FROM t4
|
||||||
|
WHERE f10 IN
|
||||||
|
( SELECT t1.f11
|
||||||
|
FROM t1
|
||||||
|
LEFT JOIN t2 JOIN t3 ON t3.f10 = t2.f10 ON t3.f11 != 0 );
|
||||||
|
f10
|
||||||
|
x
|
||||||
|
m
|
||||||
|
c
|
||||||
|
drop table t1,t2,t3,t4;
|
||||||
set @@optimizer_switch=@save_optimizer_switch;
|
set @@optimizer_switch=@save_optimizer_switch;
|
||||||
#
|
#
|
||||||
# BUG#49129: Wrong result with IN-subquery with join_cache_level=6 and firstmatch=off
|
# BUG#49129: Wrong result with IN-subquery with join_cache_level=6 and firstmatch=off
|
||||||
|
|
|
@ -1189,5 +1189,28 @@ GROUP BY field2 ;
|
||||||
|
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # BUG#778406 Crash in hp_movelink with Aria engine and subqueries
|
||||||
|
--echo #
|
||||||
|
CREATE TABLE t4 (f10 varchar(32) , KEY (f10)) ENGINE=Aria;
|
||||||
|
INSERT INTO t4 VALUES ('x'),('m'),('c');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (f11 int) ENGINE=Aria;
|
||||||
|
INSERT INTO t1 VALUES (0),(0),(0);
|
||||||
|
|
||||||
|
CREATE TABLE t2 ( f10 int) ENGINE=Aria;
|
||||||
|
INSERT INTO t2 VALUES (0),(0),(0);
|
||||||
|
|
||||||
|
CREATE TABLE t3 ( f10 int, f11 int) ENGINE=Aria;
|
||||||
|
|
||||||
|
SELECT *
|
||||||
|
FROM t4
|
||||||
|
WHERE f10 IN
|
||||||
|
( SELECT t1.f11
|
||||||
|
FROM t1
|
||||||
|
LEFT JOIN t2 JOIN t3 ON t3.f10 = t2.f10 ON t3.f11 != 0 );
|
||||||
|
|
||||||
|
drop table t1,t2,t3,t4;
|
||||||
|
|
||||||
# The following command must be the last one the file
|
# The following command must be the last one the file
|
||||||
set @@optimizer_switch=@save_optimizer_switch;
|
set @@optimizer_switch=@save_optimizer_switch;
|
||||||
|
|
|
@ -3527,7 +3527,6 @@ int do_sj_dups_weedout(THD *thd, SJ_TMP_TABLE *sjtbl)
|
||||||
}
|
}
|
||||||
|
|
||||||
ptr= sjtbl->tmp_table->record[0] + 1;
|
ptr= sjtbl->tmp_table->record[0] + 1;
|
||||||
nulls_ptr= ptr;
|
|
||||||
|
|
||||||
/* Put the the rowids tuple into table->record[0]: */
|
/* Put the the rowids tuple into table->record[0]: */
|
||||||
|
|
||||||
|
@ -3543,6 +3542,7 @@ int do_sj_dups_weedout(THD *thd, SJ_TMP_TABLE *sjtbl)
|
||||||
ptr += 2;
|
ptr += 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nulls_ptr= ptr;
|
||||||
// 2. Zero the null bytes
|
// 2. Zero the null bytes
|
||||||
if (sjtbl->null_bytes)
|
if (sjtbl->null_bytes)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue