diff options
Diffstat (limited to 'sql/sql_view.cc')
-rw-r--r-- | sql/sql_view.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/sql_view.cc b/sql/sql_view.cc index 201725301d6..1a83547816b 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -186,8 +186,10 @@ fill_defined_view_parts (THD *thd, TABLE_LIST *view) if (!open_table(thd, &decoy, thd->mem_root, ¬_used, OPEN_VIEW_NO_PARSE) && !decoy.view) { + /* It's a table */ return TRUE; } + if (!lex->definer) { view->definer.host= decoy.definer.host; @@ -729,8 +731,10 @@ static int mysql_register_view(THD *thd, TABLE_LIST *view, view->query.str= (char*)str.ptr(); view->query.length= str.length()-1; // we do not need last \0 view->source.str= thd->query + thd->lex->create_view_select_start; - view->source.length= (thd->query_length - - thd->lex->create_view_select_start); + view->source.length= (char *)skip_rear_comments((uchar *)view->source.str, + (uchar *)thd->query + + thd->query_length) - + view->source.str; view->file_version= 1; view->calc_md5(md5); view->md5.str= md5; |