mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fix for Bug#30217: Views: changes in metadata behaviour
between 5.0 and 5.1. The problem was that in the patch for Bug#11986 it was decided to store original query in UTF8 encoding for the INFORMATION_SCHEMA. This approach however turned out to be quite difficult to implement properly. The main problem is to preserve the same IS-output after dump/restore. So, the fix is to rollback to the previous functionality, but also to fix it to support multi-character-set-queries properly. The idea is to generate INFORMATION_SCHEMA-query from the item-tree after parsing view declaration. The IS-query should: - be completely in UTF8; - not contain character set introducers. For more information, see WL4052.
This commit is contained in:
@ -543,7 +543,7 @@ public:
|
||||
inline void unclean() { cleaned= 0; }
|
||||
void reinit_exec_mechanism();
|
||||
|
||||
void print(String *str);
|
||||
void print(String *str, enum_query_type query_type);
|
||||
|
||||
bool add_fake_select_lex(THD *thd);
|
||||
void init_prepare_fake_select_lex(THD *thd);
|
||||
@ -762,9 +762,11 @@ public:
|
||||
init_select();
|
||||
}
|
||||
bool setup_ref_array(THD *thd, uint order_group_num);
|
||||
void print(THD *thd, String *str);
|
||||
static void print_order(String *str, ORDER *order);
|
||||
void print_limit(THD *thd, String *str);
|
||||
void print(THD *thd, String *str, enum_query_type query_type);
|
||||
static void print_order(String *str,
|
||||
ORDER *order,
|
||||
enum_query_type query_type);
|
||||
void print_limit(THD *thd, String *str, enum_query_type query_type);
|
||||
void fix_prepare_information(THD *thd, Item **conds, Item **having_conds);
|
||||
/*
|
||||
Destroy the used execution plan (JOIN) of this subtree (this
|
||||
@ -1708,8 +1710,6 @@ typedef struct st_lex : public Query_tables_list
|
||||
*/
|
||||
bool use_only_table_context;
|
||||
|
||||
LEX_STRING view_body_utf8;
|
||||
|
||||
/*
|
||||
Reference to a struct that contains information in various commands
|
||||
to add/create/drop/change table spaces.
|
||||
|
Reference in New Issue
Block a user