diff options
author | unknown <gluh@gluh.(none)> | 2006-11-21 14:04:43 +0400 |
---|---|---|
committer | unknown <gluh@gluh.(none)> | 2006-11-21 14:04:43 +0400 |
commit | 3a64adc4ea0281eddfd7ba4a5262ef6d6b497ceb (patch) | |
tree | a32cc83008be0bc46d4d620a00273dfb2ff558f3 | |
parent | 25c21042dbfeebff42d1cf7880da64ba7cd2bbfa (diff) | |
parent | 1ae9f3b985c59f0c94922cb2bc3c186abae5c619 (diff) | |
download | mariadb-git-3a64adc4ea0281eddfd7ba4a5262ef6d6b497ceb.tar.gz |
Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt
sql/sql_select.cc:
Auto merged
mysql-test/r/information_schema.result:
SCCS merged
mysql-test/t/information_schema.test:
SCCS merged
-rw-r--r-- | mysql-test/r/information_schema.result | 15 | ||||
-rw-r--r-- | mysql-test/t/information_schema.test | 14 | ||||
-rw-r--r-- | sql/sql_select.cc | 2 |
3 files changed, 31 insertions, 0 deletions
diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index 305e89f0325..2caa11f245b 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -1329,6 +1329,21 @@ COLUMN_NAME MD5(COLUMN_DEFAULT) LENGTH(COLUMN_DEFAULT) COLUMN_DEFAULT=get_value( fld1 7cf7a6782be951a1f2464a350da926a5 65532 1 DROP TABLE bug23037; DROP FUNCTION get_value; +create view v1 as +select table_schema as object_schema, +table_name as object_name, +table_type as object_type +from information_schema.tables +order by object_schema; +explain select * from v1; +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY <derived2> system NULL NULL NULL NULL 0 const row not found +2 DERIVED tables ALL NULL NULL NULL NULL 2 Using filesort +explain select * from (select table_name from information_schema.tables) as a; +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY <derived2> system NULL NULL NULL NULL 0 const row not found +2 DERIVED tables ALL NULL NULL NULL NULL 2 +drop view v1; End of 5.0 tests. select * from information_schema.engines WHERE ENGINE="MyISAM"; ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS diff --git a/mysql-test/t/information_schema.test b/mysql-test/t/information_schema.test index 4ae88736b98..19375cae269 100644 --- a/mysql-test/t/information_schema.test +++ b/mysql-test/t/information_schema.test @@ -974,6 +974,20 @@ SELECT COLUMN_NAME, MD5(COLUMN_DEFAULT), LENGTH(COLUMN_DEFAULT), COLUMN_DEFAULT= DROP TABLE bug23037; DROP FUNCTION get_value; + +# +# Bug#22413: EXPLAIN SELECT FROM view with ORDER BY yield server crash +# +create view v1 as +select table_schema as object_schema, + table_name as object_name, + table_type as object_type +from information_schema.tables +order by object_schema; +explain select * from v1; +explain select * from (select table_name from information_schema.tables) as a; +drop view v1; + --echo End of 5.0 tests. # # Show engines diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 231a760453c..88bb6ea7518 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -1474,6 +1474,7 @@ JOIN::exec() curr_join->examined_rows= 0; if ((curr_join->select_lex->options & OPTION_SCHEMA_TABLE) && + !thd->lex->describe && get_schema_tables_result(curr_join)) { DBUG_VOID_RETURN; @@ -12499,6 +12500,7 @@ create_sort_index(THD *thd, JOIN *join, ORDER *order, /* Fill schema tables with data before filesort if it's necessary */ if ((join->select_lex->options & OPTION_SCHEMA_TABLE) && + !thd->lex->describe && get_schema_tables_result(join)) goto err; |