[Commits] 768b4c8: MDEV-8646: Re-factor the code for working tables

Sergei Petrunia psergey at askmonty.org
Sun Dec 27 17:16:35 EET 2015


revision-id: 768b4c8d25bb4a52d213bdc486e1e5e44b10ce74
parent(s): b8a9564a366da36953b2e1532e3c1fb5152ecfb9
committer: Sergei Petrunia
branch nick: 10.1-mdev8646
timestamp: 2015-12-28 02:16:35 +1100
message:

MDEV-8646: Re-factor the code for working tables

Fixed distinct.result. The old code was hitting the problem described
in MDEV-8857. The new code is no longer hitting it.

---
 mysql-test/r/distinct.result |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/mysql-test/r/distinct.result b/mysql-test/r/distinct.result
index 34c702e..75edb68 100644
--- a/mysql-test/r/distinct.result
+++ b/mysql-test/r/distinct.result
@@ -302,11 +302,11 @@ WHERE
 AND ((t1.id=j_lj_t3.id AND t3_lj.id IS NULL) OR (t1.id=t3.id AND t3.idx=2));
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 1	SIMPLE	t1	index	id	id	4	NULL	2	Using index; Using temporary
-1	SIMPLE	t2	index	id	id	8	NULL	1	Using index; Distinct; Using join buffer (flat, BNL join)
-1	SIMPLE	t3	index	id	id	8	NULL	1	Using index; Distinct; Using join buffer (flat, BNL join)
-1	SIMPLE	j_lj_t2	index	id	id	4	NULL	2	Using where; Using index; Distinct; Using join buffer (flat, BNL join)
-1	SIMPLE	t2_lj	ref	id	id	4	test.j_lj_t2.id	1	Using where; Using index; Distinct
-1	SIMPLE	j_lj_t3	index	id	id	4	NULL	2	Using where; Using index; Distinct; Using join buffer (flat, BNL join)
+1	SIMPLE	t2	index	id	id	8	NULL	1	Using index; Using join buffer (flat, BNL join)
+1	SIMPLE	t3	index	id	id	8	NULL	1	Using index; Using join buffer (flat, BNL join)
+1	SIMPLE	j_lj_t2	index	id	id	4	NULL	2	Using where; Using index; Using join buffer (flat, BNL join)
+1	SIMPLE	t2_lj	ref	id	id	4	test.j_lj_t2.id	1	Using where; Using index
+1	SIMPLE	j_lj_t3	index	id	id	4	NULL	2	Using where; Using index; Using join buffer (flat, BNL join)
 1	SIMPLE	t3_lj	ref	id	id	4	test.j_lj_t3.id	1	Using where; Using index; Distinct
 SELECT DISTINCT
 t1.id
@@ -518,7 +518,7 @@ id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 EXPLAIN SELECT DISTINCT t1_1.a, t1_1.b FROM t1 t1_1, t1 t1_2;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 1	SIMPLE	t1_1	ALL	NULL	NULL	NULL	NULL	3	Using temporary
-1	SIMPLE	t1_2	index	NULL	PRIMARY	4	NULL	3	Using index; Distinct; Using join buffer (flat, BNL join)
+1	SIMPLE	t1_2	index	NULL	PRIMARY	4	NULL	3	Using index; Using join buffer (flat, BNL join)
 EXPLAIN SELECT DISTINCT t1_1.a, t1_1.b FROM t1 t1_1, t1 t1_2
 WHERE t1_1.a = t1_2.a;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
@@ -916,8 +916,8 @@ SELECT STRAIGHT_JOIN DISTINCT t1.id  FROM
 t1, v1, t2 WHERE v1.id = t2.i AND t1.i1 = v1.i1 AND t2.i != 3;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
 1	PRIMARY	t1	ALL	NULL	NULL	NULL	NULL	96	100.00	Using where; Using temporary
-1	PRIMARY	<derived2>	ref	key0	key0	5	test.t1.i1	9	100.00	Using where; Distinct
-1	PRIMARY	t2	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where; Distinct; Using join buffer (flat, BNL join)
+1	PRIMARY	<derived2>	ref	key0	key0	5	test.t1.i1	9	100.00	Using where
+1	PRIMARY	t2	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where; Using join buffer (flat, BNL join)
 2	DERIVED	t1	ALL	NULL	NULL	NULL	NULL	96	100.00	
 Warnings:
 Note	1003	select straight_join distinct `test`.`t1`.`id` AS `id` from `test`.`t1` join `test`.`v1` join `test`.`t2` where ((`test`.`t2`.`i` = `v1`.`id`) and (`v1`.`i1` = `test`.`t1`.`i1`) and (`v1`.`id` <> 3))


More information about the commits mailing list