summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r--sql/sql_class.h24
1 files changed, 9 insertions, 15 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h
index ee51b1828da..01e180a6cce 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -2909,7 +2909,7 @@ public:
bool prepare_handlers_for_update(uint flag);
bool binlog_write_annotated_row(Log_event_writer *writer);
void binlog_prepare_for_row_logging();
- bool binlog_write_table_maps();
+ bool binlog_write_table_maps(TABLE *cur_table);
bool binlog_write_table_map(TABLE *table, bool with_annotate);
static void binlog_prepare_row_images(TABLE* table);
@@ -6095,6 +6095,11 @@ class select_insert :public select_result_interceptor {
ulonglong autoinc_value_of_last_inserted_row; // autogenerated or not
COPY_INFO info;
bool insert_into_view;
+ bool binary_logged; // true if query was binlogged
+ bool atomic_replace; // true for atomic create or replace
+ bool tmp_table;
+ Table_specification_st *create_info;
+
select_insert(THD *thd_arg, TABLE_LIST *table_list_par, TABLE *table_par,
List<Item> *fields_par, List<Item> *update_fields,
List<Item> *update_values, enum_duplicates duplic,
@@ -6106,6 +6111,7 @@ class select_insert :public select_result_interceptor {
virtual void store_values(List<Item> &values);
virtual bool can_rollback_data() { return 0; }
bool prepare_eof();
+ bool binlog_query();
bool send_ok_packet();
bool send_eof();
virtual void abort_result_set();
@@ -6115,7 +6121,7 @@ class select_insert :public select_result_interceptor {
class select_create: public select_insert {
- Table_specification_st *create_info;
+ TABLE_LIST *orig_table;
TABLE_LIST *select_tables;
Alter_info *alter_info;
Field **field;
@@ -6132,19 +6138,7 @@ public:
Table_specification_st *create_info_par,
Alter_info *alter_info_arg,
List<Item> &select_fields,enum_duplicates duplic, bool ignore,
- TABLE_LIST *select_tables_arg):
- select_insert(thd_arg, table_arg, NULL, &select_fields, 0, 0, duplic,
- ignore, NULL),
- create_info(create_info_par),
- select_tables(select_tables_arg),
- alter_info(alter_info_arg),
- m_plock(NULL), exit_done(0),
- saved_tmp_table_share(0)
- {
- DBUG_ASSERT(create_info->default_table_charset);
- bzero(&ddl_log_state_create, sizeof(ddl_log_state_create));
- bzero(&ddl_log_state_rm, sizeof(ddl_log_state_rm));
- }
+ TABLE_LIST *select_tables_arg);
int prepare(List<Item> &list, SELECT_LEX_UNIT *u);
void store_values(List<Item> &values);