CUBRID Engine
latest
|
#include "dbtype_def.h"
#include "load_session.hpp"
#include "query_list.h"
#include "query_manager.h"
#include "system_parameter.h"
#include "thread_compat.hpp"
#include "tz_support.h"
Go to the source code of this file.
int login_user | ( | THREAD_ENTRY * | thread_p, |
const char * | username | ||
) |
Definition at line 1917 of file session.c.
References log_tdes::client, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, NO_ERROR, NULL, and clientids::set_user().
Referenced by xlogin_user().
int session_begin_insert_values | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 1506 of file session.c.
References ER_FAILED, session_state::is_last_insert_id_generated, session_state::is_trigger_involved, NO_ERROR, NULL, and session_get_session_state().
Referenced by qexec_execute_insert().
int session_check_session | ( | THREAD_ENTRY * | thread_p, |
const SESSION_ID | id | ||
) |
Definition at line 810 of file session.c.
References session_state::active_time, ARG_FILE_LINE, assert, DB_EMPTY_SESSION, ER_FAILED, er_log_debug, ER_SES_SESSION_EXPIRED, er_set(), ER_WARNING_SEVERITY, error(), cubthread::lockfree_hashmap< Key, T >::find(), logtb_set_current_user_active(), session_state::mutex, NO_ERROR, NULL, pthread_mutex_unlock, session_set_conn_entry_data(), and active_sessions::states_hashmap.
Referenced by xsession_check_session().
int session_clear_query_entry_info | ( | THREAD_ENTRY * | thread_p, |
const QUERY_ID | query_id | ||
) |
Definition at line 2601 of file session.c.
References ER_FAILED, free_and_init, session_query_entry::next, NO_ERROR, NULL, active_sessions::num_holdable_cursors, session_state::queries, session_query_entry::query_id, and session_get_session_state().
Referenced by xsession_clear_query_entry_info().
int session_clear_trace_stats | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 2916 of file session.c.
References assert, ER_FAILED, free_and_init, NO_ERROR, NULL, session_state::plan_string, session_get_session_state(), thread_need_clear_trace(), thread_set_clear_trace(), and session_state::trace_stats.
Referenced by qexec_execute_query().
int session_create_prepared_statement | ( | THREAD_ENTRY * | thread_p, |
char * | name, | ||
char * | alias_print, | ||
SHA1Hash * | sha1, | ||
char * | info, | ||
int | info_len | ||
) |
Definition at line 1674 of file session.c.
References prepared_statement::alias_print, ARG_FILE_LINE, ER_ERROR_SEVERITY, ER_FAILED, er_log_debug, ER_OUT_OF_VIRTUAL_MEMORY, ER_SES_TOO_MANY_STATEMENTS, er_set(), err, error(), free_and_init, session_state::id, prepared_statement::info, prepared_statement::info_length, intl_identifier_casecmp(), MAX_PREPARED_STATEMENTS_COUNT, prepared_statement::name, prepared_statement::next, NO_ERROR, NULL, session_free_prepared_statement(), session_get_session_state(), prepared_statement::sha1, and session_state::statements.
Referenced by xsession_create_prepared_statement().
int session_define_variable | ( | THREAD_ENTRY * | thread_p, |
DB_VALUE * | name, | ||
DB_VALUE * | value, | ||
DB_VALUE * | result | ||
) |
Definition at line 1970 of file session.c.
References assert, db_make_null(), DB_TYPE_CHAR, DB_VALUE_DOMAIN_TYPE, ER_FAILED, err, NO_ERROR, NULL, pr_clone_value(), session_add_variable(), and session_get_session_state().
Referenced by fetch_peek_arith().
int session_delete_prepared_statement | ( | THREAD_ENTRY * | thread_p, |
const char * | name | ||
) |
Definition at line 1865 of file session.c.
References ARG_FILE_LINE, ER_ERROR_SEVERITY, ER_FAILED, ER_IT_PREPARED_NAME_NOT_FOUND, er_log_debug, er_set(), session_state::id, intl_identifier_casecmp(), prepared_statement::name, prepared_statement::next, NO_ERROR, NULL, session_free_prepared_statement(), session_get_session_state(), and session_state::statements.
Referenced by xsession_delete_prepared_statement().
int session_drop_session_variables | ( | THREAD_ENTRY * | thread_p, |
DB_VALUE * | values, | ||
const int | count | ||
) |
Definition at line 2157 of file session.c.
References session_info::count, ER_FAILED, i, NO_ERROR, NULL, session_drop_variable(), and session_get_session_state().
Referenced by xsession_drop_session_variables().
int session_get_exec_stats_and_clear | ( | THREAD_ENTRY * | thread_p, |
const DB_VALUE * | name, | ||
DB_VALUE * | result | ||
) |
Definition at line 2187 of file session.c.
References assert, db_get_string(), db_make_bigint(), DB_TYPE_CHAR, DB_VALUE_DOMAIN_TYPE, and NO_ERROR.
Referenced by fetch_peek_arith().
int session_get_last_insert_id | ( | THREAD_ENTRY * | thread_p, |
DB_VALUE * | value, | ||
bool | update_last_insert_id | ||
) |
Definition at line 1381 of file session.c.
References assert, session_state::cur_insert_id, DB_IS_NULL, ER_FAILED, session_state::is_trigger_involved, session_state::last_insert_id, NO_ERROR, NULL, pr_clear_value(), pr_clone_value(), and session_get_session_state().
Referenced by fetch_peek_arith(), and xsession_get_last_insert_id().
int session_get_load_session | ( | THREAD_ENTRY * | thread_p, |
REFPTR(load_session, load_session_ref_ptr) | |||
) |
Definition at line 3129 of file session.c.
References ER_FAILED, session_state::load_session_p, NO_ERROR, NULL, and session_get_session_state().
Referenced by sloaddb_destroy(), sloaddb_fetch_status(), sloaddb_install_class(), sloaddb_interrupt(), sloaddb_load_batch(), and sloaddb_update_stats().
int session_get_number_of_holdable_cursors | ( | void | ) |
Definition at line 3070 of file session.c.
References active_sessions::num_holdable_cursors.
Referenced by perfmon_get_peek_stats().
int session_get_prepared_statement | ( | THREAD_ENTRY * | thread_p, |
const char * | name, | ||
char ** | info, | ||
int * | info_len, | ||
xasl_cache_ent ** | xasl_entry | ||
) |
Definition at line 1786 of file session.c.
References prepared_statement::alias_print, ARG_FILE_LINE, assert, ASSERT_ERROR, ER_ERROR_SEVERITY, ER_FAILED, ER_IT_PREPARED_NAME_NOT_FOUND, er_log_debug, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), err, session_state::id, prepared_statement::info, prepared_statement::info_length, intl_identifier_casecmp(), prepared_statement::name, prepared_statement::next, NO_ERROR, NULL, session_get_session_state(), prepared_statement::sha1, session_state::statements, XASL_CACHE_SEARCH_GENERIC, and xcache_find_sha1().
Referenced by xsession_get_prepared_statement().
int session_get_private_lru_idx | ( | const void * | session_p | ) |
Definition at line 3084 of file session.c.
Referenced by css_server_task::execute(), and css_server_external_task::execute().
int session_get_row_count | ( | THREAD_ENTRY * | thread_p, |
int * | row_count | ||
) |
Definition at line 1562 of file session.c.
References assert, ER_FAILED, NO_ERROR, NULL, session_state::row_count, and session_get_session_state().
Referenced by fetch_peek_arith(), and xsession_get_row_count().
int session_get_session_id | ( | THREAD_ENTRY * | thread_p, |
SESSION_ID * | id | ||
) |
Definition at line 1347 of file session.c.
References assert, db_Session_id, ER_FAILED, NO_ERROR, and NULL.
Referenced by session_get_session_state(), and session_get_variable_no_copy().
SESSION_PARAM* session_get_session_parameter | ( | THREAD_ENTRY * | thread_p, |
PARAM_ID | id | ||
) |
Definition at line 2714 of file session.c.
References assert, session_info::count, i, NULL, session_param::prm_id, PRM_LAST_ID, session_get_session_state(), session_state::session_parameters, and sysprm_get_session_parameters_count().
Referenced by prm_get_value(), prm_set_default(), and sysprm_set_value().
int session_get_session_parameters | ( | THREAD_ENTRY * | thread_p, |
SESSION_PARAM ** | session_parameters | ||
) |
Definition at line 1613 of file session.c.
References assert, ER_FAILED, free_and_init, NO_ERROR, NULL, session_get_session_state(), and session_state::session_parameters.
Referenced by sysprm_get_id().
TZ_REGION* session_get_session_tz_region | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 2950 of file session.c.
References assert, css_Active_conn_anchor, END_SHARED_ACCESS_ACTIVE_CONN_ANCHOR, ER_FAILED, session_state::id, css_conn_entry::next, NO_ERROR, NULL, session_state::ref_count, session_get_session_state(), css_conn_entry::session_id, session_state::session_tz_region, and START_SHARED_ACCESS_ACTIVE_CONN_ANCHOR.
Referenced by sysprm_get_id(), sysprm_set_value(), and tz_get_client_tz_region_session().
int session_get_trace_stats | ( | THREAD_ENTRY * | thread_p, |
DB_VALUE * | result | ||
) |
Definition at line 2798 of file session.c.
References db_make_null(), db_make_string(), ER_FAILED, free_and_init, NO_ERROR, NULL, session_state::plan_string, port_close_memstream(), port_open_memstream(), pr_clone_value(), QUERY_TRACE_JSON, QUERY_TRACE_TEXT, session_get_session_state(), thread_set_clear_trace(), session_state::trace_format, and session_state::trace_stats.
Referenced by fetch_peek_arith().
int session_get_variable | ( | THREAD_ENTRY * | thread_p, |
const DB_VALUE * | name, | ||
DB_VALUE * | result | ||
) |
Definition at line 2003 of file session.c.
References ARG_FILE_LINE, assert, db_get_string(), DB_TYPE_CHAR, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_SES_VARIABLE_NOT_FOUND, er_set(), free_and_init, intl_identifier_casecmp(), session_variable::name, session_variable::next, NO_ERROR, NULL, pr_clone_value(), session_get_session_state(), session_state::session_variables, strlen, and session_variable::value.
Referenced by fetch_peek_arith(), and xsession_get_session_variable().
int session_get_variable_no_copy | ( | THREAD_ENTRY * | thread_p, |
const DB_VALUE * | name, | ||
DB_VALUE ** | result | ||
) |
Definition at line 2069 of file session.c.
References ARG_FILE_LINE, assert, db_get_string(), DB_TYPE_CHAR, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_SES_SESSION_EXPIRED, ER_SES_VARIABLE_NOT_FOUND, er_set(), cubthread::lockfree_hashmap< Key, T >::find(), free_and_init, session_state::mutex, session_variable::name, session_variable::next, NO_ERROR, NULL, pthread_mutex_unlock, session_get_session_id(), session_state::session_variables, active_sessions::states_hashmap, strlen, and session_variable::value.
Referenced by xsession_get_session_variable_no_copy().
bool session_is_queryid_idle | ( | THREAD_ENTRY * | thread_p, |
const QUERY_ID | query_id, | ||
QUERY_ID * | max_query_id_uses | ||
) |
Definition at line 2647 of file session.c.
References session_query_entry::next, NULL, session_state::queries, session_query_entry::query_id, and session_get_session_state().
Referenced by qmgr_allocate_query_entry().
int session_load_query_entry_info | ( | THREAD_ENTRY * | thread_p, |
QMGR_QUERY_ENTRY * | qentry_p | ||
) |
Definition at line 2525 of file session.c.
References ER_FAILED, session_query_entry::next, NO_ERROR, NULL, session_state::queries, session_query_entry::query_id, qmgr_query_entry::query_id, sentry_to_qentry(), and session_get_session_state().
Referenced by xsession_load_query_entry_info().
int session_remove_query_entry_info | ( | THREAD_ENTRY * | thread_p, |
const QUERY_ID | query_id | ||
) |
Definition at line 2556 of file session.c.
References ER_FAILED, free_and_init, session_query_entry::next, NO_ERROR, NULL, session_state::queries, session_query_entry::query_id, session_free_sentry_data(), and session_get_session_state().
Referenced by xsession_remove_query_entry_info().
int session_reset_cur_insert_id | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 1473 of file session.c.
References session_state::cur_insert_id, ER_FAILED, session_state::is_last_insert_id_generated, session_state::is_trigger_involved, NO_ERROR, NULL, pr_clear_value(), and session_get_session_state().
Referenced by qexec_execute_insert(), and xsession_reset_cur_insert_id().
int session_set_cur_insert_id | ( | THREAD_ENTRY * | thread_p, |
const DB_VALUE * | value, | ||
bool | force | ||
) |
Definition at line 1414 of file session.c.
References session_state::cur_insert_id, DB_IS_NULL, DB_MAX_NUMERIC_PRECISION, DB_TYPE_NUMERIC, DB_VALUE_PRECISION, DB_VALUE_SCALE, DB_VALUE_TYPE, DOMAIN_COMPATIBLE, ER_FAILED, session_state::is_last_insert_id_generated, session_state::is_trigger_involved, session_state::last_insert_id, NO_ERROR, NULL, pr_clear_value(), pr_clone_value(), tp_domain::precision, tp_domain::scale, session_get_session_state(), tp_domain_resolve_default(), and tp_value_cast().
Referenced by xsession_set_cur_insert_id().
int session_set_load_session | ( | THREAD_ENTRY * | thread_p, |
load_session * | load_session_p | ||
) |
Definition at line 3113 of file session.c.
References ER_FAILED, session_state::load_session_p, NO_ERROR, NULL, and session_get_session_state().
Referenced by sloaddb_destroy(), and sloaddb_init().
int session_set_row_count | ( | THREAD_ENTRY * | thread_p, |
const int | row_count | ||
) |
Definition at line 1586 of file session.c.
References ARG_FILE_LINE, ER_FAILED, er_log_debug, session_state::id, NO_ERROR, NULL, session_state::row_count, and session_get_session_state().
Referenced by xsession_set_row_count().
int session_set_session_parameters | ( | THREAD_ENTRY * | thread_p, |
SESSION_PARAM * | session_parameters | ||
) |
Definition at line 1641 of file session.c.
References assert, ER_FAILED, NO_ERROR, NULL, session_get_session_state(), and session_state::session_parameters.
Referenced by sysprm_get_id().
int session_set_session_variables | ( | THREAD_ENTRY * | thread_p, |
DB_VALUE * | values, | ||
const int | count | ||
) |
Definition at line 1939 of file session.c.
References assert, session_info::count, ER_FAILED, i, NO_ERROR, NULL, session_add_variable(), and session_get_session_state().
Referenced by xsession_set_session_variables().
int session_set_trace_stats | ( | THREAD_ENTRY * | thread_p, |
char * | scan_stats, | ||
int | format | ||
) |
Definition at line 2888 of file session.c.
References ER_FAILED, free_and_init, NO_ERROR, NULL, session_get_session_state(), session_state::trace_format, and session_state::trace_stats.
Referenced by qexec_clear_regu_variable_list().
int session_set_tran_auto_commit | ( | THREAD_ENTRY * | thread_p, |
bool | auto_commit | ||
) |
Definition at line 3097 of file session.c.
References session_state::auto_commit, ER_FAILED, NO_ERROR, NULL, and session_get_session_state().
Referenced by xsession_set_tran_auto_commit().
int session_set_trigger_state | ( | THREAD_ENTRY * | thread_p, |
bool | is_trigger | ||
) |
Definition at line 1534 of file session.c.
References ER_FAILED, session_state::is_trigger_involved, NO_ERROR, NULL, and session_get_session_state().
Referenced by xqmgr_execute_query(), and xqmgr_prepare_and_execute_query().
int session_state_create | ( | THREAD_ENTRY * | thread_p, |
SESSION_ID * | id | ||
) |
Definition at line 637 of file session.c.
References session_state::active_time, ARG_FILE_LINE, assert, DB_EMPTY_SESSION, ER_FAILED, er_log_debug, cubthread::lockfree_hashmap< Key, T >::find(), session_state::id, cubthread::lockfree_hashmap< Key, T >::insert(), active_sessions::last_session_id, logtb_set_current_user_active(), session_state::mutex, NO_ERROR, NULL, pgbuf_assign_private_lru(), session_state::private_lru_index, prm_get_bool_value(), PRM_ID_ER_LOG_DEBUG, pthread_mutex_unlock, session_set_conn_entry_data(), and active_sessions::states_hashmap.
Referenced by xsession_create_new().
int session_state_destroy | ( | THREAD_ENTRY * | thread_p, |
const SESSION_ID | id | ||
) |
Definition at line 741 of file session.c.
References ARG_FILE_LINE, assert, assert_release, DB_EMPTY_SESSION, ER_FAILED, er_log_debug, ER_SES_SESSION_EXPIRED, er_set(), ER_WARNING_SEVERITY, cubthread::lockfree_hashmap< Key, T >::erase_locked(), error(), cubthread::lockfree_hashmap< Key, T >::find(), logtb_set_current_user_active(), session_state::mutex, NO_ERROR, NULL, pthread_mutex_unlock, session_state::ref_count, session_state_uninit(), active_sessions::states_hashmap, and success().
Referenced by xsession_end_session().
void session_states_dump | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 2208 of file session.c.
References cubthread::lockfree_hashmap< Key, T >::get_element_count(), NULL, session_dump_session(), and active_sessions::states_hashmap.
Referenced by session_states_finalize().
void session_states_finalize | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 607 of file session.c.
References ARG_FILE_LINE, cubthread::lockfree_hashmap< Key, T >::destroy(), envvar_get(), er_log_debug, NULL, session_control_daemon_destroy(), session_states_dump(), and active_sessions::states_hashmap.
Referenced by boot_restart_server(), and xboot_shutdown_server().
void session_states_init | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 582 of file session.c.
References ARG_FILE_LINE, er_log_debug, cubthread::lockfree_hashmap< Key, T >::init(), active_sessions::last_session_id, active_sessions::num_holdable_cursors, session_control_daemon_init(), SESSIONS_HASH_SIZE, sessions_Ts, active_sessions::states_hashmap, and THREAD_TS_SESSIONS.
Referenced by boot_restart_server(), and xboot_initialize_server().
void session_stop_attached_threads | ( | void * | session | ) |
Definition at line 3150 of file session.c.
References assert, cubload::session::interrupt(), session_state::load_session_p, NULL, and cubload::session::wait_for_completion().
Referenced by session_state_uninit(), and ssession_stop_attached_threads().
void session_store_query_entry_info | ( | THREAD_ENTRY * | thread_p, |
QMGR_QUERY_ENTRY * | qentry_p | ||
) |
Definition at line 2440 of file session.c.
References assert, qmgr_query_entry::list_id, session_query_entry::next, NULL, active_sessions::num_holdable_cursors, qentry_to_sentry(), session_state::queries, qmgr_query_entry::query_id, session_get_session_state(), session_preserve_temporary_files(), and qmgr_query_entry::temp_vfid.
Referenced by xsession_store_query_entry_info().