CUBRID Engine
latest
|
#include "transaction_transient.hpp"
#include "es.h"
#include "heap_file.h"
#include "lob_locator.hpp"
#include "oid.h"
#include "memory_hash.h"
#include "memory_private_allocator.hpp"
#include "rb_tree.h"
#include "string_buffer.hpp"
#include "vacuum.h"
#include <cstring>
Go to the source code of this file.
Classes | |
struct | lob_savepoint_entry |
struct | lob_locator_entry |
Functions | |
static void | lob_locator_put_meta (const char *locator, std::string &meta_name) |
static void | lob_locator_free (lob_locator_entry *&entry) |
static int | lob_locator_cmp (const lob_locator_entry *e1, const lob_locator_entry *e2) |
RB_PROTOTYPE_STATIC (lob_rb_root, lob_locator_entry, head, lob_locator_cmp) | |
int | xtx_add_lob_locator (cubthread::entry *thread_p, const char *locator, LOB_LOCATOR_STATE state) |
LOB_LOCATOR_STATE | xtx_find_lob_locator (cubthread::entry *thread_p, const char *locator, char *real_locator) |
int | xtx_change_state_of_locator (cubthread::entry *thread_p, const char *locator, const char *new_locator, LOB_LOCATOR_STATE state) |
int | xtx_drop_lob_locator (cubthread::entry *thread_p, const char *locator) |
void | tx_lob_locator_clear (cubthread::entry *thread_p, log_tdes *tdes, bool at_commit, LOG_LSA *savept_lsa) |
RB_GENERATE_STATIC (lob_rb_root, lob_locator_entry, head, lob_locator_cmp) | |
|
static |
Definition at line 475 of file transaction_transient.cpp.
References lob_locator_entry::key_hash, lob_locator_entry::m_key, and RB_GENERATE_STATIC().
|
static |
Definition at line 356 of file transaction_transient.cpp.
References NULL, lob_savepoint_entry::prev, and lob_locator_entry::top.
Referenced by tx_lob_locator_clear(), and xtx_drop_lob_locator().
|
static |
Definition at line 339 of file transaction_transient.cpp.
References assert, diff, lob_locator_key(), and lob_locator_meta().
Referenced by tx_lob_locator_clear().
RB_GENERATE_STATIC | ( | lob_rb_root | , |
lob_locator_entry | , | ||
head | , | ||
lob_locator_cmp | |||
) |
RB_PROTOTYPE_STATIC | ( | lob_rb_root | , |
lob_locator_entry | , | ||
head | , | ||
lob_locator_cmp | |||
) |
void tx_lob_locator_clear | ( | cubthread::entry * | thread_p, |
log_tdes * | tdes, | ||
bool | at_commit, | ||
LOG_LSA * | savept_lsa | ||
) |
Definition at line 372 of file transaction_transient.cpp.
References assert, es_delete_file(), es_rename_file(), lob_locator_free(), lob_locator_is_valid(), lob_locator_put_meta(), log_tdes::lob_locator_root, LOB_PERMANENT_CREATED, LOB_PERMANENT_DELETED, LOB_TRANSIENT_DELETED, lob_savepoint_entry::locator, LSA_GE(), LSA_LT(), NULL, lob_savepoint_entry::prev, RB_EMPTY, RB_MIN, RB_NEXT, RB_REMOVE, lob_savepoint_entry::savept_lsa, lob_savepoint_entry::state, and lob_locator_entry::top.
Referenced by log_abort_local(), log_abort_partial(), log_commit_local(), and xtran_server_end_topop().
int xtx_add_lob_locator | ( | cubthread::entry * | thread_p, |
const char * | locator, | ||
LOB_LOCATOR_STATE | state | ||
) |
Definition at line 172 of file transaction_transient.cpp.
References ARG_FILE_LINE, assert, ER_FATAL_ERROR_SEVERITY, ER_LOG_UNKNOWN_TRANINDEX, er_set(), lob_locator_entry::key_hash, lob_locator_is_valid(), lob_locator_key(), log_tdes::lob_locator_root, lob_savepoint_entry::locator, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LSA_LT(), lob_locator_entry::m_key, mht_5strhash(), NO_ERROR, NULL, lob_savepoint_entry::prev, RB_INSERT, lob_savepoint_entry::savept_lsa, log_tdes::savept_lsa, lob_savepoint_entry::state, strlcpy(), lob_locator_entry::top, and log_tdes::topop_lsa.
Referenced by lob_locator_add(), and slog_add_lob_locator().
int xtx_change_state_of_locator | ( | cubthread::entry * | thread_p, |
const char * | locator, | ||
const char * | new_locator, | ||
LOB_LOCATOR_STATE | state | ||
) |
Definition at line 243 of file transaction_transient.cpp.
References ARG_FILE_LINE, assert, ER_FATAL_ERROR_SEVERITY, ER_LOG_UNKNOWN_TRANINDEX, er_set(), lob_locator_entry::key_hash, lob_locator_is_valid(), lob_locator_key(), log_tdes::lob_locator_root, lob_savepoint_entry::locator, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LSA_GE(), LSA_LT(), lob_locator_entry::m_key, mht_5strhash(), NO_ERROR, NULL, lob_savepoint_entry::prev, RB_FIND, lob_savepoint_entry::savept_lsa, log_tdes::savept_lsa, lob_savepoint_entry::state, strlcpy(), lob_locator_entry::top, and log_tdes::topop_lsa.
Referenced by lob_locator_change_state(), and slog_change_state_of_locator().
int xtx_drop_lob_locator | ( | cubthread::entry * | thread_p, |
const char * | locator | ||
) |
Definition at line 306 of file transaction_transient.cpp.
References ARG_FILE_LINE, assert, ER_FATAL_ERROR_SEVERITY, ER_LOG_UNKNOWN_TRANINDEX, er_set(), lob_locator_entry::key_hash, lob_locator_free(), lob_locator_is_valid(), lob_locator_key(), log_tdes::lob_locator_root, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, lob_locator_entry::m_key, mht_5strhash(), NO_ERROR, NULL, RB_FIND, and RB_REMOVE.
Referenced by lob_locator_drop(), and slog_drop_lob_locator().
LOB_LOCATOR_STATE xtx_find_lob_locator | ( | cubthread::entry * | thread_p, |
const char * | locator, | ||
char * | real_locator | ||
) |
Definition at line 208 of file transaction_transient.cpp.
References assert, lob_locator_entry::key_hash, lob_locator_is_valid(), lob_locator_key(), log_tdes::lob_locator_root, LOB_NOT_FOUND, lob_savepoint_entry::locator, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, lob_locator_entry::m_key, mht_5strhash(), NULL, RB_FIND, lob_savepoint_entry::state, and lob_locator_entry::top.
Referenced by lob_locator_find(), and slog_find_lob_locator().