diff options
author | unknown <bell@sanja.is.com.ua> | 2004-07-21 04:26:20 +0300 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2004-07-21 04:26:20 +0300 |
commit | b01e2f6ddcc93045c9a6bf49294dbf535e3ac4aa (patch) | |
tree | d3689fff2353e54044e5be984ccbb6df293109fb /sql/sql_view.cc | |
parent | d3b2b8429436cdb75ae985b103be8132442dbcb2 (diff) | |
download | mariadb-git-b01e2f6ddcc93045c9a6bf49294dbf535e3ac4aa.tar.gz |
error message interception (Bug#4598)
error handling of view initialization fixed (Bug#4599)
include/mysqld_error.h:
new error message
mysql-test/r/view.result:
changing of underlaying table test
mysql-test/t/view.test:
changing of underlaying table test
sql/share/czech/errmsg.txt:
new error message
sql/share/danish/errmsg.txt:
new error message
sql/share/dutch/errmsg.txt:
new error message
sql/share/english/errmsg.txt:
new error message
sql/share/estonian/errmsg.txt:
new error message
sql/share/french/errmsg.txt:
new error message
sql/share/german/errmsg.txt:
new error message
sql/share/greek/errmsg.txt:
new error message
sql/share/hungarian/errmsg.txt:
new error message
sql/share/italian/errmsg.txt:
new error message
sql/share/japanese/errmsg.txt:
new error message
sql/share/korean/errmsg.txt:
new error message
sql/share/norwegian-ny/errmsg.txt:
new error message
sql/share/norwegian/errmsg.txt:
new error message
sql/share/polish/errmsg.txt:
new error message
sql/share/portuguese/errmsg.txt:
new error message
sql/share/romanian/errmsg.txt:
new error message
sql/share/russian/errmsg.txt:
new error message
sql/share/serbian/errmsg.txt:
new error message
sql/share/slovak/errmsg.txt:
new error message
sql/share/spanish/errmsg.txt:
new error message
sql/share/swedish/errmsg.txt:
new error message
sql/share/ukrainian/errmsg.txt:
new error message
sql/sql_base.cc:
error message interception
error handling fixed
sql/sql_view.cc:
comment fixed
error message interception
sql/table.cc:
error message interception
sql/table.h:
error message interception
Diffstat (limited to 'sql/sql_view.cc')
-rw-r--r-- | sql/sql_view.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sql/sql_view.cc b/sql/sql_view.cc index c5e9918152d..a4293bd4cd7 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -483,6 +483,10 @@ static int mysql_register_view(THD *thd, TABLE_LIST *view, mysql_make_view() parser - parser object; table - TABLE_LIST structure for filling + + RETURN + TRUE OK + FALSE error */ my_bool mysql_make_view(File_parser *parser, TABLE_LIST *table) @@ -576,6 +580,9 @@ mysql_make_view(File_parser *parser, TABLE_LIST *table) } if (!res && !thd->is_fatal_error) { + TABLE_LIST *top_view= (table->belong_to_view ? + table->belong_to_view : + table); /* move SP to main LEX */ sp_merge_funs(old_lex, lex); @@ -586,9 +593,12 @@ mysql_make_view(File_parser *parser, TABLE_LIST *table) if ((table->next_global= lex->query_tables)) table->next_global->prev_global= &table->next_global; - /* mark to avoid temporary table using */ + /* mark to avoid temporary table using and put view reference*/ for (TABLE_LIST *tbl= table->next_global; tbl; tbl= tbl->next_global) + { tbl->skip_temporary= 1; + tbl->belong_to_view= top_view; + } /* check rights to run commands (EXPLAIN SELECT & SHOW CREATE) which show |