summaryrefslogtreecommitdiff
path: root/mysql-test/r/compare.result
diff options
context:
space:
mode:
authorDavi Arnaut <Davi.Arnaut@Sun.COM>2010-03-09 07:36:26 -0300
committerDavi Arnaut <Davi.Arnaut@Sun.COM>2010-03-09 07:36:26 -0300
commit301b0786dd9d4fd1c8652d091ceca12cf6aefe2f (patch)
tree97b0315e4505cd5a4fa82e3fc213165b7b71e020 /mysql-test/r/compare.result
parent154fcda82283943b9386f4376da9ee6f906ad8e9 (diff)
downloadmariadb-git-301b0786dd9d4fd1c8652d091ceca12cf6aefe2f.tar.gz
Bug#40277: SHOW CREATE VIEW returns invalid SQL
The problem is that not all column names retrieved from a SELECT statement can be used as view column names due to length and format restrictions. The server failed to properly check the conformity of those automatically generated column names before storing the final view definition on disk. Since columns retrieved from a SELECT statement can be anything ranging from functions to constants values of any format and length, the solution is to rewrite to a pre-defined format any names that are not acceptable as a view column name. The name is rewritten to "Name_exp_%u" where %u translates to the position of the column. To avoid this conversion scheme, define explict names for the view columns via the column_list clause. Also, aliases are now only generated for top level statements.
Diffstat (limited to 'mysql-test/r/compare.result')
-rw-r--r--mysql-test/r/compare.result2
1 files changed, 1 insertions, 1 deletions
diff --git a/mysql-test/r/compare.result b/mysql-test/r/compare.result
index f9563b89b76..796821a87bd 100644
--- a/mysql-test/r/compare.result
+++ b/mysql-test/r/compare.result
@@ -88,7 +88,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
Warnings:
Note 1276 Field or reference 'test.t2.a' of SELECT #2 was resolved in SELECT #1
Note 1276 Field or reference 'test.t2.a' of SELECT #2 was resolved in SELECT #1
-Note 1003 select `test`.`t2`.`a` AS `a`,(select count(0) AS `COUNT(*)` from `test`.`t1` where ((`test`.`t1`.`b` = `test`.`t2`.`a`) and (concat(`test`.`t1`.`b`,`test`.`t1`.`c`) = concat('0',`test`.`t2`.`a`,'01')))) AS `x` from `test`.`t2` order by `test`.`t2`.`a`
+Note 1003 select `test`.`t2`.`a` AS `a`,(select count(0) from `test`.`t1` where ((`test`.`t1`.`b` = `test`.`t2`.`a`) and (concat(`test`.`t1`.`b`,`test`.`t1`.`c`) = concat('0',`test`.`t2`.`a`,'01')))) AS `x` from `test`.`t2` order by `test`.`t2`.`a`
DROP TABLE t1,t2;
CREATE TABLE t1 (a TIMESTAMP);
INSERT INTO t1 VALUES (NOW()),(NOW()),(NOW());