Skip to content

File log_tran_table.c

FileList > cubrid > src > transaction > log_tran_table.c

Go to the source code of this file

  • #include <inttypes.h>
  • #include "config.h"
  • #include <stdio.h>
  • #include <stddef.h>
  • #include <stdlib.h>
  • #include <stdarg.h>
  • #include <string.h>
  • #include <fcntl.h>
  • #include <time.h>
  • #include <limits.h>
  • #include <sys/stat.h>
  • #include <assert.h>
  • #include "dbtran_def.h"
  • #include "log_impl.h"
  • #include "log_lsa.hpp"
  • #include "log_manager.h"
  • #include "log_system_tran.hpp"
  • #include "memory_private_allocator.hpp"
  • #include "object_representation.h"
  • #include "error_manager.h"
  • #include "system_parameter.h"
  • #include "xserver_interface.h"
  • #include "file_manager.h"
  • #include "query_manager.h"
  • #include "query_monitoring.hpp"
  • #include "partition_sr.h"
  • #include "btree_load.h"
  • #include "serial.h"
  • #include "show_scan.h"
  • #include "boot_sr.h"
  • #include "tz_support.h"
  • #include "db_date.h"
  • #include "dbtype.h"
  • #include "server_support.h"
  • #include "string_buffer.hpp"
  • #include "transaction_cl.h"
  • #include "thread_entry.hpp"
  • #include "thread_manager.hpp"
  • #include "xasl.h"
  • #include "xasl_cache.h"
  • #include "session.h"
  • #include "pl_session.hpp"
  • #include "memory_wrapper.hpp"

Public Static Attributes

Type Name
const unsigned int LOGTB_RETRY_SLAM_MAX_TIMES = 10
const float LOG_EXPAND_TRANTABLE_RATIO = 1.25
const int LOG_MAX_NUM_CONTIGUOUS_TDES = [**INT\_MAX**](broker__monitor_8c.md#function-timeout) / [**sizeof**](broker__monitor_8c.md#function-timeout) ([**LOG\_TDES**](log__impl_8h.md#typedef-log_tdes))
const int LOG_TOPOPS_STACK_INCREMENT = 3
BOOT_CLIENT_CREDENTIAL log_Client_credential

Public Functions

Type Name
bool logtb_am_i_dba_client (THREAD_ENTRY * thread_p)
bool logtb_am_i_sole_tran (THREAD_ENTRY * thread_p)
int logtb_assign_tran_index (THREAD_ENTRY * thread_p, TRANID trid, TRAN_STATE state, const BOOT_CLIENT_CREDENTIAL * client_credential, TRAN_STATE * current_state, int wait_msecs, TRAN_ISOLATION isolation)
bool logtb_check_class_for_rr_isolation_err (const OID * class_oid)
void logtb_clear_tdes (THREAD_ENTRY * thread_p, LOG_TDES * tdes)
int logtb_collect_local_clients (int ** local_clients_pids)
void logtb_complete_mvcc (THREAD_ENTRY * thread_p, LOG_TDES * tdes, bool committed)
void logtb_complete_sub_mvcc (THREAD_ENTRY * thread_p, LOG_TDES * tdes)
int logtb_count_clients (THREAD_ENTRY * thread_p)
int logtb_count_clients_with_type (THREAD_ENTRY * thread_p, int client_type)
int logtb_count_not_allowed_clients_in_maintenance_mode (THREAD_ENTRY * thread_p)
void logtb_define_trantable (THREAD_ENTRY * thread_p, int num_expected_tran_indices, int num_expected_locks)
int logtb_define_trantable_log_latch (THREAD_ENTRY * thread_p, int num_expected_tran_indices)
int logtb_delete_global_unique_stats (THREAD_ENTRY * thread_p, BTID * btid)
int logtb_descriptors_start_scan (THREAD_ENTRY * thread_p, int type, DB_VALUE ** arg_values, int arg_cnt, void ** ptr)
void logtb_disable_update (THREAD_ENTRY * thread_p)
void logtb_enable_update (THREAD_ENTRY * thread_p)
void logtb_finalize_global_unique_stats_table (THREAD_ENTRY * thread_p)
void logtb_finalize_tdes (THREAD_ENTRY * thread_p, LOG_TDES * tdes)
const char * logtb_find_client_hostname (int tran_index)
const char * logtb_find_client_name (int tran_index)
int logtb_find_client_name_host_pid (int tran_index, const char ** client_prog_name, const char ** client_user_name, const char ** client_host_name, int * client_pid)
int logtb_find_client_tran_name_host_pid (int & tran_index, const char ** client_prog_name, const char ** client_user_name, const char ** client_host_name, int * client_pid)
int logtb_find_client_type (int tran_index)
const char * logtb_find_current_client_hostname (THREAD_ENTRY * thread_p)
const char * logtb_find_current_client_name (THREAD_ENTRY * thread_p)
int logtb_find_current_client_type (THREAD_ENTRY * thread_p)
TRAN_ISOLATION logtb_find_current_isolation (THREAD_ENTRY * thread_p)
MVCCID logtb_find_current_mvccid (THREAD_ENTRY * thread_p)
LOG_LSA * logtb_find_current_tran_lsa (THREAD_ENTRY * thread_p)
TRANID logtb_find_current_tranid (THREAD_ENTRY * thread_p)
int logtb_find_interrupt (int tran_index, bool * interrupt)
TRAN_ISOLATION logtb_find_isolation (int tran_index)
LOG_LSA * logtb_find_largest_lsa (THREAD_ENTRY * thread_p)
int logtb_find_log_records_count (int tran_index)
void logtb_find_smallest_and_largest_active_pages (THREAD_ENTRY * thread_p, LOG_PAGEID * smallest, LOG_PAGEID * largest)
void logtb_find_smallest_lsa (THREAD_ENTRY * thread_p, LOG_LSA * lsa)
TRAN_STATE logtb_find_state (int tran_index)
THREAD_ENTRY * logtb_find_thread_by_tran_index (int tran_index)
THREAD_ENTRY * logtb_find_thread_by_tran_index_except_me (int tran_index)
int logtb_find_tran_index (THREAD_ENTRY * thread_p, TRANID trid)
int logtb_find_tran_index_host_pid (THREAD_ENTRY * thread_p, const char * host_name, int process_id)
TRANID logtb_find_tranid (int tran_index)
int logtb_find_wait_msecs (int tran_index)
void logtb_free_tran_index (THREAD_ENTRY * thread_p, int tran_index)
void logtb_free_tran_index_with_undo_lsa (THREAD_ENTRY * thread_p, const LOG_LSA * undo_lsa)
bool logtb_get_check_interrupt (THREAD_ENTRY * thread_p)
int logtb_get_client_ids (int tran_index, CLIENTIDS * client_info)
MVCCID logtb_get_current_mvccid (THREAD_ENTRY * thread_p)
int logtb_get_current_tran_index (void)
int logtb_get_global_unique_stats (THREAD_ENTRY * thread_p, BTID * btid, long long * num_oids, long long * num_nulls, long long * num_keys)
MVCC_SNAPSHOT * logtb_get_mvcc_snapshot (THREAD_ENTRY * thread_p)
void logtb_get_new_subtransaction_mvccid (THREAD_ENTRY * thread_p, MVCC_INFO * curr_mvcc_info)
int logtb_get_new_tran_id (THREAD_ENTRY * thread_p, LOG_TDES * tdes)
int logtb_get_number_assigned_tran_indices (void)
int logtb_get_number_of_total_tran_indices (void)
LOG_TDES * logtb_get_system_tdes (THREAD_ENTRY * thread_p)
bool logtb_has_deadlock_priority (int tran_index)
bool logtb_has_updated (THREAD_ENTRY * thread_p)
void logtb_i_am_not_sole_tran (THREAD_ENTRY * thread_p)
int logtb_initialize_global_unique_stats_table (THREAD_ENTRY * thread_p)
void logtb_initialize_tdes (LOG_TDES * tdes, int tran_index)
int logtb_invalidate_snapshot_data (THREAD_ENTRY * thread_p)
bool logtb_is_active (THREAD_ENTRY * thread_p, TRANID trid)
bool logtb_is_current_active (THREAD_ENTRY * thread_p)
bool logtb_is_current_mvccid (THREAD_ENTRY * thread_p, MVCCID mvccid)
bool logtb_is_interrupted (THREAD_ENTRY * thread_p, bool clear, bool * continue_checking)
bool logtb_is_interrupted_tran (THREAD_ENTRY * thread_p, bool clear, bool * continue_checking, int tran_index)
int logtb_is_tran_modification_disabled (THREAD_ENTRY * thread_p)
bool logtb_istran_finished (THREAD_ENTRY * thread_p, TRANID trid)
int logtb_load_global_statistics_to_tran (THREAD_ENTRY * thread_p)
void * logtb_realloc_topops_stack (LOG_TDES * tdes, int num_elms)
int logtb_reflect_global_unique_stats_to_btree (THREAD_ENTRY * thread_p)
void logtb_release_tran_index (THREAD_ENTRY * thread_p, int tran_index)
void logtb_rv_assign_mvccid_for_undo_recovery (THREAD_ENTRY * thread_p, MVCCID mvccid)
LOG_TDES * logtb_rv_find_allocate_tran_index (THREAD_ENTRY * thread_p, TRANID trid, const LOG_LSA * log_lsa)
void logtb_rv_read_only_map_undo_tdes (THREAD_ENTRY * thread_p, const std::function< void(const log_tdes &) > map_func)
int logtb_rv_update_global_unique_stats_by_abs (THREAD_ENTRY * thread_p, BTID * btid, long long num_oids, long long num_nulls, long long num_keys)
bool logtb_set_check_interrupt (THREAD_ENTRY * thread_p, bool flag)
void logtb_set_current_tran_index (THREAD_ENTRY * thread_p, int tran_index)
void logtb_set_current_user_active (THREAD_ENTRY * thread_p, bool is_user_active)
void logtb_set_current_user_name (THREAD_ENTRY * thread_p, const char * user_name)
int logtb_set_num_loose_end_trans (THREAD_ENTRY * thread_p)
bool logtb_set_suppress_repl_on_transaction (THREAD_ENTRY * thread_p, int tran_index, int set)
void logtb_set_to_system_tran_index (THREAD_ENTRY * thread_p)
bool logtb_set_tran_index_interrupt (THREAD_ENTRY * thread_p, int tran_index, bool set)
void logtb_set_user_name (int tran_index, const char * user_name)
void logtb_slam_transaction (THREAD_ENTRY * thread_p, int tran_index)
LOG_TRAN_BTID_UNIQUE_STATS * logtb_tran_find_btid_stats (THREAD_ENTRY * thread_p, const BTID * btid, bool create)
LOG_TRAN_CLASS_COS * logtb_tran_find_class_cos (THREAD_ENTRY * thread_p, const OID * class_oid, bool create)
int logtb_tran_prepare_count_optim_classes (THREAD_ENTRY * thread_p, const char ** classes, LC_PREFETCH_FLAGS * flags, int n_classes)
void logtb_tran_reset_count_optim_state (THREAD_ENTRY * thread_p)
int logtb_tran_update_all_global_unique_stats (THREAD_ENTRY * thread_p)
int logtb_tran_update_btid_unique_stats (THREAD_ENTRY * thread_p, const BTID * btid, long long n_keys, long long n_oids, long long n_nulls)
int logtb_tran_update_unique_stats (THREAD_ENTRY * thread_p, const BTID * btid, long long n_keys, long long n_oids, long long n_nulls, bool write_to_log)
int logtb_tran_update_unique_stats (THREAD_ENTRY * thread_p, const BTID & btid, const btree_unique_stats & ustats, bool write_to_log)
int logtb_tran_update_unique_stats (THREAD_ENTRY * thread_p, const multi_index_unique_stats & multi_stats, bool write_to_log)
void logtb_undefine_trantable (THREAD_ENTRY * thread_p)
int logtb_update_global_unique_stats_by_delta (THREAD_ENTRY * thread_p, BTID * btid, long long oid_delta, long long null_delta, long long key_delta, bool log)
void logtb_wakeup_thread_with_tran_index (int tran_index, thread_resume_suspend_status resume_reason)
const char * tran_abort_reason_to_string (TRAN_ABORT_REASON val)
bool xlogtb_does_active_user_exist (THREAD_ENTRY * thread_p, const char * user_name)
void xlogtb_dump_trantable (THREAD_ENTRY * thread_p, FILE * out_fp)
int xlogtb_get_mvcc_snapshot (THREAD_ENTRY * thread_p)
int xlogtb_get_pack_tran_table (THREAD_ENTRY * thread_p, char ** buffer_p, int * size_p, int include_query_exec_info)
int xlogtb_kill_or_interrupt_tran (THREAD_ENTRY * thread_p, int tran_index, bool is_dba_group_member, bool interrupt_only)
int xlogtb_kill_tran_index (THREAD_ENTRY * thread_p, int kill_tran_index, char * kill_user_p, char * kill_host_p, int kill_pid)
int xlogtb_reset_isolation (THREAD_ENTRY * thread_p, TRAN_ISOLATION isolation)
int xlogtb_reset_wait_msecs (THREAD_ENTRY * thread_p, int wait_msecs)
void xlogtb_set_interrupt (THREAD_ENTRY * thread_p, int set)
void xlogtb_set_suppress_repl_on_transaction (THREAD_ENTRY * thread_p, int set)

Public Static Functions

Type Name
LOG_ADDR_TDESAREA * logtb_allocate_tdes_area (int num_indices)
int logtb_allocate_tran_index (THREAD_ENTRY * thread_p, TRANID trid, TRAN_STATE state, const BOOT_CLIENT_CREDENTIAL * client_credential, TRAN_STATE * current_state, int wait_msecs, TRAN_ISOLATION isolation)
void logtb_assign_subtransaction_mvccid (THREAD_ENTRY * thread_p, MVCC_INFO * curr_mvcc_info, MVCCID mvcc_subid)
int logtb_check_kill_tran_auth (THREAD_ENTRY * thread_p, int tran_id, bool * has_authorization)
int logtb_create_unique_stats_from_repr (THREAD_ENTRY * thread_p, OID * class_oid)
void logtb_decrement_number_of_assigned_tran_indices ()
void logtb_dump_tdes (FILE * out_fp, LOG_TDES * tdes)
void logtb_dump_tdes_distribute_transaction (FILE * out_fp, int global_tran_id, LOG_2PC_COORDINATOR * coord)
void logtb_dump_top_operations (FILE * out_fp, LOG_TOPOPS_STACK * topops_p)
int logtb_expand_trantable (THREAD_ENTRY * thread_p, int num_new_indices)
void logtb_find_thread_entry_mapfunc (THREAD_ENTRY & thread_ref, bool & stop_mapper, int tran_index, bool except_me, REFPTR(THREAD_ENTRY, found_ptr))
void logtb_free_tran_mvcc_info (LOG_TDES * tdes)
GLOBAL_UNIQUE_STATS * logtb_get_global_unique_stats_entry (THREAD_ENTRY * thread_p, BTID * btid, bool load_at_creation)
void * logtb_global_unique_stat_alloc (void)
int logtb_global_unique_stat_free (void * unique_stat)
int logtb_global_unique_stat_init (void * unique_stat)
int logtb_global_unique_stat_key_copy (void * src, void * dest)
void logtb_increment_number_of_assigned_tran_indices ()
int logtb_initialize_system_tdes (THREAD_ENTRY * thread_p)
void logtb_initialize_trantable (TRANTABLE * trantable_p)
bool logtb_is_interrupted_tdes (THREAD_ENTRY * thread_p, LOG_TDES * tdes, bool clear, bool * continue_checking)
void logtb_set_loose_end_tdes (LOG_TDES * tdes)
void logtb_set_number_of_assigned_tran_indices (int num_trans)
void logtb_set_number_of_total_tran_indices (int num_total_trans)
void logtb_set_tdes (THREAD_ENTRY * thread_p, LOG_TDES * tdes, const BOOT_CLIENT_CREDENTIAL * client_credential, int wait_msecs, TRAN_ISOLATION isolation)
int logtb_tran_btid_hash_cmp_func (const void * key1, const void * key2)
unsigned int logtb_tran_btid_hash_func (const void * key, const unsigned int ht_size)
void logtb_tran_clear_update_stats (LOG_TRAN_UPDATE_STATS * log_upd_stats)
LOG_TRAN_BTID_UNIQUE_STATS * logtb_tran_create_btid_unique_stats (THREAD_ENTRY * thread_p, const BTID * btid)
LOG_TRAN_CLASS_COS * logtb_tran_create_class_cos (THREAD_ENTRY * thread_p, const OID * class_oid)
void logtb_tran_free_update_stats (LOG_TRAN_UPDATE_STATS * log_upd_stats)
int logtb_tran_load_global_stats_func (THREAD_ENTRY * thread_p, void * data, void * args)
int logtb_tran_reset_cos_func (THREAD_ENTRY * thread_p, void * data, void * args)
int logtb_tran_update_delta_hash_func (THREAD_ENTRY * thread_p, void * data, void * args)

Macros

Type Name
define NUM_ASSIGNED_TRAN_INDICES log\_Gl.trantable.num\_assigned\_indices
define NUM_TOTAL_TRAN_INDICES log\_Gl.trantable.num\_total\_indices
define REPLACE_COPY_2_DEST (d, _name) ((d).[**\_name**](broker__monitor_8c.md#function-timeout) = [**this**](broker__monitor_8c.md#function-timeout)-&gt;[**\_name**](broker__monitor_8c.md#function-timeout))
define RMUTEX_NAME_TDES_TOPOP "TDES\_TOPOP"
define __STDC_FORMAT_MACROS

Public Static Attributes Documentation

variable LOGTB_RETRY_SLAM_MAX_TIMES

const unsigned int LOGTB_RETRY_SLAM_MAX_TIMES;

variable LOG_EXPAND_TRANTABLE_RATIO

const float LOG_EXPAND_TRANTABLE_RATIO;

variable LOG_MAX_NUM_CONTIGUOUS_TDES

const int LOG_MAX_NUM_CONTIGUOUS_TDES;

variable LOG_TOPOPS_STACK_INCREMENT

const int LOG_TOPOPS_STACK_INCREMENT;

variable log_Client_credential

BOOT_CLIENT_CREDENTIAL log_Client_credential;

Public Functions Documentation

function logtb_am_i_dba_client

bool logtb_am_i_dba_client (
    THREAD_ENTRY * thread_p
) 

function logtb_am_i_sole_tran

bool logtb_am_i_sole_tran (
    THREAD_ENTRY * thread_p
) 

function logtb_assign_tran_index

int logtb_assign_tran_index (
    THREAD_ENTRY * thread_p,
    TRANID trid,
    TRAN_STATE state,
    const  BOOT_CLIENT_CREDENTIAL * client_credential,
    TRAN_STATE * current_state,
    int wait_msecs,
    TRAN_ISOLATION isolation
) 

function logtb_check_class_for_rr_isolation_err

bool logtb_check_class_for_rr_isolation_err (
    const  OID * class_oid
) 

function logtb_clear_tdes

void logtb_clear_tdes (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes
) 

function logtb_collect_local_clients

int logtb_collect_local_clients (
    int ** local_clients_pids
) 

function logtb_complete_mvcc

void logtb_complete_mvcc (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes,
    bool committed
) 

function logtb_complete_sub_mvcc

void logtb_complete_sub_mvcc (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes
) 

function logtb_count_clients

int logtb_count_clients (
    THREAD_ENTRY * thread_p
) 

function logtb_count_clients_with_type

int logtb_count_clients_with_type (
    THREAD_ENTRY * thread_p,
    int client_type
) 

function logtb_count_not_allowed_clients_in_maintenance_mode

int logtb_count_not_allowed_clients_in_maintenance_mode (
    THREAD_ENTRY * thread_p
) 

function logtb_define_trantable

void logtb_define_trantable (
    THREAD_ENTRY * thread_p,
    int num_expected_tran_indices,
    int num_expected_locks
) 

function logtb_define_trantable_log_latch

int logtb_define_trantable_log_latch (
    THREAD_ENTRY * thread_p,
    int num_expected_tran_indices
) 

function logtb_delete_global_unique_stats

int logtb_delete_global_unique_stats (
    THREAD_ENTRY * thread_p,
    BTID * btid
) 

function logtb_descriptors_start_scan

int logtb_descriptors_start_scan (
    THREAD_ENTRY * thread_p,
    int type,
    DB_VALUE ** arg_values,
    int arg_cnt,
    void ** ptr
) 

function logtb_disable_update

void logtb_disable_update (
    THREAD_ENTRY * thread_p
) 

function logtb_enable_update

void logtb_enable_update (
    THREAD_ENTRY * thread_p
) 

function logtb_finalize_global_unique_stats_table

void logtb_finalize_global_unique_stats_table (
    THREAD_ENTRY * thread_p
) 

function logtb_finalize_tdes

void logtb_finalize_tdes (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes
) 

function logtb_find_client_hostname

const  char * logtb_find_client_hostname (
    int tran_index
) 

function logtb_find_client_name

const  char * logtb_find_client_name (
    int tran_index
) 

function logtb_find_client_name_host_pid

int logtb_find_client_name_host_pid (
    int tran_index,
    const  char ** client_prog_name,
    const  char ** client_user_name,
    const  char ** client_host_name,
    int * client_pid
) 

function logtb_find_client_tran_name_host_pid

int logtb_find_client_tran_name_host_pid (
    int & tran_index,
    const  char ** client_prog_name,
    const  char ** client_user_name,
    const  char ** client_host_name,
    int * client_pid
) 

function logtb_find_client_type

int logtb_find_client_type (
    int tran_index
) 

function logtb_find_current_client_hostname

const  char * logtb_find_current_client_hostname (
    THREAD_ENTRY * thread_p
) 

function logtb_find_current_client_name

const  char * logtb_find_current_client_name (
    THREAD_ENTRY * thread_p
) 

function logtb_find_current_client_type

int logtb_find_current_client_type (
    THREAD_ENTRY * thread_p
) 

function logtb_find_current_isolation

TRAN_ISOLATION logtb_find_current_isolation (
    THREAD_ENTRY * thread_p
) 

function logtb_find_current_mvccid

MVCCID logtb_find_current_mvccid (
    THREAD_ENTRY * thread_p
) 

function logtb_find_current_tran_lsa

LOG_LSA * logtb_find_current_tran_lsa (
    THREAD_ENTRY * thread_p
) 

function logtb_find_current_tranid

TRANID logtb_find_current_tranid (
    THREAD_ENTRY * thread_p
) 

function logtb_find_interrupt

int logtb_find_interrupt (
    int tran_index,
    bool * interrupt
) 

function logtb_find_isolation

TRAN_ISOLATION logtb_find_isolation (
    int tran_index
) 

function logtb_find_largest_lsa

LOG_LSA * logtb_find_largest_lsa (
    THREAD_ENTRY * thread_p
) 

function logtb_find_log_records_count

int logtb_find_log_records_count (
    int tran_index
) 

function logtb_find_smallest_and_largest_active_pages

void logtb_find_smallest_and_largest_active_pages (
    THREAD_ENTRY * thread_p,
    LOG_PAGEID * smallest,
    LOG_PAGEID * largest
) 

function logtb_find_smallest_lsa

void logtb_find_smallest_lsa (
    THREAD_ENTRY * thread_p,
    LOG_LSA * lsa
) 

function logtb_find_state

TRAN_STATE logtb_find_state (
    int tran_index
) 

function logtb_find_thread_by_tran_index

THREAD_ENTRY * logtb_find_thread_by_tran_index (
    int tran_index
) 

function logtb_find_thread_by_tran_index_except_me

THREAD_ENTRY * logtb_find_thread_by_tran_index_except_me (
    int tran_index
) 

function logtb_find_tran_index

int logtb_find_tran_index (
    THREAD_ENTRY * thread_p,
    TRANID trid
) 

function logtb_find_tran_index_host_pid

int logtb_find_tran_index_host_pid (
    THREAD_ENTRY * thread_p,
    const  char * host_name,
    int process_id
) 

function logtb_find_tranid

TRANID logtb_find_tranid (
    int tran_index
) 

function logtb_find_wait_msecs

int logtb_find_wait_msecs (
    int tran_index
) 

function logtb_free_tran_index

void logtb_free_tran_index (
    THREAD_ENTRY * thread_p,
    int tran_index
) 

function logtb_free_tran_index_with_undo_lsa

void logtb_free_tran_index_with_undo_lsa (
    THREAD_ENTRY * thread_p,
    const  LOG_LSA * undo_lsa
) 

function logtb_get_check_interrupt

bool logtb_get_check_interrupt (
    THREAD_ENTRY * thread_p
) 

function logtb_get_client_ids

int logtb_get_client_ids (
    int tran_index,
    CLIENTIDS * client_info
) 

function logtb_get_current_mvccid

MVCCID logtb_get_current_mvccid (
    THREAD_ENTRY * thread_p
) 

function logtb_get_current_tran_index

int logtb_get_current_tran_index (
    void
) 

function logtb_get_global_unique_stats

int logtb_get_global_unique_stats (
    THREAD_ENTRY * thread_p,
    BTID * btid,
    long  long * num_oids,
    long  long * num_nulls,
    long  long * num_keys
) 

function logtb_get_mvcc_snapshot

MVCC_SNAPSHOT * logtb_get_mvcc_snapshot (
    THREAD_ENTRY * thread_p
) 

function logtb_get_new_subtransaction_mvccid

void logtb_get_new_subtransaction_mvccid (
    THREAD_ENTRY * thread_p,
    MVCC_INFO * curr_mvcc_info
) 

function logtb_get_new_tran_id

int logtb_get_new_tran_id (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes
) 

function logtb_get_number_assigned_tran_indices

int logtb_get_number_assigned_tran_indices (
    void
) 

function logtb_get_number_of_total_tran_indices

int logtb_get_number_of_total_tran_indices (
    void
) 

function logtb_get_system_tdes

LOG_TDES * logtb_get_system_tdes (
    THREAD_ENTRY * thread_p
) 

function logtb_has_deadlock_priority

bool logtb_has_deadlock_priority (
    int tran_index
) 

function logtb_has_updated

bool logtb_has_updated (
    THREAD_ENTRY * thread_p
) 

function logtb_i_am_not_sole_tran

void logtb_i_am_not_sole_tran (
    THREAD_ENTRY * thread_p
) 

function logtb_initialize_global_unique_stats_table

int logtb_initialize_global_unique_stats_table (
    THREAD_ENTRY * thread_p
) 

function logtb_initialize_tdes

void logtb_initialize_tdes (
    LOG_TDES * tdes,
    int tran_index
) 

function logtb_invalidate_snapshot_data

int logtb_invalidate_snapshot_data (
    THREAD_ENTRY * thread_p
) 

function logtb_is_active

bool logtb_is_active (
    THREAD_ENTRY * thread_p,
    TRANID trid
) 

function logtb_is_current_active

bool logtb_is_current_active (
    THREAD_ENTRY * thread_p
) 

function logtb_is_current_mvccid

bool logtb_is_current_mvccid (
    THREAD_ENTRY * thread_p,
    MVCCID mvccid
) 

function logtb_is_interrupted

bool logtb_is_interrupted (
    THREAD_ENTRY * thread_p,
    bool clear,
    bool * continue_checking
) 

function logtb_is_interrupted_tran

bool logtb_is_interrupted_tran (
    THREAD_ENTRY * thread_p,
    bool clear,
    bool * continue_checking,
    int tran_index
) 

function logtb_is_tran_modification_disabled

int logtb_is_tran_modification_disabled (
    THREAD_ENTRY * thread_p
) 

function logtb_istran_finished

bool logtb_istran_finished (
    THREAD_ENTRY * thread_p,
    TRANID trid
) 

function logtb_load_global_statistics_to_tran

int logtb_load_global_statistics_to_tran (
    THREAD_ENTRY * thread_p
) 

function logtb_realloc_topops_stack

void * logtb_realloc_topops_stack (
    LOG_TDES * tdes,
    int num_elms
) 

function logtb_reflect_global_unique_stats_to_btree

int logtb_reflect_global_unique_stats_to_btree (
    THREAD_ENTRY * thread_p
) 

function logtb_release_tran_index

void logtb_release_tran_index (
    THREAD_ENTRY * thread_p,
    int tran_index
) 

function logtb_rv_assign_mvccid_for_undo_recovery

void logtb_rv_assign_mvccid_for_undo_recovery (
    THREAD_ENTRY * thread_p,
    MVCCID mvccid
) 

function logtb_rv_find_allocate_tran_index

LOG_TDES * logtb_rv_find_allocate_tran_index (
    THREAD_ENTRY * thread_p,
    TRANID trid,
    const  LOG_LSA * log_lsa
) 

function logtb_rv_read_only_map_undo_tdes

void logtb_rv_read_only_map_undo_tdes (
    THREAD_ENTRY * thread_p,
    const std::function< void ( const  log_tdes &) > map_func
) 

function logtb_rv_update_global_unique_stats_by_abs

int logtb_rv_update_global_unique_stats_by_abs (
    THREAD_ENTRY * thread_p,
    BTID * btid,
    long  long num_oids,
    long  long num_nulls,
    long  long num_keys
) 

function logtb_set_check_interrupt

bool logtb_set_check_interrupt (
    THREAD_ENTRY * thread_p,
    bool flag
) 

function logtb_set_current_tran_index

void logtb_set_current_tran_index (
    THREAD_ENTRY * thread_p,
    int tran_index
) 

function logtb_set_current_user_active

void logtb_set_current_user_active (
    THREAD_ENTRY * thread_p,
    bool is_user_active
) 

function logtb_set_current_user_name

void logtb_set_current_user_name (
    THREAD_ENTRY * thread_p,
    const  char * user_name
) 

function logtb_set_num_loose_end_trans

int logtb_set_num_loose_end_trans (
    THREAD_ENTRY * thread_p
) 

function logtb_set_suppress_repl_on_transaction

bool logtb_set_suppress_repl_on_transaction (
    THREAD_ENTRY * thread_p,
    int tran_index,
    int set
) 

function logtb_set_to_system_tran_index

void logtb_set_to_system_tran_index (
    THREAD_ENTRY * thread_p
) 

function logtb_set_tran_index_interrupt

bool logtb_set_tran_index_interrupt (
    THREAD_ENTRY * thread_p,
    int tran_index,
    bool set
) 

function logtb_set_user_name

void logtb_set_user_name (
    int tran_index,
    const  char * user_name
) 

function logtb_slam_transaction

void logtb_slam_transaction (
    THREAD_ENTRY * thread_p,
    int tran_index
) 

function logtb_tran_find_btid_stats

LOG_TRAN_BTID_UNIQUE_STATS * logtb_tran_find_btid_stats (
    THREAD_ENTRY * thread_p,
    const  BTID * btid,
    bool create
) 

function logtb_tran_find_class_cos

LOG_TRAN_CLASS_COS * logtb_tran_find_class_cos (
    THREAD_ENTRY * thread_p,
    const  OID * class_oid,
    bool create
) 

function logtb_tran_prepare_count_optim_classes

int logtb_tran_prepare_count_optim_classes (
    THREAD_ENTRY * thread_p,
    const  char ** classes,
    LC_PREFETCH_FLAGS * flags,
    int n_classes
) 

function logtb_tran_reset_count_optim_state

void logtb_tran_reset_count_optim_state (
    THREAD_ENTRY * thread_p
) 

function logtb_tran_update_all_global_unique_stats

int logtb_tran_update_all_global_unique_stats (
    THREAD_ENTRY * thread_p
) 

function logtb_tran_update_btid_unique_stats

int logtb_tran_update_btid_unique_stats (
    THREAD_ENTRY * thread_p,
    const  BTID * btid,
    long  long n_keys,
    long  long n_oids,
    long  long n_nulls
) 

function logtb_tran_update_unique_stats

int logtb_tran_update_unique_stats (
    THREAD_ENTRY * thread_p,
    const  BTID * btid,
    long  long n_keys,
    long  long n_oids,
    long  long n_nulls,
    bool write_to_log
) 

function logtb_tran_update_unique_stats

int logtb_tran_update_unique_stats (
    THREAD_ENTRY * thread_p,
    const  BTID & btid,
    const  btree_unique_stats & ustats,
    bool write_to_log
) 

function logtb_tran_update_unique_stats

int logtb_tran_update_unique_stats (
    THREAD_ENTRY * thread_p,
    const  multi_index_unique_stats & multi_stats,
    bool write_to_log
) 

function logtb_undefine_trantable

void logtb_undefine_trantable (
    THREAD_ENTRY * thread_p
) 

function logtb_update_global_unique_stats_by_delta

int logtb_update_global_unique_stats_by_delta (
    THREAD_ENTRY * thread_p,
    BTID * btid,
    long  long oid_delta,
    long  long null_delta,
    long  long key_delta,
    bool log
) 

function logtb_wakeup_thread_with_tran_index

void logtb_wakeup_thread_with_tran_index (
    int tran_index,
    thread_resume_suspend_status resume_reason
) 

function tran_abort_reason_to_string

const  char * tran_abort_reason_to_string (
    TRAN_ABORT_REASON val
) 

function xlogtb_does_active_user_exist

bool xlogtb_does_active_user_exist (
    THREAD_ENTRY * thread_p,
    const  char * user_name
) 

function xlogtb_dump_trantable

void xlogtb_dump_trantable (
    THREAD_ENTRY * thread_p,
    FILE * out_fp
) 

function xlogtb_get_mvcc_snapshot

int xlogtb_get_mvcc_snapshot (
    THREAD_ENTRY * thread_p
) 

function xlogtb_get_pack_tran_table

int xlogtb_get_pack_tran_table (
    THREAD_ENTRY * thread_p,
    char ** buffer_p,
    int * size_p,
    int include_query_exec_info
) 

function xlogtb_kill_or_interrupt_tran

int xlogtb_kill_or_interrupt_tran (
    THREAD_ENTRY * thread_p,
    int tran_index,
    bool is_dba_group_member,
    bool interrupt_only
) 

function xlogtb_kill_tran_index

int xlogtb_kill_tran_index (
    THREAD_ENTRY * thread_p,
    int kill_tran_index,
    char * kill_user_p,
    char * kill_host_p,
    int kill_pid
) 

function xlogtb_reset_isolation

int xlogtb_reset_isolation (
    THREAD_ENTRY * thread_p,
    TRAN_ISOLATION isolation
) 

function xlogtb_reset_wait_msecs

int xlogtb_reset_wait_msecs (
    THREAD_ENTRY * thread_p,
    int wait_msecs
) 

function xlogtb_set_interrupt

void xlogtb_set_interrupt (
    THREAD_ENTRY * thread_p,
    int set
) 

function xlogtb_set_suppress_repl_on_transaction

void xlogtb_set_suppress_repl_on_transaction (
    THREAD_ENTRY * thread_p,
    int set
) 

Public Static Functions Documentation

function logtb_allocate_tdes_area

static LOG_ADDR_TDESAREA * logtb_allocate_tdes_area (
    int num_indices
) 

function logtb_allocate_tran_index

static int logtb_allocate_tran_index (
    THREAD_ENTRY * thread_p,
    TRANID trid,
    TRAN_STATE state,
    const  BOOT_CLIENT_CREDENTIAL * client_credential,
    TRAN_STATE * current_state,
    int wait_msecs,
    TRAN_ISOLATION isolation
) 

function logtb_assign_subtransaction_mvccid

static void logtb_assign_subtransaction_mvccid (
    THREAD_ENTRY * thread_p,
    MVCC_INFO * curr_mvcc_info,
    MVCCID mvcc_subid
) 

function logtb_check_kill_tran_auth

static int logtb_check_kill_tran_auth (
    THREAD_ENTRY * thread_p,
    int tran_id,
    bool * has_authorization
) 

function logtb_create_unique_stats_from_repr

static int logtb_create_unique_stats_from_repr (
    THREAD_ENTRY * thread_p,
    OID * class_oid
) 

function logtb_decrement_number_of_assigned_tran_indices

static void logtb_decrement_number_of_assigned_tran_indices () 

function logtb_dump_tdes

static void logtb_dump_tdes (
    FILE * out_fp,
    LOG_TDES * tdes
) 

function logtb_dump_tdes_distribute_transaction

static void logtb_dump_tdes_distribute_transaction (
    FILE * out_fp,
    int global_tran_id,
    LOG_2PC_COORDINATOR * coord
) 

function logtb_dump_top_operations

static void logtb_dump_top_operations (
    FILE * out_fp,
    LOG_TOPOPS_STACK * topops_p
) 

function logtb_expand_trantable

static int logtb_expand_trantable (
    THREAD_ENTRY * thread_p,
    int num_new_indices
) 

function logtb_find_thread_entry_mapfunc

static void logtb_find_thread_entry_mapfunc (
    THREAD_ENTRY & thread_ref,
    bool & stop_mapper,
    int tran_index,
    bool except_me,
    REFPTR ( THREAD_ENTRY , found_ptr )
) 

function logtb_free_tran_mvcc_info

static void logtb_free_tran_mvcc_info (
    LOG_TDES * tdes
) 

function logtb_get_global_unique_stats_entry

static GLOBAL_UNIQUE_STATS * logtb_get_global_unique_stats_entry (
    THREAD_ENTRY * thread_p,
    BTID * btid,
    bool load_at_creation
) 

function logtb_global_unique_stat_alloc

static void * logtb_global_unique_stat_alloc (
    void
) 

function logtb_global_unique_stat_free

static int logtb_global_unique_stat_free (
    void * unique_stat
) 

function logtb_global_unique_stat_init

static int logtb_global_unique_stat_init (
    void * unique_stat
) 

function logtb_global_unique_stat_key_copy

static int logtb_global_unique_stat_key_copy (
    void * src,
    void * dest
) 

function logtb_increment_number_of_assigned_tran_indices

static void logtb_increment_number_of_assigned_tran_indices () 

function logtb_initialize_system_tdes

static int logtb_initialize_system_tdes (
    THREAD_ENTRY * thread_p
) 

function logtb_initialize_trantable

static void logtb_initialize_trantable (
    TRANTABLE * trantable_p
) 

function logtb_is_interrupted_tdes

static bool logtb_is_interrupted_tdes (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes,
    bool clear,
    bool * continue_checking
) 

function logtb_set_loose_end_tdes

static void logtb_set_loose_end_tdes (
    LOG_TDES * tdes
) 

function logtb_set_number_of_assigned_tran_indices

static void logtb_set_number_of_assigned_tran_indices (
    int num_trans
) 

function logtb_set_number_of_total_tran_indices

static void logtb_set_number_of_total_tran_indices (
    int num_total_trans
) 

function logtb_set_tdes

static void logtb_set_tdes (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes,
    const  BOOT_CLIENT_CREDENTIAL * client_credential,
    int wait_msecs,
    TRAN_ISOLATION isolation
) 

function logtb_tran_btid_hash_cmp_func

static int logtb_tran_btid_hash_cmp_func (
    const  void * key1,
    const  void * key2
) 

function logtb_tran_btid_hash_func

static unsigned  int logtb_tran_btid_hash_func (
    const  void * key,
    const  unsigned  int ht_size
) 

function logtb_tran_clear_update_stats

static void logtb_tran_clear_update_stats (
    LOG_TRAN_UPDATE_STATS * log_upd_stats
) 

function logtb_tran_create_btid_unique_stats

static LOG_TRAN_BTID_UNIQUE_STATS * logtb_tran_create_btid_unique_stats (
    THREAD_ENTRY * thread_p,
    const  BTID * btid
) 

function logtb_tran_create_class_cos

static LOG_TRAN_CLASS_COS * logtb_tran_create_class_cos (
    THREAD_ENTRY * thread_p,
    const  OID * class_oid
) 

function logtb_tran_free_update_stats

static void logtb_tran_free_update_stats (
    LOG_TRAN_UPDATE_STATS * log_upd_stats
) 

function logtb_tran_load_global_stats_func

static int logtb_tran_load_global_stats_func (
    THREAD_ENTRY * thread_p,
    void * data,
    void * args
) 

function logtb_tran_reset_cos_func

static int logtb_tran_reset_cos_func (
    THREAD_ENTRY * thread_p,
    void * data,
    void * args
) 

function logtb_tran_update_delta_hash_func

static int logtb_tran_update_delta_hash_func (
    THREAD_ENTRY * thread_p,
    void * data,
    void * args
) 

Macro Definition Documentation

define NUM_ASSIGNED_TRAN_INDICES

#define NUM_ASSIGNED_TRAN_INDICES `log_Gl.trantable.num_assigned_indices`

define NUM_TOTAL_TRAN_INDICES

#define NUM_TOTAL_TRAN_INDICES `log_Gl.trantable.num_total_indices`

define REPLACE_COPY_2_DEST

#define REPLACE_COPY_2_DEST (
    d,
    _name
) `((d). _name = this -> _name )`

define RMUTEX_NAME_TDES_TOPOP

#define RMUTEX_NAME_TDES_TOPOP `"TDES_TOPOP"`

define __STDC_FORMAT_MACROS

#define __STDC_FORMAT_MACROS 


The documentation for this class was generated from the following file cubrid/src/transaction/log_tran_table.c