summaryrefslogtreecommitdiff
path: root/sql/sql_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_view.cc')
-rw-r--r--sql/sql_view.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/sql/sql_view.cc b/sql/sql_view.cc
index 8aa93a7bbeb..b402e7e0936 100644
--- a/sql/sql_view.cc
+++ b/sql/sql_view.cc
@@ -183,7 +183,7 @@ fill_defined_view_parts (THD *thd, TABLE_LIST *view)
TABLE_LIST decoy;
memcpy (&decoy, view, sizeof (TABLE_LIST));
- if (!open_table(thd, &decoy, thd->mem_root, &not_used, 0) &&
+ if (!open_table(thd, &decoy, thd->mem_root, &not_used, OPEN_VIEW_NO_PARSE) &&
!decoy.view)
{
return TRUE;
@@ -815,13 +815,14 @@ loop_out:
thd Thread handler
parser parser object
table TABLE_LIST structure for filling
-
+ flags flags
RETURN
0 ok
1 error
*/
-bool mysql_make_view(THD *thd, File_parser *parser, TABLE_LIST *table)
+bool mysql_make_view(THD *thd, File_parser *parser, TABLE_LIST *table,
+ uint flags)
{
SELECT_LEX *end, *view_select;
LEX *old_lex, *lex;
@@ -912,6 +913,10 @@ bool mysql_make_view(THD *thd, File_parser *parser, TABLE_LIST *table)
table->db, table->table_name);
get_default_definer(thd, &table->definer);
}
+ if (flags & OPEN_VIEW_NO_PARSE)
+ {
+ DBUG_RETURN(FALSE);
+ }
/*
Save VIEW parameters, which will be wiped out by derived table