1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Merge branch '10.2' into 10.3

This commit is contained in:
Sergei Golubchik
2019-03-17 13:06:41 +01:00
147 changed files with 1449 additions and 781 deletions

View File

@ -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; }
};
@ -6296,22 +6291,27 @@ 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 */