Commit 792074bf authored by gshchepa/uchum@host.loc's avatar gshchepa/uchum@host.loc

Merge host.loc:/home/uchum/work/5.0-opt-35193

into  host.loc:/home/uchum/work/5.0-opt
parents 0a2e401c 2dcec449
...@@ -3659,6 +3659,24 @@ DROP TABLE t1; ...@@ -3659,6 +3659,24 @@ DROP TABLE t1;
# -- End of test case for Bug#34337. # -- 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. # -- End of 5.0 tests.
# ----------------------------------------------------------------- # -----------------------------------------------------------------
...@@ -3537,6 +3537,29 @@ DROP TABLE t1; ...@@ -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 # -----------------------------------------------------------------
--echo # -- End of 5.0 tests. --echo # -- End of 5.0 tests.
--echo # ----------------------------------------------------------------- --echo # -----------------------------------------------------------------
...@@ -15806,6 +15806,14 @@ void st_select_lex::print(THD *thd, String *str) ...@@ -15806,6 +15806,14 @@ void st_select_lex::print(THD *thd, String *str)
/* go through join tree */ /* go through join tree */
print_join(thd, str, &top_join_list); 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 // Where
Item *cur_where= where; Item *cur_where= where;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment