mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
WL#3303 (RBR: Engine-controlled logging format):
Moving code to check storage engine capabilities to after tables are locked. Moving code to cache table flags so that table flags are read from the storage engine at the beginning of the statement in addition to when the storage engine is opened. To handle CREATE-SELECT, the decision function is called after the table is created and it is called with all tables that are in the select part of the statement as well as the newly created table.
This commit is contained in:
@@ -1921,6 +1921,7 @@ class select_insert :public select_result_interceptor {
|
||||
class select_create: public select_insert {
|
||||
ORDER *group;
|
||||
TABLE_LIST *create_table;
|
||||
TABLE_LIST *select_tables;
|
||||
List<create_field> *extra_fields;
|
||||
List<Key> *keys;
|
||||
HA_CREATE_INFO *create_info;
|
||||
@@ -1930,10 +1931,11 @@ public:
|
||||
HA_CREATE_INFO *create_info_par,
|
||||
List<create_field> &fields_par,
|
||||
List<Key> &keys_par,
|
||||
List<Item> &select_fields,enum_duplicates duplic, bool ignore)
|
||||
List<Item> &select_fields,enum_duplicates duplic, bool ignore,
|
||||
TABLE_LIST *select_tables_arg)
|
||||
:select_insert (NULL, NULL, &select_fields, 0, 0, duplic, ignore),
|
||||
create_table(table_arg), extra_fields(&fields_par),keys(&keys_par),
|
||||
create_info(create_info_par)
|
||||
create_info(create_info_par), select_tables(select_tables_arg)
|
||||
{}
|
||||
int prepare(List<Item> &list, SELECT_LEX_UNIT *u);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user