diff options
author | unknown <lars/lthalmann@dl145k.mysql.com> | 2007-06-21 17:13:02 +0200 |
---|---|---|
committer | unknown <lars/lthalmann@dl145k.mysql.com> | 2007-06-21 17:13:02 +0200 |
commit | 63d7c4a8c837113be1d1f2b45e02c7cd0aeee4d8 (patch) | |
tree | 4cebbff86a038e8f7be63238c8a21a11e106bf20 /sql/sql_view.cc | |
parent | 3e878beddb0c70e9a8204ce04dfcc92c135c1f39 (diff) | |
parent | 72253445131fa3033243a9b663f4d88af019c547 (diff) | |
download | mariadb-git-63d7c4a8c837113be1d1f2b45e02c7cd0aeee4d8.tar.gz |
Merge mysql.com:/nfsdisk1/lars/bk/mysql-5.1
into mysql.com:/nfsdisk1/lars/bk/mysql-5.1-new-rpl
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/ndb_index_ordered.test:
Auto merged
mysys/charset.c:
Auto merged
sql/field.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_view.cc:
Auto merged
Diffstat (limited to 'sql/sql_view.cc')
-rw-r--r-- | sql/sql_view.cc | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/sql/sql_view.cc b/sql/sql_view.cc index 0aab0472f4a..58e74d132d5 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -690,7 +690,6 @@ static int mysql_register_view(THD *thd, TABLE_LIST *view, char md5[MD5_BUFF_LENGTH]; bool can_be_merged; char dir_buff[FN_REFLEN], path_buff[FN_REFLEN]; - const char *endp; LEX_STRING dir, file, path; int error= 0; DBUG_ENTER("mysql_register_view"); @@ -708,10 +707,12 @@ static int mysql_register_view(THD *thd, TABLE_LIST *view, /* fill structure */ view->query.str= str.c_ptr_safe(); view->query.length= str.length(); - view->source.str= thd->query + thd->lex->create_view_select_start; - endp= view->source.str; - endp= skip_rear_comments(thd->charset(), endp, thd->query + thd->query_length); - view->source.length= endp - view->source.str; + + view->source.str= (char*) thd->lex->create_view_select_start; + view->source.length= (thd->lex->create_view_select_end + - thd->lex->create_view_select_start); + trim_whitespace(thd->charset(), & view->source); + view->file_version= 1; view->calc_md5(md5); view->md5.str= md5; @@ -892,7 +893,7 @@ bool mysql_make_view(THD *thd, File_parser *parser, TABLE_LIST *table, LEX *old_lex, *lex; Query_arena *arena, backup; TABLE_LIST *top_view= table->top_table(); - int res; + bool res; bool result, view_is_mergeable; TABLE_LIST *view_main_select_tables; DBUG_ENTER("mysql_make_view"); @@ -1004,7 +1005,6 @@ bool mysql_make_view(THD *thd, File_parser *parser, TABLE_LIST *table, { Lex_input_stream lip(thd, table->query.str, table->query.length); - thd->m_lip= &lip; lex_start(thd); view_select= &lex->select_lex; view_select->select_number= ++thd->select_number; @@ -1038,7 +1038,7 @@ bool mysql_make_view(THD *thd, File_parser *parser, TABLE_LIST *table, MODE_IGNORE_SPACE | MODE_NO_BACKSLASH_ESCAPES); CHARSET_INFO *save_cs= thd->variables.character_set_client; thd->variables.character_set_client= system_charset_info; - res= MYSQLparse((void *)thd); + res= parse_sql(thd, &lip); if ((old_lex->sql_command == SQLCOM_SHOW_FIELDS) || (old_lex->sql_command == SQLCOM_SHOW_CREATE)) @@ -1047,7 +1047,7 @@ bool mysql_make_view(THD *thd, File_parser *parser, TABLE_LIST *table, thd->variables.character_set_client= save_cs; thd->variables.sql_mode= save_mode; } - if (!res && !thd->is_fatal_error) + if (!res) { TABLE_LIST *view_tables= lex->query_tables; TABLE_LIST *view_tables_tail= 0; |