◆ sysvar_map
Registered system variables.
(@session_track_system_variables) A hash to store the name of all the system variables specified by the user.
◆ vars_list()
Session_sysvars_tracker::vars_list::vars_list |
( |
const CHARSET_INFO * |
char_set | ) |
|
|
inline |
◆ ~vars_list()
Session_sysvars_tracker::vars_list::~vars_list |
( |
| ) |
|
|
inline |
◆ begin()
sysvar_map::iterator Session_sysvars_tracker::vars_list::begin |
( |
void |
| ) |
const |
|
inline |
◆ char_set()
const CHARSET_INFO * Session_sysvars_tracker::vars_list::char_set |
( |
| ) |
const |
|
inline |
◆ claim_memory_ownership()
void Session_sysvars_tracker::vars_list::claim_memory_ownership |
( |
bool |
claim | ) |
|
|
inline |
◆ end()
sysvar_map::iterator Session_sysvars_tracker::vars_list::end |
( |
void |
| ) |
const |
|
inline |
◆ free_hash()
void Session_sysvars_tracker::vars_list::free_hash |
( |
| ) |
|
|
inlineprivate |
◆ init()
void Session_sysvars_tracker::vars_list::init |
( |
const CHARSET_INFO * |
char_set | ) |
|
|
inlineprivate |
◆ insert()
Inserts the variable to be tracked into m_registered_sysvars hash.
@param node Node to be inserted. @param var LEX_STRING which has the name of variable.
@return false success true error
◆ parse_var_list()
bool Session_sysvars_tracker::vars_list::parse_var_list |
( |
THD * |
thd, |
|
|
LEX_STRING |
var_list, |
|
|
bool |
throw_error, |
|
|
const CHARSET_INFO * |
char_set, |
|
|
bool |
session_created |
|
) |
| |
Parse the specified system variables list.
While parsing raise warning/error on invalid/duplicate entries.
In case of duplicate entry ER_DUP_LIST_ENTRY is raised. In case of invalid entry a warning is raised per invalid entry. This is done in order to handle 'potentially' valid system variables from uninstalled plugins which might get installed in future.
Value of @session_track_system_variables is initially put into variables_list. This string is used to update the hash with valid system variables.
- Parameters
-
thd | The thd handle. |
var_list | System variable list. |
throw_error | bool when set to true, returns an error in case of invalid/duplicate values. |
char_set | character set information used for string manipulations. |
session_created | bool variable which says if the parse is already executed once. The mutex on variables is not acquired if this variable is false. |
- Returns
- true Error false Success
◆ reset()
void Session_sysvars_tracker::vars_list::reset |
( |
void |
| ) |
|
◆ search() [1/2]
sysvar_node_st * Session_sysvars_tracker::vars_list::search |
( |
const uchar * |
token, |
|
|
size_t |
length |
|
) |
| |
|
inlineprivate |
◆ search() [2/2]
◆ update()
bool Session_sysvars_tracker::vars_list::update |
( |
vars_list * |
from, |
|
|
THD * |
thd |
|
) |
| |
This function is used to update the members of one vars_list object with the members from the other.
@param from Source vars_list object. @param thd THD handle to retrieve the charset in use.
@return true if the m_registered_sysvars hash has any records. Else the value of track_all.
◆ m_char_set
const CHARSET_INFO* Session_sysvars_tracker::vars_list::m_char_set |
|
private |
◆ m_registered_sysvars
std::unique_ptr<sysvar_map> Session_sysvars_tracker::vars_list::m_registered_sysvars |
|
private |
◆ track_all
bool Session_sysvars_tracker::vars_list::track_all |
|
private |
The boolean which when set to true, signifies that every variable is to be tracked.
◆ variables_list
char* Session_sysvars_tracker::vars_list::variables_list |
|
private |
The documentation for this class was generated from the following file: