Loading mysql-test/r/view.result +18 −0 Original line number Diff line number Diff line Loading @@ -3659,6 +3659,24 @@ DROP TABLE t1; # -- End of test case for Bug#34337. # ----------------------------------------------------------------- # -- Bug#35193: VIEW query is rewritten without "FROM DUAL", # -- causing syntax error # ----------------------------------------------------------------- CREATE VIEW v1 AS SELECT 1 FROM DUAL WHERE 1; SELECT * FROM v1; 1 1 SHOW CREATE TABLE v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 AS `1` from DUAL where 1 DROP VIEW v1; # -- End of test case for Bug#35193. # ----------------------------------------------------------------- # -- End of 5.0 tests. # ----------------------------------------------------------------- mysql-test/t/view.test +23 −0 Original line number Diff line number Diff line Loading @@ -3537,6 +3537,29 @@ DROP TABLE t1; ########################################################################### --echo # ----------------------------------------------------------------- --echo # -- Bug#35193: VIEW query is rewritten without "FROM DUAL", --echo # -- causing syntax error --echo # ----------------------------------------------------------------- --echo CREATE VIEW v1 AS SELECT 1 FROM DUAL WHERE 1; --echo SELECT * FROM v1; SHOW CREATE TABLE v1; --echo DROP VIEW v1; --echo --echo # -- End of test case for Bug#35193. --echo ########################################################################### --echo # ----------------------------------------------------------------- --echo # -- End of 5.0 tests. --echo # ----------------------------------------------------------------- sql/sql_select.cc +8 −0 Original line number Diff line number Diff line Loading @@ -15806,6 +15806,14 @@ void st_select_lex::print(THD *thd, String *str) /* go through join tree */ print_join(thd, str, &top_join_list); } else if (where) { /* "SELECT 1 FROM DUAL WHERE 2" should not be printed as "SELECT 1 WHERE 2": the 1st syntax is valid, but the 2nd is not. */ str->append(STRING_WITH_LEN(" from DUAL ")); } // Where Item *cur_where= where; Loading Loading
mysql-test/r/view.result +18 −0 Original line number Diff line number Diff line Loading @@ -3659,6 +3659,24 @@ DROP TABLE t1; # -- End of test case for Bug#34337. # ----------------------------------------------------------------- # -- Bug#35193: VIEW query is rewritten without "FROM DUAL", # -- causing syntax error # ----------------------------------------------------------------- CREATE VIEW v1 AS SELECT 1 FROM DUAL WHERE 1; SELECT * FROM v1; 1 1 SHOW CREATE TABLE v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 AS `1` from DUAL where 1 DROP VIEW v1; # -- End of test case for Bug#35193. # ----------------------------------------------------------------- # -- End of 5.0 tests. # -----------------------------------------------------------------
mysql-test/t/view.test +23 −0 Original line number Diff line number Diff line Loading @@ -3537,6 +3537,29 @@ DROP TABLE t1; ########################################################################### --echo # ----------------------------------------------------------------- --echo # -- Bug#35193: VIEW query is rewritten without "FROM DUAL", --echo # -- causing syntax error --echo # ----------------------------------------------------------------- --echo CREATE VIEW v1 AS SELECT 1 FROM DUAL WHERE 1; --echo SELECT * FROM v1; SHOW CREATE TABLE v1; --echo DROP VIEW v1; --echo --echo # -- End of test case for Bug#35193. --echo ########################################################################### --echo # ----------------------------------------------------------------- --echo # -- End of 5.0 tests. --echo # -----------------------------------------------------------------
sql/sql_select.cc +8 −0 Original line number Diff line number Diff line Loading @@ -15806,6 +15806,14 @@ void st_select_lex::print(THD *thd, String *str) /* go through join tree */ print_join(thd, str, &top_join_list); } else if (where) { /* "SELECT 1 FROM DUAL WHERE 2" should not be printed as "SELECT 1 WHERE 2": the 1st syntax is valid, but the 2nd is not. */ str->append(STRING_WITH_LEN(" from DUAL ")); } // Where Item *cur_where= where; Loading