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.h34
1 files changed, 17 insertions, 17 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 69e6f58f854..e8083c5981b 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -3801,8 +3801,8 @@ public:
void add_changed_table(TABLE *table);
void add_changed_table(const char *key, size_t key_length);
CHANGED_TABLE_LIST * changed_table_dup(const char *key, size_t key_length);
- void prepare_explain_fields(select_result *result, List<Item> *field_list,
- uint8 explain_flags, bool is_analyze);
+ int prepare_explain_fields(select_result *result, List<Item> *field_list,
+ uint8 explain_flags, bool is_analyze);
int send_explain_fields(select_result *result, uint8 explain_flags,
bool is_analyze);
void make_explain_field_list(List<Item> &field_list, uint8 explain_flags,
@@ -4836,11 +4836,6 @@ public:
Item *sp_fix_func_item(Item **it_addr);
Item *sp_prepare_func_item(Item **it_addr, uint cols= 1);
bool sp_eval_expr(Field *result_field, Item **expr_item_ptr);
-
- inline void prepare_logs_for_admin_command()
- {
- query_plan_flags|= QPLAN_ADMIN;
- }
};
inline void add_to_active_threads(THD *thd)
@@ -4945,6 +4940,7 @@ public:
void reset(THD *thd_arg) { thd= thd_arg; }
};
+class select_result_interceptor;
/*
Interface for sending tabular data, together with some other stuff:
@@ -5043,11 +5039,10 @@ public:
/*
This returns
- - FALSE if the class sends output row to the client
- - TRUE if the output is set elsewhere (a file, @variable, or table).
- Currently all intercepting classes derive from select_result_interceptor.
+ - NULL if the class sends output row to the client
+ - this if the output is set elsewhere (a file, @variable, or table).
*/
- virtual bool is_result_interceptor()=0;
+ virtual select_result_interceptor *result_interceptor()=0;
/*
This method is used to distinguish an normal SELECT from the cursor
@@ -5123,7 +5118,7 @@ public:
} /* Remove gcc warning */
uint field_count(List<Item> &fields) const { return 0; }
bool send_result_set_metadata(List<Item> &fields, uint flag) { return FALSE; }
- bool is_result_interceptor() { return true; }
+ select_result_interceptor *result_interceptor() { return this; }
/*
Instruct the object to not call my_ok(). Client output will be handled
@@ -5257,7 +5252,7 @@ public:
virtual bool check_simple_select() const { return FALSE; }
void abort_result_set();
virtual void cleanup();
- bool is_result_interceptor() { return false; }
+ select_result_interceptor *result_interceptor() { return NULL; }
};
@@ -6297,21 +6292,26 @@ public:
#define CF_UPDATES_DATA (1U << 18)
/**
+ Not logged into slow log as "admin commands"
+*/
+#define CF_ADMIN_COMMAND (1U << 19)
+
+/**
SP Bulk execution safe
*/
-#define CF_SP_BULK_SAFE (1U << 19)
+#define CF_SP_BULK_SAFE (1U << 20)
/**
SP Bulk execution optimized
*/
-#define CF_SP_BULK_OPTIMIZED (1U << 20)
+#define CF_SP_BULK_OPTIMIZED (1U << 21)
/**
If command creates or drops a table
*/
-#define CF_SCHEMA_CHANGE (1U << 21)
+#define CF_SCHEMA_CHANGE (1U << 22)
/**
If command creates or drops a database
*/
-#define CF_DB_CHANGE (1U << 22)
+#define CF_DB_CHANGE (1U << 23)
/* Bits in server_command_flags */