diff options
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r-- | sql/sql_class.h | 34 |
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 */ |