summaryrefslogtreecommitdiff
path: root/mysql-test/t/derived.test
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2004-02-01 20:07:44 +0200
committerunknown <bell@sanja.is.com.ua>2004-02-01 20:07:44 +0200
commit1f739ca45eb009de8dadd4503374bc4a5c6bf5c0 (patch)
treed50de3f64cb91f76d133744d99eca3afb6493c01 /mysql-test/t/derived.test
parent00b2168b8c4f41f48e6de8e2fec46ace253810f9 (diff)
downloadmariadb-git-1f739ca45eb009de8dadd4503374bc4a5c6bf5c0.tar.gz
make JOIN::prepare, JOIN::optimize only once for EXPLAIN of derived table
(BUG#2120 sfter merge) mysql-test/r/derived.result: correct results of derived tble EXPLAIN test of "Using Index" with derived tables mysql-test/t/derived.test: test of "Using Index" with derived tables sql/mysql_priv.h: way to force derived table save JOIN after execution sql/sql_derived.cc: way to force derived table save JOIN after execution sql/sql_lex.h: way to force derived table save JOIN after execution sql/sql_select.cc: make JOIN::prepare, JOIN::optimize only once for EXPLAIN of derived table
Diffstat (limited to 'mysql-test/t/derived.test')
-rw-r--r--mysql-test/t/derived.test10
1 files changed, 10 insertions, 0 deletions
diff --git a/mysql-test/t/derived.test b/mysql-test/t/derived.test
index b412555f1e8..988ef30d1dc 100644
--- a/mysql-test/t/derived.test
+++ b/mysql-test/t/derived.test
@@ -192,3 +192,13 @@ CREATE TABLE t1 (name char(1) default NULL, val int(5) default NULL);
INSERT INTO t1 VALUES ('a',1), ('a',2), ('a',2), ('a',2), ('a',3), ('a',6), ('a',7), ('a',11), ('a',11), ('a',12), ('a',13), ('a',13), ('a',20), ('b',2), ('b',3), ('b',4), ('b',5);
SELECT s.name, AVG(s.val) AS median FROM (SELECT x.name, x.val FROM t1 x, t1 y WHERE x.name=y.name GROUP BY x.name, x.val HAVING SUM(y.val <= x.val) >= COUNT(*)/2 AND SUM(y.val >= x.val) >= COUNT(*)/2) AS s GROUP BY s.name;
explain SELECT s.name, AVG(s.val) AS median FROM (SELECT x.name, x.val FROM t1 x, t1 y WHERE x.name=y.name GROUP BY x.name, x.val HAVING SUM(y.val <= x.val) >= COUNT(*)/2 AND SUM(y.val >= x.val) >= COUNT(*)/2) AS s GROUP BY s.name;
+drop table t1;
+
+#
+# "Using index" in explain
+#
+create table t2 (a int, b int, primary key (a));
+insert into t2 values (1,7),(2,7);
+explain select a from t2 where a>1;
+explain select a from (select a from t2 where a>1) tt;
+drop table t2;