Skip to content

File log_2pc.c

FileList > cubrid > src > transaction > log_2pc.c

Go to the source code of this file

  • #include "log_2pc.h"
  • #include "config.h"
  • #include "connection_error.h"
  • #include "error_manager.h"
  • #include "dblink_2pc.h"
  • #include "lock_manager.h"
  • #include "log_append.hpp"
  • #include "log_comm.h"
  • #include "log_impl.h"
  • #include "log_lsa.hpp"
  • #include "log_reader.hpp"
  • #include "log_manager.h"
  • #include "memory_alloc.h"
  • #include "page_buffer.h"
  • #include "storage_common.h"
  • #include "system_parameter.h"
  • #include "tcp.h"
  • #include <stddef.h>
  • #include <string.h>
  • #include <limits.h>
  • #include <assert.h>
  • #include <sys/types.h>
  • #include "memory_wrapper.hpp"

Classes

Type Name
struct log_2pc_global_data

Public Attributes

Type Name
struct log_2pc_global_data log_2pc_Userfun = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null) }

Public Functions

Type Name
log_tdes * log_2pc_alloc_coord_info (log_tdes * tdes, int num_particps, int particp_id_length, void * block_particps_ids)
int log_2pc_attach_global_tran (THREAD_ENTRY * thread_p, int gtrid)
bool log_2pc_clear_and_is_tran_distributed (log_tdes * tdes)
TRAN_STATE log_2pc_commit (THREAD_ENTRY * thread_p, log_tdes * tdes, LOG_2PC_EXECUTE execute_2pc_type, bool * decision)
void log_2pc_dump_acqobj_locks (FILE * fp, int length, void * data)
void log_2pc_dump_gtrinfo (FILE * fp, int length, void * data)
void log_2pc_dump_participants (FILE * fp, int block_length, void * block_particps_ids)
void log_2pc_free_coord_info (log_tdes * tdes)
int log_2pc_get_global_tran_info (THREAD_ENTRY * thread_p, int gtrid, void * buffer, int size)
bool log_2pc_is_tran_distributed (log_tdes * tdes)
TRAN_STATE log_2pc_prepare (THREAD_ENTRY * thread_p)
TRAN_STATE log_2pc_prepare_global_tran (THREAD_ENTRY * thread_p, int gtrid)
void log_2pc_read_prepare (THREAD_ENTRY * thread_p, int acquire_locks, log_tdes * tdes, LOG_LSA * log_lsa, LOG_PAGE * log_page_p)
void log_2pc_read_prepare (THREAD_ENTRY * thread_p, int acquire_locks, log_tdes * tdes, log_reader & log_pgptr_reader)
void log_2pc_recovery (THREAD_ENTRY * thread_p)
void log_2pc_recovery_analysis_info (THREAD_ENTRY * thread_p, log_tdes * tdes, LOG_LSA * upto_chain_lsa)
int log_2pc_recovery_prepared (THREAD_ENTRY * thread_p, int gtrids, int size)
void log_2pc_send_abort_decision (THREAD_ENTRY * thread_p, int gtrid, int num_particps, void * block_particps_ids)
void log_2pc_send_commit_decision (THREAD_ENTRY * thread_p, int gtrid, int num_particps, void * block_particps_ids)
bool log_2pc_send_prepare (THREAD_ENTRY * thread_p, int gtrid, int num_particps, void * block_particps_ids)
int log_2pc_set_global_tran_info (THREAD_ENTRY * thread_p, int gtrid, void * info, int size)
int log_2pc_start (THREAD_ENTRY * thread_p)
int log_get_global_tran_id (THREAD_ENTRY * thread_p)
bool log_is_tran_in_2pc (THREAD_ENTRY * thread_p)

Public Static Functions

Type Name
void log_2pc_append_decision (THREAD_ENTRY * thread_p, LOG_TDES * tdes, LOG_RECTYPE decsion)
void log_2pc_append_start (THREAD_ENTRY * thread_p, LOG_TDES * tdes)
int log_2pc_attach_client (THREAD_ENTRY * thread_p, LOG_TDES * tdes, LOG_TDES * client_tdes)
bool log_2pc_check_duplicate_global_tran_id (int gtrid)
int log_2pc_commit_first_phase (THREAD_ENTRY * thread_p, LOG_TDES * tdes, LOG_2PC_EXECUTE execute_2pc_type, bool * decision)
TRAN_STATE log_2pc_commit_second_phase (THREAD_ENTRY * thread_p, LOG_TDES * tdes, bool * decision)
int * log_2pc_expand_ack_list (THREAD_ENTRY * thread_p, int * ack_list, int * ack_count, int * size_ack_list)
LOG_TDES * log_2pc_find_tran_descriptor (int gtrid)
int log_2pc_get_num_participants (int * partid_len, void ** block_particps_ids)
int log_2pc_make_global_tran_id (TRANID tranid)
void log_2pc_recovery_abort_decision (THREAD_ENTRY * thread_p, LOG_TDES * tdes)
void log_2pc_recovery_aborted_informing_participants (THREAD_ENTRY * thread_p, LOG_TDES * tdes)
int log_2pc_recovery_analysis_record (THREAD_ENTRY * thread_p, LOG_RECTYPE record_type, LOG_TDES * tdes, LOG_LSA * log_lsa, LOG_PAGE * log_page_p, int ** ack_list, int * ack_count, int * size_ack_list, bool * search_2pc_prepare, bool * search_2pc_start)
void log_2pc_recovery_collecting_participant_votes (THREAD_ENTRY * thread_p, LOG_TDES * tdes)
void log_2pc_recovery_commit_decision (THREAD_ENTRY * thread_p, LOG_TDES * tdes)
void log_2pc_recovery_committed_informing_participants (THREAD_ENTRY * thread_p, LOG_TDES * tdes)
void log_2pc_recovery_prepare (THREAD_ENTRY * thread_p, LOG_TDES * tdes, LOG_LSA * log_lsa, LOG_PAGE * log_page_p)
void log_2pc_recovery_recv_ack (THREAD_ENTRY * thread_p, LOG_LSA * log_lsa, LOG_PAGE * log_page_p, int * ack_list, int * ack_count)
int log_2pc_recovery_start (THREAD_ENTRY * thread_p, LOG_TDES * tdes, LOG_LSA * log_lsa, LOG_PAGE * log_page_p, int * ack_list, int * ack_count)

Public Attributes Documentation

variable log_2pc_Userfun

struct log_2pc_global_data log_2pc_Userfun;

Public Functions Documentation

function log_2pc_alloc_coord_info

log_tdes * log_2pc_alloc_coord_info (
    log_tdes * tdes,
    int num_particps,
    int particp_id_length,
    void * block_particps_ids
) 

function log_2pc_attach_global_tran

int log_2pc_attach_global_tran (
    THREAD_ENTRY * thread_p,
    int gtrid
) 

function log_2pc_clear_and_is_tran_distributed

bool log_2pc_clear_and_is_tran_distributed (
    log_tdes * tdes
) 

function log_2pc_commit

TRAN_STATE log_2pc_commit (
    THREAD_ENTRY * thread_p,
    log_tdes * tdes,
    LOG_2PC_EXECUTE execute_2pc_type,
    bool * decision
) 

function log_2pc_dump_acqobj_locks

void log_2pc_dump_acqobj_locks (
    FILE * fp,
    int length,
    void * data
) 

function log_2pc_dump_gtrinfo

void log_2pc_dump_gtrinfo (
    FILE * fp,
    int length,
    void * data
) 

function log_2pc_dump_participants

void log_2pc_dump_participants (
    FILE * fp,
    int block_length,
    void * block_particps_ids
) 

function log_2pc_free_coord_info

void log_2pc_free_coord_info (
    log_tdes * tdes
) 

function log_2pc_get_global_tran_info

int log_2pc_get_global_tran_info (
    THREAD_ENTRY * thread_p,
    int gtrid,
    void * buffer,
    int size
) 

function log_2pc_is_tran_distributed

bool log_2pc_is_tran_distributed (
    log_tdes * tdes
) 

function log_2pc_prepare

TRAN_STATE log_2pc_prepare (
    THREAD_ENTRY * thread_p
) 

function log_2pc_prepare_global_tran

TRAN_STATE log_2pc_prepare_global_tran (
    THREAD_ENTRY * thread_p,
    int gtrid
) 

function log_2pc_read_prepare

void log_2pc_read_prepare (
    THREAD_ENTRY * thread_p,
    int acquire_locks,
    log_tdes * tdes,
    LOG_LSA * log_lsa,
    LOG_PAGE * log_page_p
) 

function log_2pc_read_prepare

void log_2pc_read_prepare (
    THREAD_ENTRY * thread_p,
    int acquire_locks,
    log_tdes * tdes,
    log_reader & log_pgptr_reader
) 

function log_2pc_recovery

void log_2pc_recovery (
    THREAD_ENTRY * thread_p
) 

function log_2pc_recovery_analysis_info

void log_2pc_recovery_analysis_info (
    THREAD_ENTRY * thread_p,
    log_tdes * tdes,
    LOG_LSA * upto_chain_lsa
) 

function log_2pc_recovery_prepared

int log_2pc_recovery_prepared (
    THREAD_ENTRY * thread_p,
    int gtrids,
    int size
) 

function log_2pc_send_abort_decision

void log_2pc_send_abort_decision (
    THREAD_ENTRY * thread_p,
    int gtrid,
    int num_particps,
    void * block_particps_ids
) 

function log_2pc_send_commit_decision

void log_2pc_send_commit_decision (
    THREAD_ENTRY * thread_p,
    int gtrid,
    int num_particps,
    void * block_particps_ids
) 

function log_2pc_send_prepare

bool log_2pc_send_prepare (
    THREAD_ENTRY * thread_p,
    int gtrid,
    int num_particps,
    void * block_particps_ids
) 

function log_2pc_set_global_tran_info

int log_2pc_set_global_tran_info (
    THREAD_ENTRY * thread_p,
    int gtrid,
    void * info,
    int size
) 

function log_2pc_start

int log_2pc_start (
    THREAD_ENTRY * thread_p
) 

function log_get_global_tran_id

int log_get_global_tran_id (
    THREAD_ENTRY * thread_p
) 

function log_is_tran_in_2pc

bool log_is_tran_in_2pc (
    THREAD_ENTRY * thread_p
) 

Public Static Functions Documentation

function log_2pc_append_decision

static void log_2pc_append_decision (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes,
    LOG_RECTYPE decsion
) 

function log_2pc_append_start

static void log_2pc_append_start (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes
) 

function log_2pc_attach_client

static int log_2pc_attach_client (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes,
    LOG_TDES * client_tdes
) 

function log_2pc_check_duplicate_global_tran_id

static bool log_2pc_check_duplicate_global_tran_id (
    int gtrid
) 

function log_2pc_commit_first_phase

static int log_2pc_commit_first_phase (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes,
    LOG_2PC_EXECUTE execute_2pc_type,
    bool * decision
) 

function log_2pc_commit_second_phase

static TRAN_STATE log_2pc_commit_second_phase (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes,
    bool * decision
) 

function log_2pc_expand_ack_list

static int * log_2pc_expand_ack_list (
    THREAD_ENTRY * thread_p,
    int * ack_list,
    int * ack_count,
    int * size_ack_list
) 

function log_2pc_find_tran_descriptor

static LOG_TDES * log_2pc_find_tran_descriptor (
    int gtrid
) 

function log_2pc_get_num_participants

static int log_2pc_get_num_participants (
    int * partid_len,
    void ** block_particps_ids
) 

function log_2pc_make_global_tran_id

static int log_2pc_make_global_tran_id (
    TRANID tranid
) 

function log_2pc_recovery_abort_decision

static void log_2pc_recovery_abort_decision (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes
) 

function log_2pc_recovery_aborted_informing_participants

static void log_2pc_recovery_aborted_informing_participants (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes
) 

function log_2pc_recovery_analysis_record

static int log_2pc_recovery_analysis_record (
    THREAD_ENTRY * thread_p,
    LOG_RECTYPE record_type,
    LOG_TDES * tdes,
    LOG_LSA * log_lsa,
    LOG_PAGE * log_page_p,
    int ** ack_list,
    int * ack_count,
    int * size_ack_list,
    bool * search_2pc_prepare,
    bool * search_2pc_start
) 

function log_2pc_recovery_collecting_participant_votes

static void log_2pc_recovery_collecting_participant_votes (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes
) 

function log_2pc_recovery_commit_decision

static void log_2pc_recovery_commit_decision (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes
) 

function log_2pc_recovery_committed_informing_participants

static void log_2pc_recovery_committed_informing_participants (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes
) 

function log_2pc_recovery_prepare

static void log_2pc_recovery_prepare (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes,
    LOG_LSA * log_lsa,
    LOG_PAGE * log_page_p
) 

function log_2pc_recovery_recv_ack

static void log_2pc_recovery_recv_ack (
    THREAD_ENTRY * thread_p,
    LOG_LSA * log_lsa,
    LOG_PAGE * log_page_p,
    int * ack_list,
    int * ack_count
) 

function log_2pc_recovery_start

static int log_2pc_recovery_start (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes,
    LOG_LSA * log_lsa,
    LOG_PAGE * log_page_p,
    int * ack_list,
    int * ack_count
) 


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