mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
5.6.17
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
/* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
|
||||
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
|
||||
@@ -371,7 +371,13 @@ struct PFS_ALIGNED PFS_thread : PFS_connection_slice
|
||||
PFS_events_waits *m_events_waits_current;
|
||||
/** Event ID counter */
|
||||
ulonglong m_event_id;
|
||||
/** Internal lock. */
|
||||
/**
|
||||
Internal lock.
|
||||
This lock is exclusively used to protect against races
|
||||
when creating and destroying PFS_thread.
|
||||
Do not use this lock to protect thread attributes,
|
||||
use one of @c m_stmt_lock or @c m_session_lock instead.
|
||||
*/
|
||||
pfs_lock m_lock;
|
||||
/** Pins for filename_hash. */
|
||||
LF_PINS *m_filename_hash_pins;
|
||||
@@ -460,31 +466,63 @@ struct PFS_ALIGNED PFS_thread : PFS_connection_slice
|
||||
*/
|
||||
PFS_events_statements *m_statements_history;
|
||||
|
||||
/** User name. */
|
||||
/**
|
||||
Internal lock, for session attributes.
|
||||
Statement attributes are expected to be updated in frequently,
|
||||
typically per session execution.
|
||||
*/
|
||||
pfs_lock m_session_lock;
|
||||
/**
|
||||
User name.
|
||||
Protected by @c m_session_lock.
|
||||
*/
|
||||
char m_username[USERNAME_LENGTH];
|
||||
/** Length of @c m_username. */
|
||||
/**
|
||||
Length of @c m_username.
|
||||
Protected by @c m_session_lock.
|
||||
*/
|
||||
uint m_username_length;
|
||||
/** Host name. */
|
||||
/**
|
||||
Host name.
|
||||
Protected by @c m_session_lock.
|
||||
*/
|
||||
char m_hostname[HOSTNAME_LENGTH];
|
||||
/** Length of @c m_hostname. */
|
||||
/**
|
||||
Length of @c m_hostname.
|
||||
Protected by @c m_session_lock.
|
||||
*/
|
||||
uint m_hostname_length;
|
||||
/** Database name. */
|
||||
/**
|
||||
Database name.
|
||||
Protected by @c m_stmt_lock.
|
||||
*/
|
||||
char m_dbname[NAME_LEN];
|
||||
/** Length of @c m_dbname. */
|
||||
/**
|
||||
Length of @c m_dbname.
|
||||
Protected by @c m_stmt_lock.
|
||||
*/
|
||||
uint m_dbname_length;
|
||||
/** Current command. */
|
||||
int m_command;
|
||||
/** Start time. */
|
||||
time_t m_start_time;
|
||||
/** Lock for Processlist state, Processlist info. */
|
||||
pfs_lock m_processlist_lock;
|
||||
/** Processlist state. */
|
||||
const char *m_processlist_state_ptr;
|
||||
/** Length of @c m_processlist_state_ptr. */
|
||||
uint m_processlist_state_length;
|
||||
/** Processlist info. */
|
||||
const char *m_processlist_info_ptr;
|
||||
/** Length of @c m_processlist_info_length. */
|
||||
/**
|
||||
Internal lock, for statement attributes.
|
||||
Statement attributes are expected to be updated frequently,
|
||||
typically per statement execution.
|
||||
*/
|
||||
pfs_lock m_stmt_lock;
|
||||
/** Processlist state (derived from stage). */
|
||||
PFS_stage_key m_stage;
|
||||
/**
|
||||
Processlist info.
|
||||
Protected by @c m_stmt_lock.
|
||||
*/
|
||||
char m_processlist_info[COL_INFO_SIZE];
|
||||
/**
|
||||
Length of @c m_processlist_info_length.
|
||||
Protected by @c m_stmt_lock.
|
||||
*/
|
||||
uint m_processlist_info_length;
|
||||
|
||||
PFS_events_stages m_stage_current;
|
||||
@@ -500,12 +538,21 @@ struct PFS_ALIGNED PFS_thread : PFS_connection_slice
|
||||
/** Reset session connect attributes */
|
||||
void reset_session_connect_attrs();
|
||||
|
||||
/** a buffer for the connection attributes */
|
||||
/**
|
||||
Buffer for the connection attributes.
|
||||
Protected by @c m_session_lock.
|
||||
*/
|
||||
char *m_session_connect_attrs;
|
||||
/** length used by @c m_connect_attrs */
|
||||
/**
|
||||
Length used by @c m_connect_attrs.
|
||||
Protected by @c m_session_lock.
|
||||
*/
|
||||
uint m_session_connect_attrs_length;
|
||||
/** character set in which @c m_connect_attrs are encoded */
|
||||
const CHARSET_INFO *m_session_connect_attrs_cs;
|
||||
/**
|
||||
Character set in which @c m_connect_attrs are encoded.
|
||||
Protected by @c m_session_lock.
|
||||
*/
|
||||
uint m_session_connect_attrs_cs_number;
|
||||
};
|
||||
|
||||
extern PFS_stage_stat *global_instr_class_stages_array;
|
||||
@@ -608,10 +655,22 @@ void aggregate_all_statements(PFS_statement_stat *from_array,
|
||||
PFS_statement_stat *to_array_1,
|
||||
PFS_statement_stat *to_array_2);
|
||||
|
||||
void aggregate_thread(PFS_thread *thread);
|
||||
void aggregate_thread_waits(PFS_thread *thread);
|
||||
void aggregate_thread_stages(PFS_thread *thread);
|
||||
void aggregate_thread_statements(PFS_thread *thread);
|
||||
void aggregate_thread(PFS_thread *thread,
|
||||
PFS_account *safe_account,
|
||||
PFS_user *safe_user,
|
||||
PFS_host *safe_host);
|
||||
void aggregate_thread_waits(PFS_thread *thread,
|
||||
PFS_account *safe_account,
|
||||
PFS_user *safe_user,
|
||||
PFS_host *safe_host);
|
||||
void aggregate_thread_stages(PFS_thread *thread,
|
||||
PFS_account *safe_account,
|
||||
PFS_user *safe_user,
|
||||
PFS_host *safe_host);
|
||||
void aggregate_thread_statements(PFS_thread *thread,
|
||||
PFS_account *safe_account,
|
||||
PFS_user *safe_user,
|
||||
PFS_host *safe_host);
|
||||
void clear_thread_account(PFS_thread *thread);
|
||||
void set_thread_account(PFS_thread *thread);
|
||||
|
||||
|
Reference in New Issue
Block a user