mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge 10.3 into 10.4
The MDEV-17262 commit 26432e49d3
was skipped. In Galera 4, the implementation would seem to require
changes to the streaming replication.
In the tests archive.rnd_pos main.profiling, disable_ps_protocol
for SHOW STATUS and SHOW PROFILE commands until MDEV-18974
has been fixed.
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
/*
|
||||
Copyright (c) 2000, 2016, Oracle and/or its affiliates.
|
||||
Copyright (c) 2009, 2017, MariaDB Corporation.
|
||||
Copyright (c) 2009, 2019, MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@ -3847,8 +3847,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,
|
||||
@ -5033,11 +5033,6 @@ public:
|
||||
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;
|
||||
}
|
||||
|
||||
bool having_pushdown;
|
||||
};
|
||||
|
||||
@ -5130,6 +5125,7 @@ public:
|
||||
void reset(THD *thd_arg) { thd= thd_arg; }
|
||||
};
|
||||
|
||||
class select_result_interceptor;
|
||||
|
||||
/*
|
||||
Interface for sending tabular data, together with some other stuff:
|
||||
@ -5228,11 +5224,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
|
||||
@ -5308,7 +5303,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
|
||||
@ -5442,7 +5437,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; }
|
||||
};
|
||||
|
||||
|
||||
@ -6485,28 +6480,33 @@ 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)
|
||||
|
||||
#ifdef WITH_WSREP
|
||||
/**
|
||||
DDL statement that may be subject to error filtering.
|
||||
*/
|
||||
#define CF_WSREP_MAY_IGNORE_ERRORS (1U << 23)
|
||||
#define CF_WSREP_MAY_IGNORE_ERRORS (1U << 24)
|
||||
#endif /* WITH_WSREP */
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user