File locator_sr.c
FileList > cubrid > src > transaction > locator_sr.c
Go to the source code of this file
#include "config.h"
#include <algorithm>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <assert.h>
#include <cstring>
#include "locator_sr.h"
#include "boot_sr.h"
#include "btree_load.h"
#include "critical_section.h"
#include "dbtype.h"
#include "error_manager.h"
#include "deduplicate_key.h"
#include "fetch.h"
#include "filter_pred_cache.h"
#include "heap_file.h"
#include "list_file.h"
#include "log_lsa.hpp"
#include "lock_manager.h"
#include "object_primitive.h"
#include "object_representation.h"
#include "object_representation_sr.h"
#include "query_executor.h"
#include "query_manager.h"
#include "query_reevaluation.hpp"
#include "record_descriptor.hpp"
#include "slotted_page.h"
#include "xasl_cache.h"
#include "xasl_predicate.hpp"
#include "thread_manager.hpp"
#include "transaction_transient.hpp"
#include "xserver_interface.h"
#include "catalog_class.h"
#include "es_posix.h"
#include "memory_wrapper.hpp"
Classes
Public Types
Public Attributes
Public Static Attributes
Public Functions
| Type |
Name |
| bool |
has_errors_filtered_for_insert (std::vector< int > error_filter_array)
|
| int |
locator_add_or_remove_index (THREAD_ENTRY * thread_p, RECDES * recdes, OID * inst_oid, OID * class_oid, int is_insert, int op_type, HEAP_SCANCACHE * scan_cache, bool datayn, bool need_replication, HFID * hfid, FUNC_PRED_UNPACK_INFO * func_preds, bool has_BU_lock, bool skip_checking_fk)
|
| LC_COPYAREA * |
locator_allocate_copy_area_by_attr_info (THREAD_ENTRY * thread_p, HEAP_CACHE_ATTRINFO * attr_info, RECDES * old_recdes, RECDES * new_recdes, const int copyarea_length_hint, int lob_create_flag)
|
| int |
locator_attribute_info_force (THREAD_ENTRY * thread_p, const HFID * hfid, OID * oid, HEAP_CACHE_ATTRINFO * attr_info, ATTR_ID * att_id, int n_att_id, LC_COPYAREA_OPERATION operation, int op_type, HEAP_SCANCACHE * scan_cache, int * force_count, bool not_check_fk, REPL_INFO_TYPE repl_info, int pruning_type, PRUNING_CONTEXT * pcontext, FUNC_PRED_UNPACK_INFO * func_preds, MVCC_REEV_DATA * mvcc_reev_data, UPDATE_INPLACE_STYLE force_update_inplace, RECDES * rec_descriptor, bool need_locking)
|
| DISK_ISVALID |
locator_check_all_entries_of_all_btrees (THREAD_ENTRY * thread_p, bool repair)
|
| DISK_ISVALID |
locator_check_btree_entries (THREAD_ENTRY * thread_p, BTID * btid, HFID * hfid, OID * class_oid, int n_attr_ids, ATTR_ID * attr_ids, int * atts_prefix_length, const char * btname, bool repair)
|
| DISK_ISVALID |
locator_check_by_class_oid (THREAD_ENTRY * thread_p, OID * cls_oid, HFID * hfid, BTID * index_btid, bool repair)
|
| DISK_ISVALID |
locator_check_class (THREAD_ENTRY * thread_p, OID * class_oid, RECDES * peek, HFID * class_hfid, BTID * index_btid, bool repair)
|
| DISK_ISVALID |
locator_check_class_names (THREAD_ENTRY * thread_p)
|
| SCAN_OPERATION_TYPE |
locator_decide_operation_type (LOCK lock_mode, LC_FETCH_VERSION_TYPE fetch_version_type)
|
| int |
locator_delete_force (THREAD_ENTRY * thread_p, HFID * hfid, OID * oid, int has_index, int op_type, HEAP_SCANCACHE * scan_cache, int * force_count, MVCC_REEV_DATA * mvcc_reev_data, bool need_locking)
|
| int |
locator_delete_lob_force (THREAD_ENTRY * thread_p, OID * class_oid, OID * oid, RECDES * recdes)
|
| int |
locator_drop_transient_class_name_entries (THREAD_ENTRY * thread_p, LOG_LSA * savep_lsa)
|
| void |
locator_dump_class_names (THREAD_ENTRY * thread_p, FILE * out_fp)
|
| void |
locator_end_force_scan_cache (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache)
|
| void |
locator_finalize (THREAD_ENTRY * thread_p)
|
| LOCK |
locator_get_lock_mode_from_op_type (SCAN_OPERATION_TYPE op_type)
|
| SCAN_CODE |
locator_get_object (THREAD_ENTRY * thread_p, const OID * oid, OID * class_oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, SCAN_OPERATION_TYPE op_type, LOCK lock_mode, int ispeeking, int chn)
|
| PRUNING_SCAN_CACHE * |
locator_get_partition_scancache (PRUNING_CONTEXT * pcontext, const OID * class_oid, const HFID * hfid, int op_type, bool has_function_indexes)
|
| int |
locator_initialize (THREAD_ENTRY * thread_p)
|
| int |
locator_insert_force (THREAD_ENTRY * thread_p, HFID * hfid, OID * class_oid, OID * oid, RECDES * recdes, int has_index, int op_type, HEAP_SCANCACHE * scan_cache, int * force_count, int pruning_type, PRUNING_CONTEXT * pcontext, FUNC_PRED_UNPACK_INFO * func_preds, UPDATE_INPLACE_STYLE force_in_place, PGBUF_WATCHER * home_hint_p, bool has_BU_lock, bool dont_check_fk, bool use_bulk_logging)
|
| SCAN_CODE |
locator_lock_and_get_object (THREAD_ENTRY * thread_p, const OID * oid, OID * class_oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, LOCK lock, int ispeeking, int old_chn, NON_EXISTENT_HANDLING non_ex_handling_type)
|
| SCAN_CODE |
locator_lock_and_get_object_with_evaluation (THREAD_ENTRY * thread_p, OID * oid, OID * class_oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, int ispeeking, int old_chn, MVCC_REEV_DATA * mvcc_reev_data, NON_EXISTENT_HANDLING non_ex_handling_type)
|
| int |
locator_multi_insert_force (THREAD_ENTRY * thread_p, HFID * hfid, OID * class_oid, const std::vector< record_descriptor > & recdes, int has_index, int op_type, HEAP_SCANCACHE * scan_cache, int * force_count, int pruning_type, PRUNING_CONTEXT * pcontext, FUNC_PRED_UNPACK_INFO * func_preds, UPDATE_INPLACE_STYLE force_in_place, bool dont_check_fk)
|
| int |
locator_rv_redo_rename (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
locator_savepoint_transient_class_name_entries (THREAD_ENTRY * thread_p, LOG_LSA * savep_lsa)
|
| int |
locator_start_force_scan_cache (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache, const HFID * hfid, const OID * class_oid, int op_type)
|
| int |
locator_update_index (THREAD_ENTRY * thread_p, RECDES * new_recdes, RECDES * old_recdes, ATTR_ID * att_id, int n_att_id, OID * oid, OID * class_oid, int op_type, HEAP_SCANCACHE * scan_cache, REPL_INFO * repl_info)
|
| int |
xchksum_insert_repl_log_and_demote_table_lock (THREAD_ENTRY * thread_p, REPL_INFO * repl_info, const OID * class_oidp)
|
| int |
xlob_create_dir (THREAD_ENTRY * thread_p, HFID * hfid, int * attrid_arr, int attrid_arr_length)
|
| int |
xlob_remove_dir (THREAD_ENTRY * thread_p, HFID * hfid, int attrid)
|
| int |
xlocator_assign_oid (THREAD_ENTRY * thread_p, const HFID * hfid, OID * perm_oid, int expected_length, OID * class_oid, const char * classname)
|
| int |
xlocator_assign_oid_batch (THREAD_ENTRY * thread_p, LC_OIDSET * oidset)
|
| int |
xlocator_check_fk_validity (THREAD_ENTRY * thread_p, OID * cls_oid, HFID * hfid, TP_DOMAIN * key_type, int n_attrs, int * attr_ids, OID * pk_cls_oid, BTID * pk_btid, char * fk_name)
|
| LC_FIND_CLASSNAME |
xlocator_delete_class_name (THREAD_ENTRY * thread_p, const char * classname)
|
| int |
xlocator_demote_class_lock (THREAD_ENTRY * thread_p, const OID * class_oid, LOCK lock, LOCK * ex_lock)
|
| int |
xlocator_does_exist (THREAD_ENTRY * thread_p, OID * oid, int chn, LOCK lock, LC_FETCH_VERSION_TYPE fetch_version_type, OID * class_oid, int class_chn, int need_fetching, int prefetching, LC_COPYAREA ** fetch_area)
|
| int |
xlocator_fetch (THREAD_ENTRY * thread_p, OID * oid, int chn, LOCK lock, LC_FETCH_VERSION_TYPE fetch_version_type, LC_FETCH_VERSION_TYPE initial_fetch_version_type, OID * class_oid, int class_chn, int prefetching, LC_COPYAREA ** fetch_area)
|
| int |
xlocator_fetch_all (THREAD_ENTRY * thread_p, const HFID * hfid, LOCK * lock, LC_FETCH_VERSION_TYPE fetch_version_type, OID * class_oid, int * nobjects, int * nfetched, OID * last_oid, LC_COPYAREA ** fetch_area, int request_pages)
|
| int |
xlocator_fetch_all_reference_lockset (THREAD_ENTRY * thread_p, OID * oid, int chn, OID * class_oid, int class_chn, LOCK lock, int quit_on_errors, int prune_level, LC_LOCKSET ** lockset, LC_COPYAREA ** fetch_area)
|
| int |
xlocator_fetch_lockhint_classes (THREAD_ENTRY * thread_p, LC_LOCKHINT * lockhint, LC_COPYAREA ** fetch_area)
|
| int |
xlocator_fetch_lockset (THREAD_ENTRY * thread_p, LC_LOCKSET * lockset, LC_COPYAREA ** fetch_area)
|
| LC_FIND_CLASSNAME |
xlocator_find_class_oid (THREAD_ENTRY * thread_p, const char * classname, OID * class_oid, LOCK lock)
|
| LC_FIND_CLASSNAME |
xlocator_find_lockhint_class_oids (THREAD_ENTRY * thread_p, int num_classes, const char ** many_classnames, LOCK * many_locks, int * many_need_subclasses, LC_PREFETCH_FLAGS * many_flags, OID * guessed_class_oids, int * guessed_class_chns, bool quit_on_errors, LC_LOCKHINT ** hlock, LC_COPYAREA ** fetch_area)
|
| int |
xlocator_force (THREAD_ENTRY * thread_p, LC_COPYAREA * force_area, int num_ignore_error, int * ignore_error_list)
|
| int |
xlocator_get_class (THREAD_ENTRY * thread_p, OID * class_oid, int class_chn, const OID * oid, LOCK lock, int prefetching, LC_COPYAREA ** fetch_area)
|
| int |
xlocator_get_reserved_class_name_oid (THREAD_ENTRY * thread_p, const char * classname, OID * class_oid)
|
| int |
xlocator_lock_and_fetch_all (THREAD_ENTRY * thread_p, const HFID * hfid, LOCK * instance_lock, int * instance_lock_timeout, OID * class_oid, LOCK * class_lock, int * nobjects, int * nfetched, int * nfailed_instance_locks, OID * last_oid, LC_COPYAREA ** fetch_area, MVCC_SNAPSHOT * mvcc_snapshot)
|
| bool |
xlocator_notify_isolation_incons (THREAD_ENTRY * thread_p, LC_COPYAREA ** synch_area)
|
| int |
xlocator_redistribute_partition_data (THREAD_ENTRY * thread_p, OID * class_oid, int no_oids, OID * oid_list)
|
| int |
xlocator_remove_class_from_index (THREAD_ENTRY * thread_p, OID * class_oid, BTID * btid, HFID * hfid)
|
| LC_FIND_CLASSNAME |
xlocator_rename_class_name (THREAD_ENTRY * thread_p, const char * oldname, const char * newname, OID * class_oid)
|
| int |
xlocator_repl_force (THREAD_ENTRY * thread_p, LC_COPYAREA * force_area, LC_COPYAREA ** reply_area)
|
| LC_FIND_CLASSNAME |
xlocator_reserve_class_names (THREAD_ENTRY * thread_p, const int num_classes, const char ** classnames, OID * class_oids)
|
| int |
xlocator_upgrade_instances_domain (THREAD_ENTRY * thread_p, OID * class_oid, int att_id)
|
| LOG_LSA * |
xrepl_log_get_append_lsa (void)
|
| int |
xrepl_set_info (THREAD_ENTRY * thread_p, REPL_INFO * repl_info)
|
| void |
xsynonym_remove_xasl_by_oid (THREAD_ENTRY * thread_p, OID * oidp)
|
Public Static Functions
| Type |
Name |
| int |
locator_add_or_remove_index_for_moving (THREAD_ENTRY * thread_p, RECDES * recdes, OID * inst_oid, OID * class_oid, int is_insert, int op_type, HEAP_SCANCACHE * scan_cache, bool datayn, bool need_replication, HFID * hfid, FUNC_PRED_UNPACK_INFO * func_preds, bool has_BU_lock)
|
| int |
locator_add_or_remove_index_internal (THREAD_ENTRY * thread_p, RECDES * recdes, OID * inst_oid, OID * class_oid, int is_insert, int op_type, HEAP_SCANCACHE * scan_cache, bool datayn, bool replyn, HFID * hfid, FUNC_PRED_UNPACK_INFO * func_preds, LOCATOR_INDEX_ACTION_FLAG idx_action_flag, bool has_BU_lock, bool skip_checking_fk)
|
| LC_LOCKSET * |
locator_all_reference_lockset (THREAD_ENTRY * thread_p, OID * oid, int prune_level, LOCK inst_lock, LOCK class_lock, bool quit_on_errors)
|
| int |
locator_area_op_to_pruning_type (LC_COPYAREA_OPERATION op)
|
| int |
locator_check_class_on_heap (const void * name, void * ent, void * args)
|
| int |
locator_check_foreign_key (THREAD_ENTRY * thread_p, HFID * hfid, OID * class_oid, OID * inst_oid, RECDES * recdes, RECDES * new_recdes, bool * is_cached, LC_COPYAREA ** copyarea)
|
| int |
locator_check_primary_key_delete (THREAD_ENTRY * thread_p, OR_INDEX * index, DB_VALUE * key)
|
| int |
locator_check_primary_key_update (THREAD_ENTRY * thread_p, OR_INDEX * index, DB_VALUE * key)
|
| DISK_ISVALID |
locator_check_unique_btree_entries (THREAD_ENTRY * thread_p, BTID * btid, OID * cls_oid, RECDES * classrec, ATTR_ID * attr_ids, const char * btname, bool repair)
|
| void |
locator_decr_num_transient_classnames (int tran_index)
|
| void |
locator_decrease_catalog_count (THREAD_ENTRY * thread_p, OID * cls_oid)
|
| int |
locator_defence_drop_class_name_entry (const void * name, void * ent, void * args)
|
| int |
locator_delete_force_for_moving (THREAD_ENTRY * thread_p, HFID * hfid, OID * oid, int has_index, int op_type, HEAP_SCANCACHE * scan_cache, int * force_count, MVCC_REEV_DATA * mvcc_reev_data, OID * new_obj_oid, OID * partition_oid, bool need_locking)
|
| int |
locator_delete_force_internal (THREAD_ENTRY * thread_p, HFID * hfid, OID * oid, int has_index, int op_type, HEAP_SCANCACHE * scan_cache, int * force_count, MVCC_REEV_DATA * mvcc_reev_data, LOCATOR_INDEX_ACTION_FLAG idx_action_flag, OID * new_obj_oid, OID * partition_oid, bool need_locking)
|
| int |
locator_drop_class_name_entry (THREAD_ENTRY * thread_p, const char * classname, LOG_LSA * savep_lsa)
|
| int |
locator_eval_filter_predicate (THREAD_ENTRY * thread_p, BTID * btid, OR_PREDICATE * or_pred, OID * class_oid, OID ** inst_oids, int num_insts, RECDES ** recs, DB_LOGICAL * results)
|
| int |
locator_filter_errid (THREAD_ENTRY * thread_p, int num_ignore_error_count, int * ignore_error_list)
|
| int |
locator_find_lockset_missing_class_oids (THREAD_ENTRY * thread_p, LC_LOCKSET * lockset)
|
| int |
locator_force_drop_class_name_entry (const void * name, void * ent, void * args)
|
| int |
locator_force_for_multi_update (THREAD_ENTRY * thread_p, LC_COPYAREA * force_area)
|
| void |
locator_generate_class_pseudo_oid (THREAD_ENTRY * thread_p, OID * class_oid)
|
| int |
locator_get_num_transient_classnames (int tran_index)
|
| int |
locator_guess_sub_classes (THREAD_ENTRY * thread_p, LC_LOCKHINT ** lockhint_subclasses)
|
| void |
locator_incr_num_transient_classnames (int tran_index)
|
| void |
locator_increase_catalog_count (THREAD_ENTRY * thread_p, OID * cls_oid)
|
| bool |
locator_is_exist_class_name_entry (THREAD_ENTRY * thread_p, LOCATOR_CLASSNAME_ENTRY * entry)
|
| int |
locator_lob_make_dir_path (char * buf, const HFID * hfid, int attrid)
|
| SCAN_CODE |
locator_lock_and_get_object_internal (THREAD_ENTRY * thread_p, HEAP_GET_CONTEXT * context, LOCK lock_mode)
|
| SCAN_CODE |
locator_lock_and_return_object (THREAD_ENTRY * thread_p, LOCATOR_RETURN_NXOBJ * assign, OID * class_oid, OID * oid, int chn, LOCK lock_mode, SCAN_OPERATION_TYPE op_type)
|
| TP_DOMAIN * |
locator_make_midxkey_domain (OR_INDEX * index)
|
| int |
locator_move_record (THREAD_ENTRY * thread_p, HFID * old_hfid, OID * old_class_oid, OID * obj_oid, OID * new_class_oid, HFID * new_class_hfid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, int op_type, int has_index, int * force_count, PRUNING_CONTEXT * context, MVCC_REEV_DATA * mvcc_reev_data, bool need_locking)
|
| DB_LOGICAL |
locator_mvcc_reev_cond_and_assignment (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache, MVCC_REEV_DATA * mvcc_reev_data_p, MVCC_REC_HEADER * mvcc_header_p, const OID * curr_row_version_oid_p, RECDES * recdes)
|
| DB_LOGICAL |
locator_mvcc_reev_cond_assigns (THREAD_ENTRY * thread_p, OID * class_oid, const OID * oid, HEAP_SCANCACHE * scan_cache, RECDES * recdes, MVCC_UPDDEL_REEV_DATA * mvcc_reev_data)
|
| DB_LOGICAL |
locator_mvcc_reeval_scan_filters (THREAD_ENTRY * thread_p, const OID * oid, HEAP_SCANCACHE * scan_cache, RECDES * recdes, UPDDEL_MVCC_COND_REEVAL * mvcc_cond_reeval, bool is_upddel)
|
| DB_LOGICAL |
locator_mvcc_reevaluate_filters (THREAD_ENTRY * thread_p, MVCC_SCAN_REEV_DATA * mvcc_reev_data, const OID * oid, RECDES * recdes)
|
| bool |
locator_notify_decache (const OID * class_oid, const OID * oid, void * notify_area)
|
| int |
locator_permoid_class_name (THREAD_ENTRY * thread_p, const char * classname, const OID * class_oid)
|
| int |
locator_print_class_name (THREAD_ENTRY * thread_p, FILE * outfp, const void * key, void * ent, void * args)
|
| DISK_ISVALID |
locator_repair_btree_by_delete (THREAD_ENTRY * thread_p, OID * class_oid, BTID * btid, OID * inst_oid)
|
| DISK_ISVALID |
locator_repair_btree_by_insert (THREAD_ENTRY * thread_p, OID * class_oid, BTID * btid, DB_VALUE * key, OID * inst_oid)
|
| void |
locator_repl_add_error_to_copyarea (LC_COPYAREA ** copy_area, RECDES * recdes, LC_COPYAREA_ONEOBJ * obj, DB_VALUE * key_value, int err_code, const char * err_msg)
|
| int |
locator_repl_get_key_value (DB_VALUE * key_value, LC_COPYAREA * force_area, LC_COPYAREA_ONEOBJ * obj)
|
| int |
locator_repl_prepare_force (THREAD_ENTRY * thread_p, LC_COPYAREA_ONEOBJ * obj, RECDES * old_recdes, RECDES * recdes, DB_VALUE * key_value, HEAP_SCANCACHE * force_scancache)
|
| SCAN_CODE |
locator_return_object_assign (THREAD_ENTRY * thread_p, LOCATOR_RETURN_NXOBJ * assign, OID * class_oid, OID * oid, int chn, int guess_chn, SCAN_CODE scan, int tran_index)
|
| int |
locator_savepoint_class_name_entry (const char * classname, LOG_LSA * savep_lsa)
|
| int |
locator_update_force (THREAD_ENTRY * thread_p, HFID * hfid, OID * class_oid, OID * oid, RECDES * ikdrecdes, RECDES * recdes, int has_index, ATTR_ID * att_id, int n_att_id, int op_type, HEAP_SCANCACHE * scan_cache, int * force_count, bool not_check_fk, REPL_INFO_TYPE repl_info_type, int pruning_type, PRUNING_CONTEXT * pcontext, MVCC_REEV_DATA * mvcc_reev_data, UPDATE_INPLACE_STYLE force_in_place, bool need_locking)
|
| bool |
locator_was_index_already_applied (HEAP_CACHE_ATTRINFO * index_attrinfo, BTID * btid, int pos)
|
| int |
redistribute_partition_data (THREAD_ENTRY * thread_p, OID * class_oid, int no_oids, OID * oid_list)
|
| LC_FIND_CLASSNAME |
xlocator_reserve_class_name (THREAD_ENTRY * thread_p, const char * classname, OID * class_oid)
|
Macros
Public Types Documentation
typedef LOCATOR_CLASSNAME_ACTION
typedef struct locator_classname_action LOCATOR_CLASSNAME_ACTION;
typedef LOCATOR_CLASSNAME_ENTRY
typedef struct locator_classname_entry LOCATOR_CLASSNAME_ENTRY;
enum LOCATOR_INDEX_ACTION_FLAG
enum LOCATOR_INDEX_ACTION_FLAG {
FOR_INSERT_OR_DELETE,
FOR_MOVE
};
typedef LOCATOR_RETURN_NXOBJ
typedef struct locator_return_nxobj LOCATOR_RETURN_NXOBJ;
Public Attributes Documentation
variable locator_Dont_check_foreign_key
bool locator_Dont_check_foreign_key;
Public Static Attributes Documentation
variable LOCATOR_GUESS_NUM_NESTED_REFERENCES
const int LOCATOR_GUESS_NUM_NESTED_REFERENCES;
variable NULL_HFID
variable locator_Mht_classnames
MHT_TABLE* locator_Mht_classnames;
variable locator_Pseudo_pageid_crt
INT32 locator_Pseudo_pageid_crt;
variable locator_Pseudo_pageid_first
const INT32 locator_Pseudo_pageid_first;
variable locator_Pseudo_pageid_last
const INT32 locator_Pseudo_pageid_last;
Public Functions Documentation
function has_errors_filtered_for_insert
bool has_errors_filtered_for_insert (
std::vector< int > error_filter_array
)
function locator_add_or_remove_index
int locator_add_or_remove_index (
THREAD_ENTRY * thread_p,
RECDES * recdes,
OID * inst_oid,
OID * class_oid,
int is_insert,
int op_type,
HEAP_SCANCACHE * scan_cache,
bool datayn,
bool need_replication,
HFID * hfid,
FUNC_PRED_UNPACK_INFO * func_preds,
bool has_BU_lock,
bool skip_checking_fk
)
function locator_allocate_copy_area_by_attr_info
LC_COPYAREA * locator_allocate_copy_area_by_attr_info (
THREAD_ENTRY * thread_p,
HEAP_CACHE_ATTRINFO * attr_info,
RECDES * old_recdes,
RECDES * new_recdes,
const int copyarea_length_hint,
int lob_create_flag
)
function locator_attribute_info_force
int locator_attribute_info_force (
THREAD_ENTRY * thread_p,
const HFID * hfid,
OID * oid,
HEAP_CACHE_ATTRINFO * attr_info,
ATTR_ID * att_id,
int n_att_id,
LC_COPYAREA_OPERATION operation,
int op_type,
HEAP_SCANCACHE * scan_cache,
int * force_count,
bool not_check_fk,
REPL_INFO_TYPE repl_info,
int pruning_type,
PRUNING_CONTEXT * pcontext,
FUNC_PRED_UNPACK_INFO * func_preds,
MVCC_REEV_DATA * mvcc_reev_data,
UPDATE_INPLACE_STYLE force_update_inplace,
RECDES * rec_descriptor,
bool need_locking
)
function locator_check_all_entries_of_all_btrees
DISK_ISVALID locator_check_all_entries_of_all_btrees (
THREAD_ENTRY * thread_p,
bool repair
)
function locator_check_btree_entries
DISK_ISVALID locator_check_btree_entries (
THREAD_ENTRY * thread_p,
BTID * btid,
HFID * hfid,
OID * class_oid,
int n_attr_ids,
ATTR_ID * attr_ids,
int * atts_prefix_length,
const char * btname,
bool repair
)
function locator_check_by_class_oid
DISK_ISVALID locator_check_by_class_oid (
THREAD_ENTRY * thread_p,
OID * cls_oid,
HFID * hfid,
BTID * index_btid,
bool repair
)
function locator_check_class
DISK_ISVALID locator_check_class (
THREAD_ENTRY * thread_p,
OID * class_oid,
RECDES * peek,
HFID * class_hfid,
BTID * index_btid,
bool repair
)
function locator_check_class_names
DISK_ISVALID locator_check_class_names (
THREAD_ENTRY * thread_p
)
function locator_decide_operation_type
SCAN_OPERATION_TYPE locator_decide_operation_type (
LOCK lock_mode,
LC_FETCH_VERSION_TYPE fetch_version_type
)
function locator_delete_force
int locator_delete_force (
THREAD_ENTRY * thread_p,
HFID * hfid,
OID * oid,
int has_index,
int op_type,
HEAP_SCANCACHE * scan_cache,
int * force_count,
MVCC_REEV_DATA * mvcc_reev_data,
bool need_locking
)
function locator_delete_lob_force
int locator_delete_lob_force (
THREAD_ENTRY * thread_p,
OID * class_oid,
OID * oid,
RECDES * recdes
)
function locator_drop_transient_class_name_entries
int locator_drop_transient_class_name_entries (
THREAD_ENTRY * thread_p,
LOG_LSA * savep_lsa
)
function locator_dump_class_names
void locator_dump_class_names (
THREAD_ENTRY * thread_p,
FILE * out_fp
)
function locator_end_force_scan_cache
void locator_end_force_scan_cache (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * scan_cache
)
function locator_finalize
void locator_finalize (
THREAD_ENTRY * thread_p
)
function locator_get_lock_mode_from_op_type
LOCK locator_get_lock_mode_from_op_type (
SCAN_OPERATION_TYPE op_type
)
function locator_get_object
SCAN_CODE locator_get_object (
THREAD_ENTRY * thread_p,
const OID * oid,
OID * class_oid,
RECDES * recdes,
HEAP_SCANCACHE * scan_cache,
SCAN_OPERATION_TYPE op_type,
LOCK lock_mode,
int ispeeking,
int chn
)
function locator_get_partition_scancache
PRUNING_SCAN_CACHE * locator_get_partition_scancache (
PRUNING_CONTEXT * pcontext,
const OID * class_oid,
const HFID * hfid,
int op_type,
bool has_function_indexes
)
function locator_initialize
int locator_initialize (
THREAD_ENTRY * thread_p
)
function locator_insert_force
int locator_insert_force (
THREAD_ENTRY * thread_p,
HFID * hfid,
OID * class_oid,
OID * oid,
RECDES * recdes,
int has_index,
int op_type,
HEAP_SCANCACHE * scan_cache,
int * force_count,
int pruning_type,
PRUNING_CONTEXT * pcontext,
FUNC_PRED_UNPACK_INFO * func_preds,
UPDATE_INPLACE_STYLE force_in_place,
PGBUF_WATCHER * home_hint_p,
bool has_BU_lock,
bool dont_check_fk,
bool use_bulk_logging
)
function locator_lock_and_get_object
SCAN_CODE locator_lock_and_get_object (
THREAD_ENTRY * thread_p,
const OID * oid,
OID * class_oid,
RECDES * recdes,
HEAP_SCANCACHE * scan_cache,
LOCK lock,
int ispeeking,
int old_chn,
NON_EXISTENT_HANDLING non_ex_handling_type
)
function locator_lock_and_get_object_with_evaluation
SCAN_CODE locator_lock_and_get_object_with_evaluation (
THREAD_ENTRY * thread_p,
OID * oid,
OID * class_oid,
RECDES * recdes,
HEAP_SCANCACHE * scan_cache,
int ispeeking,
int old_chn,
MVCC_REEV_DATA * mvcc_reev_data,
NON_EXISTENT_HANDLING non_ex_handling_type
)
function locator_multi_insert_force
int locator_multi_insert_force (
THREAD_ENTRY * thread_p,
HFID * hfid,
OID * class_oid,
const std::vector< record_descriptor > & recdes,
int has_index,
int op_type,
HEAP_SCANCACHE * scan_cache,
int * force_count,
int pruning_type,
PRUNING_CONTEXT * pcontext,
FUNC_PRED_UNPACK_INFO * func_preds,
UPDATE_INPLACE_STYLE force_in_place,
bool dont_check_fk
)
function locator_rv_redo_rename
int locator_rv_redo_rename (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function locator_savepoint_transient_class_name_entries
int locator_savepoint_transient_class_name_entries (
THREAD_ENTRY * thread_p,
LOG_LSA * savep_lsa
)
function locator_start_force_scan_cache
int locator_start_force_scan_cache (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * scan_cache,
const HFID * hfid,
const OID * class_oid,
int op_type
)
function locator_update_index
int locator_update_index (
THREAD_ENTRY * thread_p,
RECDES * new_recdes,
RECDES * old_recdes,
ATTR_ID * att_id,
int n_att_id,
OID * oid,
OID * class_oid,
int op_type,
HEAP_SCANCACHE * scan_cache,
REPL_INFO * repl_info
)
function xchksum_insert_repl_log_and_demote_table_lock
int xchksum_insert_repl_log_and_demote_table_lock (
THREAD_ENTRY * thread_p,
REPL_INFO * repl_info,
const OID * class_oidp
)
function xlob_create_dir
int xlob_create_dir (
THREAD_ENTRY * thread_p,
HFID * hfid,
int * attrid_arr,
int attrid_arr_length
)
function xlob_remove_dir
int xlob_remove_dir (
THREAD_ENTRY * thread_p,
HFID * hfid,
int attrid
)
function xlocator_assign_oid
int xlocator_assign_oid (
THREAD_ENTRY * thread_p,
const HFID * hfid,
OID * perm_oid,
int expected_length,
OID * class_oid,
const char * classname
)
function xlocator_assign_oid_batch
int xlocator_assign_oid_batch (
THREAD_ENTRY * thread_p,
LC_OIDSET * oidset
)
function xlocator_check_fk_validity
int xlocator_check_fk_validity (
THREAD_ENTRY * thread_p,
OID * cls_oid,
HFID * hfid,
TP_DOMAIN * key_type,
int n_attrs,
int * attr_ids,
OID * pk_cls_oid,
BTID * pk_btid,
char * fk_name
)
function xlocator_delete_class_name
LC_FIND_CLASSNAME xlocator_delete_class_name (
THREAD_ENTRY * thread_p,
const char * classname
)
function xlocator_demote_class_lock
int xlocator_demote_class_lock (
THREAD_ENTRY * thread_p,
const OID * class_oid,
LOCK lock,
LOCK * ex_lock
)
function xlocator_does_exist
int xlocator_does_exist (
THREAD_ENTRY * thread_p,
OID * oid,
int chn,
LOCK lock,
LC_FETCH_VERSION_TYPE fetch_version_type,
OID * class_oid,
int class_chn,
int need_fetching,
int prefetching,
LC_COPYAREA ** fetch_area
)
function xlocator_fetch
int xlocator_fetch (
THREAD_ENTRY * thread_p,
OID * oid,
int chn,
LOCK lock,
LC_FETCH_VERSION_TYPE fetch_version_type,
LC_FETCH_VERSION_TYPE initial_fetch_version_type,
OID * class_oid,
int class_chn,
int prefetching,
LC_COPYAREA ** fetch_area
)
function xlocator_fetch_all
int xlocator_fetch_all (
THREAD_ENTRY * thread_p,
const HFID * hfid,
LOCK * lock,
LC_FETCH_VERSION_TYPE fetch_version_type,
OID * class_oid,
int * nobjects,
int * nfetched,
OID * last_oid,
LC_COPYAREA ** fetch_area,
int request_pages
)
function xlocator_fetch_all_reference_lockset
int xlocator_fetch_all_reference_lockset (
THREAD_ENTRY * thread_p,
OID * oid,
int chn,
OID * class_oid,
int class_chn,
LOCK lock,
int quit_on_errors,
int prune_level,
LC_LOCKSET ** lockset,
LC_COPYAREA ** fetch_area
)
function xlocator_fetch_lockhint_classes
int xlocator_fetch_lockhint_classes (
THREAD_ENTRY * thread_p,
LC_LOCKHINT * lockhint,
LC_COPYAREA ** fetch_area
)
function xlocator_fetch_lockset
int xlocator_fetch_lockset (
THREAD_ENTRY * thread_p,
LC_LOCKSET * lockset,
LC_COPYAREA ** fetch_area
)
function xlocator_find_class_oid
LC_FIND_CLASSNAME xlocator_find_class_oid (
THREAD_ENTRY * thread_p,
const char * classname,
OID * class_oid,
LOCK lock
)
function xlocator_find_lockhint_class_oids
LC_FIND_CLASSNAME xlocator_find_lockhint_class_oids (
THREAD_ENTRY * thread_p,
int num_classes,
const char ** many_classnames,
LOCK * many_locks,
int * many_need_subclasses,
LC_PREFETCH_FLAGS * many_flags,
OID * guessed_class_oids,
int * guessed_class_chns,
bool quit_on_errors,
LC_LOCKHINT ** hlock,
LC_COPYAREA ** fetch_area
)
function xlocator_force
int xlocator_force (
THREAD_ENTRY * thread_p,
LC_COPYAREA * force_area,
int num_ignore_error,
int * ignore_error_list
)
function xlocator_get_class
int xlocator_get_class (
THREAD_ENTRY * thread_p,
OID * class_oid,
int class_chn,
const OID * oid,
LOCK lock,
int prefetching,
LC_COPYAREA ** fetch_area
)
function xlocator_get_reserved_class_name_oid
int xlocator_get_reserved_class_name_oid (
THREAD_ENTRY * thread_p,
const char * classname,
OID * class_oid
)
function xlocator_lock_and_fetch_all
int xlocator_lock_and_fetch_all (
THREAD_ENTRY * thread_p,
const HFID * hfid,
LOCK * instance_lock,
int * instance_lock_timeout,
OID * class_oid,
LOCK * class_lock,
int * nobjects,
int * nfetched,
int * nfailed_instance_locks,
OID * last_oid,
LC_COPYAREA ** fetch_area,
MVCC_SNAPSHOT * mvcc_snapshot
)
function xlocator_notify_isolation_incons
bool xlocator_notify_isolation_incons (
THREAD_ENTRY * thread_p,
LC_COPYAREA ** synch_area
)
function xlocator_redistribute_partition_data
int xlocator_redistribute_partition_data (
THREAD_ENTRY * thread_p,
OID * class_oid,
int no_oids,
OID * oid_list
)
function xlocator_remove_class_from_index
int xlocator_remove_class_from_index (
THREAD_ENTRY * thread_p,
OID * class_oid,
BTID * btid,
HFID * hfid
)
function xlocator_rename_class_name
LC_FIND_CLASSNAME xlocator_rename_class_name (
THREAD_ENTRY * thread_p,
const char * oldname,
const char * newname,
OID * class_oid
)
function xlocator_repl_force
int xlocator_repl_force (
THREAD_ENTRY * thread_p,
LC_COPYAREA * force_area,
LC_COPYAREA ** reply_area
)
function xlocator_reserve_class_names
LC_FIND_CLASSNAME xlocator_reserve_class_names (
THREAD_ENTRY * thread_p,
const int num_classes,
const char ** classnames,
OID * class_oids
)
function xlocator_upgrade_instances_domain
int xlocator_upgrade_instances_domain (
THREAD_ENTRY * thread_p,
OID * class_oid,
int att_id
)
function xrepl_log_get_append_lsa
LOG_LSA * xrepl_log_get_append_lsa (
void
)
function xrepl_set_info
int xrepl_set_info (
THREAD_ENTRY * thread_p,
REPL_INFO * repl_info
)
function xsynonym_remove_xasl_by_oid
void xsynonym_remove_xasl_by_oid (
THREAD_ENTRY * thread_p,
OID * oidp
)
Public Static Functions Documentation
function locator_add_or_remove_index_for_moving
static int locator_add_or_remove_index_for_moving (
THREAD_ENTRY * thread_p,
RECDES * recdes,
OID * inst_oid,
OID * class_oid,
int is_insert,
int op_type,
HEAP_SCANCACHE * scan_cache,
bool datayn,
bool need_replication,
HFID * hfid,
FUNC_PRED_UNPACK_INFO * func_preds,
bool has_BU_lock
)
function locator_add_or_remove_index_internal
static int locator_add_or_remove_index_internal (
THREAD_ENTRY * thread_p,
RECDES * recdes,
OID * inst_oid,
OID * class_oid,
int is_insert,
int op_type,
HEAP_SCANCACHE * scan_cache,
bool datayn,
bool replyn,
HFID * hfid,
FUNC_PRED_UNPACK_INFO * func_preds,
LOCATOR_INDEX_ACTION_FLAG idx_action_flag,
bool has_BU_lock,
bool skip_checking_fk
)
function locator_all_reference_lockset
static LC_LOCKSET * locator_all_reference_lockset (
THREAD_ENTRY * thread_p,
OID * oid,
int prune_level,
LOCK inst_lock,
LOCK class_lock,
bool quit_on_errors
)
function locator_area_op_to_pruning_type
static int locator_area_op_to_pruning_type (
LC_COPYAREA_OPERATION op
)
function locator_check_class_on_heap
static int locator_check_class_on_heap (
const void * name,
void * ent,
void * args
)
function locator_check_foreign_key
static int locator_check_foreign_key (
THREAD_ENTRY * thread_p,
HFID * hfid,
OID * class_oid,
OID * inst_oid,
RECDES * recdes,
RECDES * new_recdes,
bool * is_cached,
LC_COPYAREA ** copyarea
)
function locator_check_primary_key_delete
static int locator_check_primary_key_delete (
THREAD_ENTRY * thread_p,
OR_INDEX * index,
DB_VALUE * key
)
function locator_check_primary_key_update
static int locator_check_primary_key_update (
THREAD_ENTRY * thread_p,
OR_INDEX * index,
DB_VALUE * key
)
function locator_check_unique_btree_entries
static DISK_ISVALID locator_check_unique_btree_entries (
THREAD_ENTRY * thread_p,
BTID * btid,
OID * cls_oid,
RECDES * classrec,
ATTR_ID * attr_ids,
const char * btname,
bool repair
)
function locator_decr_num_transient_classnames
static void locator_decr_num_transient_classnames (
int tran_index
)
function locator_decrease_catalog_count
static void locator_decrease_catalog_count (
THREAD_ENTRY * thread_p,
OID * cls_oid
)
function locator_defence_drop_class_name_entry
static int locator_defence_drop_class_name_entry (
const void * name,
void * ent,
void * args
)
function locator_delete_force_for_moving
static int locator_delete_force_for_moving (
THREAD_ENTRY * thread_p,
HFID * hfid,
OID * oid,
int has_index,
int op_type,
HEAP_SCANCACHE * scan_cache,
int * force_count,
MVCC_REEV_DATA * mvcc_reev_data,
OID * new_obj_oid,
OID * partition_oid,
bool need_locking
)
function locator_delete_force_internal
static int locator_delete_force_internal (
THREAD_ENTRY * thread_p,
HFID * hfid,
OID * oid,
int has_index,
int op_type,
HEAP_SCANCACHE * scan_cache,
int * force_count,
MVCC_REEV_DATA * mvcc_reev_data,
LOCATOR_INDEX_ACTION_FLAG idx_action_flag,
OID * new_obj_oid,
OID * partition_oid,
bool need_locking
)
function locator_drop_class_name_entry
static int locator_drop_class_name_entry (
THREAD_ENTRY * thread_p,
const char * classname,
LOG_LSA * savep_lsa
)
function locator_eval_filter_predicate
static int locator_eval_filter_predicate (
THREAD_ENTRY * thread_p,
BTID * btid,
OR_PREDICATE * or_pred,
OID * class_oid,
OID ** inst_oids,
int num_insts,
RECDES ** recs,
DB_LOGICAL * results
)
function locator_filter_errid
static int locator_filter_errid (
THREAD_ENTRY * thread_p,
int num_ignore_error_count,
int * ignore_error_list
)
function locator_find_lockset_missing_class_oids
static int locator_find_lockset_missing_class_oids (
THREAD_ENTRY * thread_p,
LC_LOCKSET * lockset
)
function locator_force_drop_class_name_entry
static int locator_force_drop_class_name_entry (
const void * name,
void * ent,
void * args
)
function locator_force_for_multi_update
static int locator_force_for_multi_update (
THREAD_ENTRY * thread_p,
LC_COPYAREA * force_area
)
function locator_generate_class_pseudo_oid
static void locator_generate_class_pseudo_oid (
THREAD_ENTRY * thread_p,
OID * class_oid
)
function locator_get_num_transient_classnames
static int locator_get_num_transient_classnames (
int tran_index
)
function locator_guess_sub_classes
static int locator_guess_sub_classes (
THREAD_ENTRY * thread_p,
LC_LOCKHINT ** lockhint_subclasses
)
function locator_incr_num_transient_classnames
static void locator_incr_num_transient_classnames (
int tran_index
)
function locator_increase_catalog_count
static void locator_increase_catalog_count (
THREAD_ENTRY * thread_p,
OID * cls_oid
)
function locator_is_exist_class_name_entry
static bool locator_is_exist_class_name_entry (
THREAD_ENTRY * thread_p,
LOCATOR_CLASSNAME_ENTRY * entry
)
function locator_lob_make_dir_path
static int locator_lob_make_dir_path (
char * buf,
const HFID * hfid,
int attrid
)
function locator_lock_and_get_object_internal
static SCAN_CODE locator_lock_and_get_object_internal (
THREAD_ENTRY * thread_p,
HEAP_GET_CONTEXT * context,
LOCK lock_mode
)
function locator_lock_and_return_object
static SCAN_CODE locator_lock_and_return_object (
THREAD_ENTRY * thread_p,
LOCATOR_RETURN_NXOBJ * assign,
OID * class_oid,
OID * oid,
int chn,
LOCK lock_mode,
SCAN_OPERATION_TYPE op_type
)
function locator_make_midxkey_domain
static TP_DOMAIN * locator_make_midxkey_domain (
OR_INDEX * index
)
function locator_move_record
static int locator_move_record (
THREAD_ENTRY * thread_p,
HFID * old_hfid,
OID * old_class_oid,
OID * obj_oid,
OID * new_class_oid,
HFID * new_class_hfid,
RECDES * recdes,
HEAP_SCANCACHE * scan_cache,
int op_type,
int has_index,
int * force_count,
PRUNING_CONTEXT * context,
MVCC_REEV_DATA * mvcc_reev_data,
bool need_locking
)
function locator_mvcc_reev_cond_and_assignment
static DB_LOGICAL locator_mvcc_reev_cond_and_assignment (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * scan_cache,
MVCC_REEV_DATA * mvcc_reev_data_p,
MVCC_REC_HEADER * mvcc_header_p,
const OID * curr_row_version_oid_p,
RECDES * recdes
)
function locator_mvcc_reev_cond_assigns
static DB_LOGICAL locator_mvcc_reev_cond_assigns (
THREAD_ENTRY * thread_p,
OID * class_oid,
const OID * oid,
HEAP_SCANCACHE * scan_cache,
RECDES * recdes,
MVCC_UPDDEL_REEV_DATA * mvcc_reev_data
)
function locator_mvcc_reeval_scan_filters
static DB_LOGICAL locator_mvcc_reeval_scan_filters (
THREAD_ENTRY * thread_p,
const OID * oid,
HEAP_SCANCACHE * scan_cache,
RECDES * recdes,
UPDDEL_MVCC_COND_REEVAL * mvcc_cond_reeval,
bool is_upddel
)
function locator_mvcc_reevaluate_filters
static DB_LOGICAL locator_mvcc_reevaluate_filters (
THREAD_ENTRY * thread_p,
MVCC_SCAN_REEV_DATA * mvcc_reev_data,
const OID * oid,
RECDES * recdes
)
function locator_notify_decache
static bool locator_notify_decache (
const OID * class_oid,
const OID * oid,
void * notify_area
)
function locator_permoid_class_name
static int locator_permoid_class_name (
THREAD_ENTRY * thread_p,
const char * classname,
const OID * class_oid
)
function locator_print_class_name
static int locator_print_class_name (
THREAD_ENTRY * thread_p,
FILE * outfp,
const void * key,
void * ent,
void * args
)
function locator_repair_btree_by_delete
static DISK_ISVALID locator_repair_btree_by_delete (
THREAD_ENTRY * thread_p,
OID * class_oid,
BTID * btid,
OID * inst_oid
)
function locator_repair_btree_by_insert
static DISK_ISVALID locator_repair_btree_by_insert (
THREAD_ENTRY * thread_p,
OID * class_oid,
BTID * btid,
DB_VALUE * key,
OID * inst_oid
)
function locator_repl_add_error_to_copyarea
static void locator_repl_add_error_to_copyarea (
LC_COPYAREA ** copy_area,
RECDES * recdes,
LC_COPYAREA_ONEOBJ * obj,
DB_VALUE * key_value,
int err_code,
const char * err_msg
)
function locator_repl_get_key_value
static int locator_repl_get_key_value (
DB_VALUE * key_value,
LC_COPYAREA * force_area,
LC_COPYAREA_ONEOBJ * obj
)
function locator_repl_prepare_force
static int locator_repl_prepare_force (
THREAD_ENTRY * thread_p,
LC_COPYAREA_ONEOBJ * obj,
RECDES * old_recdes,
RECDES * recdes,
DB_VALUE * key_value,
HEAP_SCANCACHE * force_scancache
)
function locator_return_object_assign
static SCAN_CODE locator_return_object_assign (
THREAD_ENTRY * thread_p,
LOCATOR_RETURN_NXOBJ * assign,
OID * class_oid,
OID * oid,
int chn,
int guess_chn,
SCAN_CODE scan,
int tran_index
)
function locator_savepoint_class_name_entry
static int locator_savepoint_class_name_entry (
const char * classname,
LOG_LSA * savep_lsa
)
function locator_update_force
static int locator_update_force (
THREAD_ENTRY * thread_p,
HFID * hfid,
OID * class_oid,
OID * oid,
RECDES * ikdrecdes,
RECDES * recdes,
int has_index,
ATTR_ID * att_id,
int n_att_id,
int op_type,
HEAP_SCANCACHE * scan_cache,
int * force_count,
bool not_check_fk,
REPL_INFO_TYPE repl_info_type,
int pruning_type,
PRUNING_CONTEXT * pcontext,
MVCC_REEV_DATA * mvcc_reev_data,
UPDATE_INPLACE_STYLE force_in_place,
bool need_locking
)
function locator_was_index_already_applied
static bool locator_was_index_already_applied (
HEAP_CACHE_ATTRINFO * index_attrinfo,
BTID * btid,
int pos
)
function redistribute_partition_data
static int redistribute_partition_data (
THREAD_ENTRY * thread_p,
OID * class_oid,
int no_oids,
OID * oid_list
)
function xlocator_reserve_class_name
static LC_FIND_CLASSNAME xlocator_reserve_class_name (
THREAD_ENTRY * thread_p,
const char * classname,
OID * class_oid
)
Macro Definition Documentation
define CLASSNAME_CACHE_SIZE
#define CLASSNAME_CACHE_SIZE `1024`
define LOCATOR_GUESS_HT_SIZE
#define LOCATOR_GUESS_HT_SIZE `LOCATOR_GUESS_NUM_NESTED_REFERENCES * 2`
The documentation for this class was generated from the following file cubrid/src/transaction/locator_sr.c