MySQL 8.4.0
Source Code Documentation
sp_head.cc File Reference
#include "sql/sp_head.h"
#include <stdio.h>
#include <string.h>
#include <sys/time.h>
#include "my_config.h"
#include <algorithm>
#include <atomic>
#include <memory>
#include <new>
#include <utility>
#include "lex_string.h"
#include "m_string.h"
#include "my_alloc.h"
#include "my_bitmap.h"
#include "my_dbug.h"
#include "my_hostname.h"
#include "my_inttypes.h"
#include "my_pointer_arithmetic.h"
#include "my_systime.h"
#include "my_user.h"
#include "mysql/components/my_service.h"
#include "mysql/components/services/bits/psi_error_bits.h"
#include "mysql/plugin.h"
#include "mysql/psi/mysql_error.h"
#include "mysql/psi/mysql_sp.h"
#include "mysql/psi/mysql_statement.h"
#include "mysql/strings/m_ctype.h"
#include "mysql_com.h"
#include "nulls.h"
#include "prealloced_array.h"
#include "sql/auth/auth_acls.h"
#include "sql/auth/auth_common.h"
#include "sql/binlog.h"
#include "sql/check_stack.h"
#include "sql/dd/dd.h"
#include "sql/dd/dictionary.h"
#include "sql/derror.h"
#include "sql/discrete_interval.h"
#include "sql/field.h"
#include "sql/handler.h"
#include "sql/item.h"
#include "sql/locked_tables_list.h"
#include "sql/log_event.h"
#include "sql/mdl.h"
#include "sql/mysqld.h"
#include "sql/opt_trace.h"
#include "sql/protocol.h"
#include "sql/protocol_classic.h"
#include "sql/psi_memory_key.h"
#include "sql/query_options.h"
#include "sql/session_tracker.h"
#include "sql/sp.h"
#include "sql/sp_instr.h"
#include "sql/sp_pcontext.h"
#include "sql/sp_rcontext.h"
#include "sql/sql_base.h"
#include "sql/sql_class.h"
#include "sql/sql_const.h"
#include "sql/sql_db.h"
#include "sql/sql_digest_stream.h"
#include "sql/sql_error.h"
#include "sql/sql_parse.h"
#include "sql/sql_profile.h"
#include "sql/sql_show.h"
#include "sql/thd_raii.h"
#include "sql/thr_malloc.h"
#include "sql/transaction.h"
#include "sql/trigger_def.h"
#include "sql_string.h"
#include "string_with_len.h"
#include "strxmov.h"
#include "template_utils.h"
#include "thr_lock.h"

Classes

struct  SP_TABLE
 SP_TABLE represents all instances of one table in an optimized multi-set of tables used by a stored program. More...
 

Functions

void init_sp_psi_keys ()
 
static void reset_start_time_for_sp (THD *thd)
 Helper function which operates on a THD object to set the query start_time to the current time. More...
 
static void sp_update_sp_used_routines (malloc_unordered_map< std::string, Sroutine_hash_entry * > *dst, const malloc_unordered_map< std::string, Sroutine_hash_entry * > &src)
 Merge contents of two hashes representing sets of routines used by statements or by other routines. More...
 

Function Documentation

◆ reset_start_time_for_sp()

static void reset_start_time_for_sp ( THD thd)
static

Helper function which operates on a THD object to set the query start_time to the current time.

Parameters
thdThread context.

◆ sp_update_sp_used_routines()

static void sp_update_sp_used_routines ( malloc_unordered_map< std::string, Sroutine_hash_entry * > *  dst,
const malloc_unordered_map< std::string, Sroutine_hash_entry * > &  src 
)
static

Merge contents of two hashes representing sets of routines used by statements or by other routines.

Parameters
dsthash to which elements should be added
srchash from which elements merged
Note
This procedure won't create new Sroutine_hash_entry objects, instead it will simply add elements from source to destination hash. Thus time of life of elements in destination hash becomes dependent on time of life of elements from source hash. It also won't touch lists linking elements in source and destination hashes.