mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge branch '11.2' into 11.4
This commit is contained in:
@ -2837,13 +2837,19 @@ enum class THD_WHERE
|
||||
DEFAULT_WHERE,
|
||||
ON_CLAUSE,
|
||||
WHERE_CLAUSE,
|
||||
CONVERT_CHARSET_CONST,
|
||||
SET_LIST,
|
||||
INSERT_LIST,
|
||||
VALUES_CLAUSE,
|
||||
UPDATE_CLAUSE,
|
||||
RETURNING,
|
||||
FOR_SYSTEM_TIME,
|
||||
ORDER_CLAUSE,
|
||||
HAVING_CLAUSE,
|
||||
GROUP_STATEMENT,
|
||||
PROCEDURE_LIST,
|
||||
CHECK_OPTION,
|
||||
DO_STATEMENT,
|
||||
HANDLER_STATEMENT,
|
||||
USE_WHERE_STRING, // ugh, a compromise for vcol...
|
||||
};
|
||||
|
||||
@ -2977,7 +2983,7 @@ public:
|
||||
A pointer to the stack frame of handle_one_connection(),
|
||||
which is called first in the thread for handling a client
|
||||
*/
|
||||
char *thread_stack;
|
||||
void *thread_stack;
|
||||
|
||||
/**
|
||||
Currently selected catalog.
|
||||
@ -3073,6 +3079,17 @@ public:
|
||||
|
||||
/* Needed by MariaDB semi sync replication */
|
||||
Trans_binlog_info *semisync_info;
|
||||
|
||||
#ifndef DBUG_OFF
|
||||
/*
|
||||
If Active_tranx is missing an entry for a transaction which is planning to
|
||||
await an ACK, this ensures that the reason is because semi-sync was turned
|
||||
off then on in-between the binlogging of the transaction, and before it had
|
||||
started waiting for the ACK.
|
||||
*/
|
||||
ulong expected_semi_sync_offs;
|
||||
#endif
|
||||
|
||||
/* If this is a semisync slave connection. */
|
||||
bool semi_sync_slave;
|
||||
ulonglong client_capabilities; /* What the client supports */
|
||||
@ -4083,6 +4100,10 @@ public:
|
||||
void free_connection();
|
||||
void reset_for_reuse();
|
||||
void store_globals();
|
||||
void reset_stack()
|
||||
{
|
||||
thread_stack= 0;
|
||||
}
|
||||
void reset_globals();
|
||||
bool trace_started()
|
||||
{
|
||||
@ -4709,14 +4730,19 @@ public:
|
||||
return !stmt_arena->is_conventional();
|
||||
}
|
||||
|
||||
void register_item_tree_change(Item **place)
|
||||
{
|
||||
/* TODO: check for OOM condition here */
|
||||
if (is_item_tree_change_register_required())
|
||||
nocheck_register_item_tree_change(place, *place, mem_root);
|
||||
}
|
||||
|
||||
void change_item_tree(Item **place, Item *new_value)
|
||||
{
|
||||
DBUG_ENTER("THD::change_item_tree");
|
||||
DBUG_PRINT("enter", ("Register: %p (%p) <- %p",
|
||||
*place, place, new_value));
|
||||
/* TODO: check for OOM condition here */
|
||||
if (is_item_tree_change_register_required())
|
||||
nocheck_register_item_tree_change(place, *place, mem_root);
|
||||
register_item_tree_change(place);
|
||||
*place= new_value;
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
@ -5886,10 +5912,18 @@ public:
|
||||
lex= backup_lex;
|
||||
}
|
||||
|
||||
bool should_collect_handler_stats() const
|
||||
bool should_collect_handler_stats()
|
||||
{
|
||||
return (variables.log_slow_verbosity & LOG_SLOW_VERBOSITY_ENGINE) ||
|
||||
lex->analyze_stmt;
|
||||
/*
|
||||
We update handler_stats.active to ensure that we have the same
|
||||
value across the whole statement.
|
||||
This function is only called from TABLE::init() so the value will
|
||||
be the same for the whole statement.
|
||||
*/
|
||||
handler_stats.active=
|
||||
((variables.log_slow_verbosity & LOG_SLOW_VERBOSITY_ENGINE) ||
|
||||
lex->analyze_stmt);
|
||||
return handler_stats.active;
|
||||
}
|
||||
|
||||
/* Return true if we should create a note when an unusable key is found */
|
||||
@ -6639,6 +6673,7 @@ public:
|
||||
aggregate functions as normal functions.
|
||||
*/
|
||||
bool precomputed_group_by;
|
||||
bool group_concat;
|
||||
bool force_copy_fields;
|
||||
/*
|
||||
If TRUE, create_tmp_field called from create_tmp_table will convert
|
||||
@ -6657,7 +6692,7 @@ public:
|
||||
group_length(0), group_null_parts(0),
|
||||
using_outer_summary_function(0),
|
||||
schema_table(0), materialized_subquery(0), force_not_null_cols(0),
|
||||
precomputed_group_by(0),
|
||||
precomputed_group_by(0), group_concat(0),
|
||||
force_copy_fields(0), bit_fields_as_long(0), skip_create_table(0)
|
||||
{
|
||||
init();
|
||||
@ -7686,6 +7721,11 @@ public:
|
||||
DDL statement that may be subject to error filtering.
|
||||
*/
|
||||
#define CF_WSREP_MAY_IGNORE_ERRORS (1U << 24)
|
||||
/**
|
||||
Basic DML statements that create writeset.
|
||||
*/
|
||||
#define CF_WSREP_BASIC_DML (1u << 25)
|
||||
|
||||
#endif /* WITH_WSREP */
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user