CUBRID Engine
latest
|
#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 "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"
Go to the source code of this file.
Classes | |
struct | locator_classname_action |
struct | locator_classname_entry |
struct | locator_return_nxobj |
Macros | |
#define | LOCATOR_GUESS_HT_SIZE LOCATOR_GUESS_NUM_NESTED_REFERENCES * 2 |
#define | CLASSNAME_CACHE_SIZE 1024 |
Typedefs | |
typedef struct locator_classname_action | LOCATOR_CLASSNAME_ACTION |
typedef struct locator_classname_entry | LOCATOR_CLASSNAME_ENTRY |
typedef struct locator_return_nxobj | LOCATOR_RETURN_NXOBJ |
Enumerations | |
enum | LOCATOR_INDEX_ACTION_FLAG { FOR_INSERT_OR_DELETE, FOR_MOVE } |
Functions | |
int | catcls_insert_catalog_classes (THREAD_ENTRY *thread_p, RECDES *record) |
int | catcls_delete_catalog_classes (THREAD_ENTRY *thread_p, const char *name, OID *class_oid) |
int | catcls_update_catalog_classes (THREAD_ENTRY *thread_p, const char *name, RECDES *record, OID *class_oid_p, UPDATE_INPLACE_STYLE force_in_place) |
int | catcls_remove_entry (THREAD_ENTRY *thread_p, OID *class_oid) |
static int | locator_permoid_class_name (THREAD_ENTRY *thread_p, const char *classname, const OID *class_oid) |
static int | locator_defence_drop_class_name_entry (const void *name, void *ent, void *args) |
static int | locator_force_drop_class_name_entry (const void *name, void *ent, void *args) |
static int | locator_drop_class_name_entry (THREAD_ENTRY *thread_p, const char *classname, LOG_LSA *savep_lsa) |
static int | locator_savepoint_class_name_entry (const char *classname, LOG_LSA *savep_lsa) |
static int | locator_print_class_name (THREAD_ENTRY *thread_p, FILE *outfp, const void *key, void *ent, void *args) |
static int | locator_check_class_on_heap (const void *name, void *ent, void *args) |
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) |
static int | locator_find_lockset_missing_class_oids (THREAD_ENTRY *thread_p, LC_LOCKSET *lockset) |
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) |
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) |
static bool | locator_notify_decache (const OID *class_oid, const OID *oid, void *notify_area) |
static int | locator_guess_sub_classes (THREAD_ENTRY *thread_p, LC_LOCKHINT **lockhint_subclasses) |
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) |
static int | locator_repl_get_key_value (DB_VALUE *key_value, LC_COPYAREA *force_area, LC_COPYAREA_ONEOBJ *obj) |
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) |
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) |
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) |
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) |
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) |
static int | locator_force_for_multi_update (THREAD_ENTRY *thread_p, LC_COPYAREA *force_area) |
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) |
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) |
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) |
static int | locator_check_primary_key_delete (THREAD_ENTRY *thread_p, OR_INDEX *index, DB_VALUE *key) |
static int | locator_check_primary_key_update (THREAD_ENTRY *thread_p, OR_INDEX *index, DB_VALUE *key) |
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) |
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) |
static bool | locator_was_index_already_applied (HEAP_CACHE_ATTRINFO *index_attrinfo, BTID *btid, int pos) |
static LC_FIND_CLASSNAME | xlocator_reserve_class_name (THREAD_ENTRY *thread_p, const char *classname, OID *class_oid) |
static int | locator_filter_errid (THREAD_ENTRY *thread_p, int num_ignore_error_count, int *ignore_error_list) |
static int | locator_area_op_to_pruning_type (LC_COPYAREA_OPERATION op) |
static int | locator_prefetch_index_page (THREAD_ENTRY *thread_p, OID *class_oid, RECDES *classrec, RECDES *recdes, int btid_index, HEAP_CACHE_ATTRINFO *attr_info) |
static int | locator_prefetch_index_page_internal (THREAD_ENTRY *thread_p, BTID *btid, OID *class_oid, RECDES *classrec, RECDES *recdes) |
static void | locator_incr_num_transient_classnames (int tran_index) |
static void | locator_decr_num_transient_classnames (int tran_index) |
static int | locator_get_num_transient_classnames (int tran_index) |
static bool | locator_is_exist_class_name_entry (THREAD_ENTRY *thread_p, LOCATOR_CLASSNAME_ENTRY *entry) |
static DISK_ISVALID | locator_repair_btree_by_delete (THREAD_ENTRY *thread_p, OID *class_oid, BTID *btid, OID *inst_oid) |
static void | locator_generate_class_pseudo_oid (THREAD_ENTRY *thread_p, OID *class_oid) |
static int | redistribute_partition_data (THREAD_ENTRY *thread_p, OID *class_oid, int no_oids, OID *oid_list) |
static SCAN_CODE | locator_lock_and_get_object_internal (THREAD_ENTRY *thread_p, HEAP_GET_CONTEXT *context, LOCK lock_mode) |
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) |
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) |
static DB_LOGICAL | locator_mvcc_reevaluate_filters (THREAD_ENTRY *thread_p, MVCC_SCAN_REEV_DATA *mvcc_reev_data, const OID *oid, RECDES *recdes) |
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) |
int | locator_initialize (THREAD_ENTRY *thread_p) |
void | locator_finalize (THREAD_ENTRY *thread_p) |
LC_FIND_CLASSNAME | xlocator_reserve_class_names (THREAD_ENTRY *thread_p, const int num_classes, const char **classnames, OID *class_oids) |
int | xlocator_get_reserved_class_name_oid (THREAD_ENTRY *thread_p, const char *classname, OID *class_oid) |
LC_FIND_CLASSNAME | xlocator_delete_class_name (THREAD_ENTRY *thread_p, const char *classname) |
LC_FIND_CLASSNAME | xlocator_rename_class_name (THREAD_ENTRY *thread_p, const char *oldname, const char *newname, OID *class_oid) |
LC_FIND_CLASSNAME | xlocator_find_class_oid (THREAD_ENTRY *thread_p, const char *classname, OID *class_oid, LOCK lock) |
int | locator_drop_transient_class_name_entries (THREAD_ENTRY *thread_p, LOG_LSA *savep_lsa) |
int | locator_savepoint_transient_class_name_entries (THREAD_ENTRY *thread_p, LOG_LSA *savep_lsa) |
void | locator_dump_class_names (THREAD_ENTRY *thread_p, FILE *out_fp) |
DISK_ISVALID | locator_check_class_names (THREAD_ENTRY *thread_p) |
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_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_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_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 | xlocator_fetch_lockset (THREAD_ENTRY *thread_p, LC_LOCKSET *lockset, LC_COPYAREA **fetch_area) |
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_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 | locator_start_force_scan_cache (THREAD_ENTRY *thread_p, HEAP_SCANCACHE *scan_cache, const HFID *hfid, const OID *class_oid, int op_type) |
void | locator_end_force_scan_cache (THREAD_ENTRY *thread_p, HEAP_SCANCACHE *scan_cache) |
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) |
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 | xlocator_repl_force (THREAD_ENTRY *thread_p, LC_COPYAREA *force_area, LC_COPYAREA **reply_area) |
int | xlocator_force (THREAD_ENTRY *thread_p, LC_COPYAREA *force_area, int num_ignore_error, int *ignore_error_list) |
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) |
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) |
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 | xlocator_remove_class_from_index (THREAD_ENTRY *thread_p, OID *class_oid, BTID *btid, HFID *hfid) |
bool | xlocator_notify_isolation_incons (THREAD_ENTRY *thread_p, LC_COPYAREA **synch_area) |
static DISK_ISVALID | locator_repair_btree_by_insert (THREAD_ENTRY *thread_p, OID *class_oid, BTID *btid, DB_VALUE *key, OID *inst_oid) |
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_class (THREAD_ENTRY *thread_p, OID *class_oid, RECDES *peek, HFID *class_hfid, BTID *index_btid, 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_all_entries_of_all_btrees (THREAD_ENTRY *thread_p, bool repair) |
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_fetch_lockhint_classes (THREAD_ENTRY *thread_p, LC_LOCKHINT *lockhint, LC_COPYAREA **fetch_area) |
int | xlocator_assign_oid_batch (THREAD_ENTRY *thread_p, LC_OIDSET *oidset) |
int | xrepl_set_info (THREAD_ENTRY *thread_p, REPL_INFO *repl_info) |
LOG_LSA * | xrepl_log_get_append_lsa (void) |
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) |
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) |
int | xlocator_upgrade_instances_domain (THREAD_ENTRY *thread_p, OID *class_oid, int att_id) |
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 | xchksum_insert_repl_log_and_demote_table_lock (THREAD_ENTRY *thread_p, REPL_INFO *repl_info, const OID *class_oidp) |
int | locator_rv_redo_rename (THREAD_ENTRY *thread_p, LOG_RCV *rcv) |
int | xlocator_redistribute_partition_data (THREAD_ENTRY *thread_p, OID *class_oid, int no_oids, OID *oid_list) |
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) |
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) |
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_OPERATION_TYPE | locator_decide_operation_type (LOCK lock_mode, LC_FETCH_VERSION_TYPE fetch_version_type) |
LOCK | locator_get_lock_mode_from_op_type (SCAN_OPERATION_TYPE op_type) |
int | xlocator_demote_class_lock (THREAD_ENTRY *thread_p, const OID *class_oid, LOCK lock, LOCK *ex_lock) |
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) |
bool | has_errors_filtered_for_insert (std::vector< int > error_filter_array) |
Variables | |
bool | catcls_Enable |
static const int | LOCATOR_GUESS_NUM_NESTED_REFERENCES = 100 |
bool | locator_Dont_check_foreign_key = false |
static MHT_TABLE * | locator_Mht_classnames = NULL |
static const HFID | NULL_HFID = { {-1, -1}, -1 } |
static const INT32 | locator_Pseudo_pageid_first = -2 |
static const INT32 | locator_Pseudo_pageid_last = -0x7FFF |
static INT32 | locator_Pseudo_pageid_crt = -2 |
#define CLASSNAME_CACHE_SIZE 1024 |
Definition at line 74 of file locator_sr.c.
Referenced by locator_initialize().
#define LOCATOR_GUESS_HT_SIZE LOCATOR_GUESS_NUM_NESTED_REFERENCES * 2 |
Definition at line 72 of file locator_sr.c.
Referenced by locator_all_reference_lockset().
typedef struct locator_classname_action LOCATOR_CLASSNAME_ACTION |
Definition at line 90 of file locator_sr.c.
typedef struct locator_classname_entry LOCATOR_CLASSNAME_ENTRY |
Definition at line 99 of file locator_sr.c.
typedef struct locator_return_nxobj LOCATOR_RETURN_NXOBJ |
Definition at line 107 of file locator_sr.c.
Enumerator | |
---|---|
FOR_INSERT_OR_DELETE | |
FOR_MOVE |
Definition at line 77 of file locator_sr.c.
int catcls_delete_catalog_classes | ( | THREAD_ENTRY * | thread_p, |
const char * | name, | ||
OID * | class_oid | ||
) |
Definition at line 4168 of file catalog_class.c.
References ARG_FILE_LINE, catalog_free_class_info_and_init, catalog_get_class_info(), catcls_delete_instance(), catcls_find_oid_by_class_name(), catcls_remove_entry(), tf_ct_class::cc_classoid, cls_info::ci_hfid, CSECT_CT_OID_TABLE, csect_enter, csect_exit, ct_Class, ER_ERROR_SEVERITY, ER_FAILED, ER_LC_UNKNOWN_CLASSNAME, er_set(), error(), heap_scancache_end_modify(), heap_scancache_start_modify(), INF_WAIT, NO_ERROR, NULL, OID_ISNULL, and SINGLE_ROW_DELETE.
Referenced by locator_delete_force_internal().
int catcls_insert_catalog_classes | ( | THREAD_ENTRY * | thread_p, |
RECDES * | record | ||
) |
Definition at line 4099 of file catalog_class.c.
References catalog_free_class_info_and_init, catalog_get_class_info(), catcls_free_or_value(), catcls_get_or_value_from_class_record(), catcls_insert_instance(), tf_ct_class::cc_classoid, cls_info::ci_hfid, ct_Class, ER_FAILED, error(), heap_scancache_end_modify(), heap_scancache_start_modify(), NO_ERROR, NULL, NULL_PAGEID, NULL_SLOTID, NULL_VOLID, and SINGLE_ROW_UPDATE.
Referenced by catcls_update_catalog_classes(), locator_insert_force(), and locator_update_force().
int catcls_remove_entry | ( | THREAD_ENTRY * | thread_p, |
OID * | class_oid | ||
) |
Definition at line 385 of file catalog_class.c.
References assert, catcls_free_entry_kv(), csect_check_own, CSECT_CT_OID_TABLE, mht_rem(), NO_ERROR, and NULL.
Referenced by catcls_delete_catalog_classes(), and locator_force_drop_class_name_entry().
int catcls_update_catalog_classes | ( | THREAD_ENTRY * | thread_p, |
const char * | name, | ||
RECDES * | record, | ||
OID * | class_oid_p, | ||
UPDATE_INPLACE_STYLE | force_in_place | ||
) |
Definition at line 4253 of file catalog_class.c.
References catalog_free_class_info_and_init, catalog_get_class_info(), catcls_find_oid_by_class_name(), catcls_free_or_value(), catcls_get_or_value_from_class_record(), catcls_insert_catalog_classes(), catcls_update_instance(), tf_ct_class::cc_classoid, cls_info::ci_hfid, ct_Class, ER_FAILED, error(), heap_scancache_end_modify(), heap_scancache_start_modify(), NO_ERROR, NULL, OID_ISNULL, and SINGLE_ROW_UPDATE.
Referenced by locator_update_force().
bool has_errors_filtered_for_insert | ( | std::vector< int > | error_filter_array | ) |
Definition at line 13852 of file locator_sr.c.
References ER_BTREE_UNIQUE_FAILED.
Referenced by cubload::server_object_loader::flush_records().
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 | ||
) |
Definition at line 7545 of file locator_sr.c.
References FOR_INSERT_OR_DELETE, and locator_add_or_remove_index_internal().
Referenced by catcls_delete_instance(), catcls_insert_instance(), locator_delete_force_internal(), locator_insert_force(), and locator_update_force().
|
static |
Definition at line 7575 of file locator_sr.c.
References FOR_MOVE, and locator_add_or_remove_index_internal().
Referenced by locator_delete_force_internal().
|
static |
Definition at line 7610 of file locator_sr.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, or_index::atts, or_index::btid, or_index::btname, BTREE_CONSTRAINT_PRIMARY_KEY, BTREE_CONSTRAINT_UNIQUE, BTREE_FOREIGN_KEY, btree_insert(), btree_keyoid_checkscan_check(), btree_keyoid_checkscan_end(), btree_keyoid_checkscan_start(), btree_multicol_key_is_null(), btree_mvcc_delete(), btree_online_index_dispatcher(), BTREE_OP_ONLINE_INDEX_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_TRAN_INSERT, btree_physical_delete(), BTREE_PRIMARY_KEY, BTREE_REVERSE_UNIQUE, btree_set_mvcc_header_ids_for_update(), BTREE_UNIQUE, heap_scancache_node::classname, DB_IS_NULL, db_make_null(), DB_TYPE_MIDXKEY, DBVAL_BUFSIZE, DISK_INVALID, DISK_VALID, er_errid(), ER_FAILED, ER_INTERRUPTED, error(), or_index::filter_predicate, or_index::fk, FOR_MOVE, free_and_init, multi_index_unique_stats::get_stats_of(), heap_idx_elements_info::has_single_col, heap_attrinfo_end(), heap_attrinfo_read_dbvalues(), heap_attrinfo_start_with_index(), heap_attrvalue_get_key(), heap_get_class_name(), i, or_index::index_status, LK_GRANTED, LK_UNCOND_LOCK, locator_check_primary_key_delete(), locator_check_primary_key_update(), locator_Dont_check_foreign_key, locator_eval_filter_predicate(), locator_was_index_already_applied(), lock_object(), LOG_CHECK_LOG_APPLIER, log_does_allow_replication(), LOG_REPLICATION_DATA, LOG_REPLICATION_STATEMENT, logtb_get_current_mvccid(), heap_scancache::m_index_stats, MAX_ALIGNMENT, MULTI_ROW_DELETE, MULTI_ROW_INSERT, MULTI_ROW_UPDATE, mvcc_is_mvcc_disabled_class(), or_index::n_atts, tp_domain::next, NO_ERROR, heap_scancache::node, NULL, heap_idx_elements_info::num_btids, OID_ISNULL, OR_ONLINE_INDEX_BUILDING_IN_PROGRESS, pr_clear_value(), or_predicate::pred_stream, PTR_ALIGN, REPL_INFO_TYPE_RBR_NORMAL, RVREPL_DATA_DELETE, RVREPL_DATA_INSERT, tp_domain_cache(), tp_domain_construct(), tp_domain_copy(), tp_domain_free(), or_index::type, V_TRUE, V_UNKNOWN, and X_LOCK.
Referenced by locator_add_or_remove_index(), and locator_add_or_remove_index_for_moving().
|
static |
Definition at line 3367 of file locator_sr.c.
References ARG_FILE_LINE, lc_lockset_reqobj::chn, lc_lockset_classof::chn, CHN_UNKNOWN_ATCLIENT, lc_lockset_reqobj::class_index, lc_lock_set::classes, COPY_OID, db_create_fixed_heap(), db_destroy_fixed_heap(), db_fixed_alloc(), er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_HEAP_UNKNOWN_OBJECT, ER_INTERRUPTED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, heap_does_exist(), heap_get_referenced_by(), heap_get_visible_version(), heap_scancache_end(), heap_scancache_start(), i, locator_allocate_lockset(), locator_free_lockset(), LOCATOR_GUESS_HT_SIZE, LOCATOR_GUESS_NUM_NESTED_REFERENCES, locator_reallocate_lockset(), logtb_get_mvcc_snapshot(), mht_create(), mht_destroy(), mht_get(), mht_put(), NO_ERROR, NULL, NULL_CHN, lc_lock_set::num_classes_of_reqobjs, lc_lock_set::num_reqobjs, lc_lock_set::objects, locator_classname_action::oid, lc_lockset_reqobj::oid, lc_lockset_classof::oid, oid_compare_equals(), OID_EQ, oid_hash(), OID_IS_ROOTOID, OID_ISNULL, oid_Root_class_oid, OID_SET_NULL, db_identifier::pageid, PEEK, RECDES_INITIALIZER, S_DOESNT_EXIST, S_SUCCESS, db_identifier::slotid, and db_identifier::volid.
Referenced by xlocator_fetch_all_reference_lockset().
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 | ||
) |
Definition at line 7210 of file locator_sr.c.
References recdes::area_size, assert, cubmem::CSTYLE_BLOCK_ALLOCATOR, recdes::data, DB_ALIGN, DB_PAGESIZE, record_descriptor::get_recdes(), record_descriptor::get_size(), heap_attrinfo_transform_to_disk(), heap_attrinfo_transform_to_disk_except_lob(), lc_copy_area::length, LOB_FLAG_EXCLUDE_LOB, locator_allocate_copy_area_by_length(), locator_free_copy_area(), lc_copy_area::mem, NULL, record_descriptor::release_buffer(), S_DOESNT_FIT, S_SUCCESS, and record_descriptor::set_external_buffer().
Referenced by locator_attribute_info_force(), locator_mvcc_reev_cond_assigns(), qexec_oid_of_duplicate_key_update(), and qexec_remove_duplicates_for_replace().
|
static |
Definition at line 12317 of file locator_sr.c.
References assert, DB_NOT_PARTITIONED_CLASS, DB_PARTITION_CLASS, DB_PARTITIONED_CLASS, LC_FLUSH_DELETE, LC_FLUSH_INSERT, LC_FLUSH_INSERT_PRUNE, LC_FLUSH_INSERT_PRUNE_VERIFY, LC_FLUSH_UPDATE, LC_FLUSH_UPDATE_PRUNE, and LC_FLUSH_UPDATE_PRUNE_VERIFY.
Referenced by xlocator_force(), and xlocator_repl_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 | ||
) |
Definition at line 7311 of file locator_sr.c.
References recdes::area_size, ARG_FILE_LINE, assert, ASSERT_ERROR, COPY, COPY_OID, recdes::data, er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_HEAP_NODATA_NEWADDRESS, ER_HEAP_UNKNOWN_OBJECT, ER_LC_BADFORCE_OPERATION, er_set(), heap_attrinfo_check_unique_index(), heap_clean_get_context(), heap_get_last_version(), heap_init_get_context(), HEAP_IS_UPDATE_INPLACE, HFID_COPY, LC_FLAG_HAS_INDEX, LC_FLAG_HAS_UNIQUE_INDEX, LC_FLUSH_DELETE, LC_FLUSH_INSERT, LC_FLUSH_INSERT_PRUNE, LC_FLUSH_INSERT_PRUNE_VERIFY, LC_FLUSH_UPDATE, LC_FLUSH_UPDATE_PRUNE, LC_FLUSH_UPDATE_PRUNE_VERIFY, LC_IS_FLUSH_INSERT, LC_IS_FLUSH_UPDATE, LOB_FLAG_INCLUDE_LOB, locator_allocate_copy_area_by_attr_info(), locator_delete_force(), locator_free_copy_area(), locator_insert_force(), locator_lock_and_get_object(), locator_update_force(), lock_get_object_lock(), LOG_ERROR_IF_DELETED, heap_scancache::mvcc_snapshot, NO_ERROR, NULL, NULL_CHN, oid_Root_class_oid, db_identifier::pageid, S_DOESNT_EXIST, S_DOESNT_FIT, S_ERROR, S_SNAPSHOT_NOT_SATISFIED, S_SUCCESS, db_identifier::slotid, UPDATE_INPLACE_NONE, db_identifier::volid, and X_LOCK.
Referenced by heap_object_upgrade_domain(), locator_check_primary_key_delete(), locator_check_primary_key_update(), process_object(), qexec_execute_delete(), qexec_execute_duplicate_key_update(), qexec_execute_increment(), qexec_execute_insert(), qexec_execute_update(), and qexec_remove_duplicates_for_replace().
DISK_ISVALID locator_check_all_entries_of_all_btrees | ( | THREAD_ENTRY * | thread_p, |
bool | repair | ||
) |
Definition at line 10501 of file locator_sr.c.
References boot_find_root_heap(), COPY, recdes::data, DISK_ERROR, DISK_VALID, heap_get_class_record(), heap_next(), heap_scancache_end(), heap_scancache_start(), HFID_IS_NULL, IS_LOCK, LK_COND_LOCK, LK_GRANTED, LK_UNCOND_LOCK, locator_check_class(), lock_object(), lock_unlock_object(), logtb_get_mvcc_snapshot(), NO_ERROR, NULL, NULL_PAGEID, NULL_SLOTID, locator_classname_action::oid, oid_Root_class_oid, or_class_hfid(), heap_scancache::page_watcher, db_identifier::pageid, pgbuf_ordered_unfix, pgbuf_watcher::pgptr, RECDES_INITIALIZER, S_END, S_SUCCESS, db_identifier::slotid, hfid::vfid, vfid::volid, and db_identifier::volid.
Referenced by xboot_check_db_consistency().
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 | ||
) |
Definition at line 9276 of file locator_sr.c.
References ARG_FILE_LINE, assert, or_index::btid, BTID_IS_EQUAL, BTREE_END_OF_SCAN, BTREE_INIT_SCAN, btree_keyoid_checkscan_check(), btree_keyoid_checkscan_end(), btree_keyoid_checkscan_start(), btree_multicol_key_is_null(), btree_prepare_bts(), btree_range_scan(), btree_range_scan_select_visible_oids(), btree_iscan_oid_list::capacity, indx_scan_id::check_not_vacuumed, COPY, indx_scan_id::copy_buf, indx_scan_id::copy_buf_len, db_make_null(), db_private_alloc, db_private_free, db_private_free_and_init, db_value_is_null(), DBVAL_BUFSIZE, DISK_ERROR, DISK_INVALID, DISK_VALID, er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_FATAL_ERROR_SEVERITY, ER_INDEX_FOUND_NOT_VACUUMED, ER_INTERRUPTED, ER_LC_INCONSISTENT_BTREE_ENTRY_TYPE1, ER_LC_INCONSISTENT_BTREE_ENTRY_TYPE2, ER_LC_INCONSISTENT_BTREE_ENTRY_TYPE3, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), vfid::fileid, or_index::filter_predicate, free_and_init, heap_attrinfo_end(), heap_attrinfo_read_dbvalues(), heap_attrinfo_start(), heap_attrvalue_get_key(), heap_does_exist(), heap_get_class_name(), heap_next(), heap_scancache_end(), heap_scancache_start(), i, or_classrep::indexes, indx_scan_id::indx_cov, indx_scan_id::indx_info, INF_INF, ISCAN_OID_BUFFER_CAPACITY, ISCAN_OID_BUFFER_SIZE, key_val_range::key1, key_val_range::key2, locator_eval_filter_predicate(), locator_repair_btree_by_delete(), locator_repair_btree_by_insert(), LOG_FIND_THREAD_TRAN_INDEX, logtb_get_mvcc_snapshot(), MAX_ALIGNMENT, btree_iscan_oid_list::max_oid_cnt, indx_scan_id::multi_range_opt, or_classrep::n_indexes, btree_scan::n_oids_read_last_iteration, btree_iscan_oid_list::next_list, NO_ERROR, indx_scan_id::not_vacuumed_res, NULL, NULL_PAGEID, NULL_SLOTID, key_val_range::num_index_term, btree_iscan_oid_list::oid_cnt, OID_ISNULL, indx_scan_id::oid_list, btree_iscan_oid_list::oidp, OR_OID_SIZE, db_identifier::pageid, pr_clear_value(), pr_valstring(), PTR_ALIGN, key_val_range::range, RECDES_INITIALIZER, btid::root_pageid, S_END, S_SUCCESS, indx_scan_id::scan_cache, scan_init_index_scan(), scan_init_iss(), db_identifier::slotid, V_TRUE, hfid::vfid, btid::vfid, vfid::volid, and db_identifier::volid.
Referenced by locator_check_class().
DISK_ISVALID locator_check_by_class_oid | ( | THREAD_ENTRY * | thread_p, |
OID * | cls_oid, | ||
HFID * | hfid, | ||
BTID * | index_btid, | ||
bool | repair | ||
) |
Definition at line 10421 of file locator_sr.c.
References boot_find_root_heap(), COPY, recdes::data, DISK_ERROR, heap_get_class_record(), heap_scancache_end(), heap_scancache_start(), HFID_IS_NULL, IS_LOCK, LK_COND_LOCK, LK_GRANTED, LK_UNCOND_LOCK, locator_check_class(), lock_object(), lock_unlock_object(), logtb_get_mvcc_snapshot(), NO_ERROR, NULL, oid_Root_class_oid, heap_scancache::page_watcher, pgbuf_ordered_unfix, pgbuf_watcher::pgptr, RECDES_INITIALIZER, rv, and S_SUCCESS.
Referenced by xboot_checkdb_table().
DISK_ISVALID locator_check_class | ( | THREAD_ENTRY * | thread_p, |
OID * | class_oid, | ||
RECDES * | peek, | ||
HFID * | class_hfid, | ||
BTID * | index_btid, | ||
bool | repair | ||
) |
Definition at line 10297 of file locator_sr.c.
References ARG_FILE_LINE, BTID_IS_EQUAL, DISK_ERROR, DISK_VALID, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), free_and_init, heap_attrinfo_end(), heap_attrinfo_start_with_index(), heap_get_indexinfo_of_btid(), heap_indexinfo_get_attrids(), heap_indexinfo_get_attrs_prefix_length(), heap_indexinfo_get_btid(), heap_indexinfo_get_num_attrs(), i, locator_check_btree_entries(), locator_check_unique_btree_entries(), NO_ERROR, NULL, heap_idx_elements_info::num_btids, rv, and xbtree_get_unique_pk().
Referenced by locator_check_all_entries_of_all_btrees(), and locator_check_by_class_oid().
DISK_ISVALID locator_check_class_names | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 1923 of file locator_sr.c.
References ARG_FILE_LINE, assert, boot_find_root_heap(), csect_enter, csect_exit, CSECT_LOCATOR_SR_CLASSNAME_TABLE, DISK_ERROR, DISK_INVALID, DISK_VALID, locator_classname_entry::e_current, ER_ERROR_SEVERITY, ER_FATAL_ERROR_SEVERITY, ER_LC_INCONSISTENT_CLASSNAME_TYPE2, ER_LC_INCONSISTENT_CLASSNAME_TYPE3, er_set(), error(), heap_next(), heap_scancache_end(), heap_scancache_start(), HFID_IS_NULL, INF_WAIT, locator_check_class_on_heap(), logtb_get_mvcc_snapshot(), mht_get(), mht_map(), NO_ERROR, NULL, NULL_PAGEID, NULL_SLOTID, locator_classname_action::oid, OID_EQ, oid_Root_class_oid, or_class_name(), db_identifier::pageid, PEEK, RECDES_INITIALIZER, S_SUCCESS, db_identifier::slotid, strlen, hfid::vfid, vfid::volid, and db_identifier::volid.
Referenced by xboot_check_db_consistency().
|
static |
Definition at line 1854 of file locator_sr.c.
References locator_classname_action::action, ARG_FILE_LINE, assert, csect_check_own, CSECT_LOCATOR_SR_CLASSNAME_TABLE, DISK_ERROR, DISK_INVALID, locator_classname_entry::e_current, er_errid(), ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_HEAP_UNKNOWN_OBJECT, ER_LC_INCONSISTENT_CLASSNAME_TYPE1, ER_LC_INCONSISTENT_CLASSNAME_TYPE4, er_set(), error(), free_and_init, heap_get_class_name_alloc_if_diff(), LC_CLASSNAME_EXIST, NO_ERROR, NULL, locator_classname_action::oid, db_identifier::pageid, db_identifier::slotid, thread_get_thread_entry_info(), and db_identifier::volid.
Referenced by locator_check_class_names().
|
static |
Definition at line 4018 of file locator_sr.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR_AND_SET, BTID_COPY, BTREE_ERROR_OCCURRED, BTREE_FOREIGN_KEY, BTREE_KEY_FOUND, BTREE_KEY_NOTFOUND, btree_multicol_key_has_null(), COPY_OID, DB_IS_NULL, db_make_null(), DB_PARTITIONED_CLASS, db_private_free, DBVAL_BUFSIZE, ER_ERROR_SEVERITY, ER_FAILED, ER_FK_INVALID, er_set(), error(), or_index::fk, or_foreign_key::fkname, or_classrep::has_partition_info, heap_idx_elements_info::has_single_col, heap_attrinfo_end(), heap_attrinfo_read_dbvalues(), heap_attrinfo_start_with_index(), heap_attrvalue_get_key(), heap_classrepr_free_and_init, heap_classrepr_get(), i, LOG_CHECK_LOG_APPLIER, MAX_ALIGNMENT, or_index::n_atts, NO_ERROR, NULL, NULL_REPRID, heap_idx_elements_info::num_btids, partition_clear_pruning_context(), partition_init_pruning_context(), partition_load_pruning_context(), partition_prune_unique_btid(), pruning_context::partitions, pr_clear_value(), pr_valstring(), PTR_ALIGN, or_foreign_key::ref_class_oid, or_foreign_key::ref_class_pk_btid, S_SELECT_WITH_LOCK, or_index::type, and xbtree_find_unique().
Referenced by locator_insert_force(), and locator_update_force().
|
static |
Definition at line 4190 of file locator_sr.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, BTREE_END_OF_SCAN, btree_find_foreign_key(), BTREE_INIT_SCAN, btree_prepare_bts(), btree_range_scan(), btree_range_scan_select_visible_oids(), btree_scan_clear_key(), btree_iscan_oid_list::capacity, COPY, recdes::data, db_make_null(), DB_NOT_PARTITIONED_CLASS, db_private_alloc, db_private_free_and_init, DB_TYPE_BLOB, DB_TYPE_CLOB, or_foreign_key::del_action, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_FK_CANT_DELETE_INSTANCE, ER_FK_RESTRICT, ER_HEAP_UNKNOWN_OBJECT, er_log_debug, ER_MVCC_NOT_SATISFIED_REEVALUATION, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), or_index::fk, or_foreign_key::fkname, GE_LE, heap_attrinfo_clear_dbvalues(), heap_attrinfo_end(), heap_attrinfo_set(), heap_attrinfo_start(), heap_get_class_info(), heap_get_indexinfo_of_btid(), heap_scancache_end(), heap_scancache_end_modify(), heap_scancache_start(), heap_scancache_start_modify(), i, ISCAN_OID_BUFFER_CAPACITY, key_val_range::key1, key_val_range::key2, LC_FLUSH_UPDATE, locator_attribute_info_force(), locator_delete_force(), locator_delete_lob_force(), locator_lock_and_get_object(), lock_unlock_object_donot_move_to_non2pl(), LOG_CHECK_LOG_APPLIER, LOG_ERROR_IF_DELETED, logtb_get_mvcc_snapshot(), btree_iscan_oid_list::max_oid_cnt, or_index::n_atts, btree_scan::n_oids_read_last_iteration, or_foreign_key::next, btree_iscan_oid_list::next_list, NO_ERROR, NULL, NULL_CHN, key_val_range::num_index_term, btree_iscan_oid_list::oid_cnt, OID_ISNULL, btree_iscan_oid_list::oidp, OR_OID_SIZE, db_identifier::pageid, pr_clear_value(), pr_clone_value(), key_val_range::range, REPL_INFO_TYPE_RBR_NORMAL, S_DOESNT_EXIST, S_LOCK, S_SUCCESS, indx_scan_id::scan_cache, scan_init_index_scan(), or_foreign_key::self_btid, or_foreign_key::self_oid, SINGLE_ROW_DELETE, SINGLE_ROW_UPDATE, db_identifier::slotid, SM_FOREIGN_KEY_CASCADE, SM_FOREIGN_KEY_NO_ACTION, SM_FOREIGN_KEY_RESTRICT, SM_FOREIGN_KEY_SET_NULL, UPDATE_INPLACE_NONE, db_identifier::volid, and X_LOCK.
Referenced by locator_add_or_remove_index_internal().
|
static |
Definition at line 4536 of file locator_sr.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, BTREE_END_OF_SCAN, btree_find_foreign_key(), BTREE_INIT_SCAN, btree_prepare_bts(), btree_range_scan(), btree_range_scan_select_visible_oids(), btree_scan_clear_key(), btree_iscan_oid_list::capacity, COPY, recdes::data, db_make_null(), DB_NOT_PARTITIONED_CLASS, db_private_alloc, db_private_free_and_init, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_FK_RESTRICT, ER_HEAP_UNKNOWN_OBJECT, er_log_debug, ER_MVCC_NOT_SATISFIED_REEVALUATION, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), or_index::fk, or_foreign_key::fkname, GE_LE, heap_attrinfo_clear_dbvalues(), heap_attrinfo_end(), heap_attrinfo_set(), heap_attrinfo_start(), heap_get_class_info(), heap_get_indexinfo_of_btid(), heap_scancache_end(), heap_scancache_end_modify(), heap_scancache_start(), heap_scancache_start_modify(), i, ISCAN_OID_BUFFER_CAPACITY, key_val_range::key1, key_val_range::key2, LC_FLUSH_UPDATE, locator_attribute_info_force(), locator_lock_and_get_object(), lock_unlock_object_donot_move_to_non2pl(), LOG_CHECK_LOG_APPLIER, LOG_ERROR_IF_DELETED, logtb_get_mvcc_snapshot(), btree_iscan_oid_list::max_oid_cnt, or_index::n_atts, btree_scan::n_oids_read_last_iteration, or_foreign_key::next, btree_iscan_oid_list::next_list, NO_ERROR, NULL, NULL_CHN, key_val_range::num_index_term, btree_iscan_oid_list::oid_cnt, OID_ISNULL, btree_iscan_oid_list::oidp, OR_OID_SIZE, db_identifier::pageid, pr_clear_value(), pr_clone_value(), key_val_range::range, REPL_INFO_TYPE_RBR_NORMAL, S_DOESNT_EXIST, S_LOCK, S_SUCCESS, indx_scan_id::scan_cache, scan_init_index_scan(), or_foreign_key::self_btid, or_foreign_key::self_oid, SINGLE_ROW_UPDATE, db_identifier::slotid, SM_FOREIGN_KEY_CASCADE, SM_FOREIGN_KEY_NO_ACTION, SM_FOREIGN_KEY_RESTRICT, SM_FOREIGN_KEY_SET_NULL, or_foreign_key::upd_action, UPDATE_INPLACE_NONE, db_identifier::volid, and X_LOCK.
Referenced by locator_add_or_remove_index_internal(), and locator_update_index().
|
static |
Definition at line 9701 of file locator_sr.c.
References ARG_FILE_LINE, assert, BTREE_END_OF_SCAN, BTREE_INIT_SCAN, btree_keyoid_checkscan_check(), btree_keyoid_checkscan_end(), btree_keyoid_checkscan_start(), btree_multicol_key_is_null(), btree_prepare_bts(), btree_range_scan(), btree_range_scan_select_visible_oids(), btree_iscan_oid_list::capacity, indx_scan_id::check_not_vacuumed, indx_scan_id::copy_buf, indx_scan_id::copy_buf_len, COPY_OID, db_make_null(), db_private_alloc, db_private_free, db_private_free_and_init, db_value_is_null(), DBVAL_BUFSIZE, DISK_ERROR, DISK_INVALID, DISK_VALID, er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_FATAL_ERROR_SEVERITY, ER_INDEX_FOUND_NOT_VACUUMED, ER_INTERRUPTED, ER_LC_INCONSISTENT_BTREE_ENTRY_TYPE1, ER_LC_INCONSISTENT_BTREE_ENTRY_TYPE2, ER_LC_INCONSISTENT_BTREE_ENTRY_TYPE4, ER_LC_INCONSISTENT_BTREE_ENTRY_TYPE5, ER_LC_INCONSISTENT_BTREE_ENTRY_TYPE6, ER_LC_INCONSISTENT_BTREE_ENTRY_TYPE7, ER_LC_INCONSISTENT_BTREE_ENTRY_TYPE8, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), vfid::fileid, or_index::filter_predicate, free_and_init, heap_attrinfo_end(), heap_attrinfo_read_dbvalues(), heap_attrinfo_start_with_btid(), heap_attrvalue_get_key(), heap_does_exist(), heap_get_class_name(), heap_get_class_oid(), heap_next(), heap_scancache_end(), heap_scancache_start(), i, INF_INF, ISCAN_OID_BUFFER_CAPACITY, ISCAN_OID_BUFFER_SIZE, key_val_range::key1, key_val_range::key2, locator_eval_filter_predicate(), locator_repair_btree_by_delete(), locator_repair_btree_by_insert(), LOG_FIND_THREAD_TRAN_INDEX, logtb_get_global_unique_stats(), logtb_get_mvcc_snapshot(), MAX_ALIGNMENT, btree_iscan_oid_list::max_oid_cnt, btree_scan::n_oids_read_last_iteration, btree_iscan_oid_list::next_list, NO_ERROR, indx_scan_id::not_vacuumed_res, NULL, NULL_PAGEID, NULL_SLOTID, key_val_range::num_index_term, btree_iscan_oid_list::oid_cnt, OID_EQ, OID_ISNULL, indx_scan_id::oid_list, btree_iscan_oid_list::oidp, or_class_hfid(), or_get_unique_hierarchy(), OR_OID_SIZE, db_identifier::pageid, PEEK, pr_clear_value(), pr_valstring(), PTR_ALIGN, key_val_range::range, RECDES_INITIALIZER, btid::root_pageid, S_END, S_SUCCESS, indx_scan_id::scan_cache, scan_init_index_scan(), db_identifier::slotid, V_TRUE, btid::vfid, vfid::volid, and db_identifier::volid.
Referenced by locator_check_class().
SCAN_OPERATION_TYPE locator_decide_operation_type | ( | LOCK | lock_mode, |
LC_FETCH_VERSION_TYPE | fetch_version_type | ||
) |
Definition at line 13649 of file locator_sr.c.
References assert, LC_FETCH_CURRENT_VERSION, LC_FETCH_MVCC_VERSION, NULL_LOCK, S_DELETE, S_LOCK, S_SELECT, and S_SELECT_WITH_LOCK.
Referenced by xlocator_does_exist(), and xlocator_fetch().
|
static |
Definition at line 12474 of file locator_sr.c.
References assert, LOG_FIND_TDES(), NULL, and log_tdes::num_transient_classnames.
Referenced by locator_drop_class_name_entry(), and xlocator_reserve_class_name().
|
static |
Definition at line 1501 of file locator_sr.c.
References assert, COPY_OID, csect_check_own, CSECT_CT_OID_TABLE, CSECT_LOCATOR_SR_CLASSNAME_TABLE, disk_is_page_sector_reserved_with_debug_crash(), DISK_VALID, locator_classname_entry::e_current, locator_classname_entry::e_name, locator_classname_entry::e_tran_index, heap_does_exist(), locator_drop_class_name_entry(), locator_is_exist_class_name_entry(), LOG_FIND_THREAD_TRAN_INDEX, NO_ERROR, NULL_TRAN_INDEX, locator_classname_action::oid, oid_Root_class_oid, db_identifier::pageid, locator_classname_action::savep_lsa, db_identifier::slotid, thread_get_thread_entry_info(), and db_identifier::volid.
Referenced by locator_drop_transient_class_name_entries().
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 | ||
) |
Definition at line 5993 of file locator_sr.c.
References FOR_INSERT_OR_DELETE, locator_delete_force_internal(), and NULL.
Referenced by locator_attribute_info_force(), locator_check_primary_key_delete(), xlocator_force(), and xlocator_repl_force().
|
static |
Definition at line 6021 of file locator_sr.c.
References FOR_MOVE, and locator_delete_force_internal().
Referenced by locator_move_record().
|
static |
Definition at line 6049 of file locator_sr.c.
References ARG_FILE_LINE, assert, catalog_delete(), catcls_delete_catalog_classes(), catcls_Enable, COPY, recdes::data, er_clear(), er_errid(), ER_FAILED, ER_HEAP_NODATA_NEWADDRESS, ER_HEAP_UNKNOWN_OBJECT, er_log_debug, ER_MVCC_NOT_SATISFIED_REEVALUATION, error(), cubquery::mvcc_reev_data::filter_result, FOR_INSERT_OR_DELETE, fpcache_remove_by_class(), heap_create_delete_context(), heap_delete_logical(), locator_add_or_remove_index(), locator_add_or_remove_index_for_moving(), locator_lock_and_get_object_with_evaluation(), LOG_FIND_THREAD_TRAN_INDEX, LOG_WARNING_IF_DELETED, mvcc_is_mvcc_disabled_class(), NO_ERROR, NULL, NULL_CHN, NULL_PAGEID, NULL_SLOTID, NULL_VOLID, OID_IS_ROOTOID, OID_SET_NULL, or_class_name(), db_identifier::pageid, qexec_clear_list_cache_by_class(), QFILE_IS_LIST_CACHE_DISABLED, qmgr_add_modified_class(), S_DOESNT_EXIST, S_SUCCESS, db_identifier::slotid, strlen, V_FALSE, db_identifier::volid, xcache_remove_by_oid(), and xlocator_delete_class_name().
Referenced by locator_delete_force(), and locator_delete_force_for_moving().
int locator_delete_lob_force | ( | THREAD_ENTRY * | thread_p, |
OID * | class_oid, | ||
OID * | oid, | ||
RECDES * | recdes | ||
) |
Definition at line 6311 of file locator_sr.c.
References assert, COPY, DB_TYPE_BLOB, DB_TYPE_CLOB, error(), heap_attrinfo_delete_lob(), heap_attrinfo_end(), heap_attrinfo_start(), heap_get_visible_version(), heap_scancache_end(), heap_scancache_quick_start(), i, NO_ERROR, NULL, NULL_CHN, RECDES_INITIALIZER, and S_SUCCESS.
Referenced by locator_check_primary_key_delete(), and qexec_remove_duplicates_for_replace().
|
static |
Definition at line 1345 of file locator_sr.c.
References locator_classname_action::action, assert, COPY_OID, csect_check_own, CSECT_CT_OID_TABLE, CSECT_LOCATOR_SR_CLASSNAME_TABLE, disk_is_page_sector_reserved_with_debug_crash(), DISK_VALID, locator_classname_entry::e_current, locator_classname_entry::e_name, locator_classname_entry::e_tran_index, free_and_init, LC_CLASSNAME_DELETED, LC_CLASSNAME_DELETED_RENAME, LC_CLASSNAME_EXIST, LC_CLASSNAME_RESERVED, LC_CLASSNAME_RESERVED_RENAME, locator_decr_num_transient_classnames(), locator_force_drop_class_name_entry(), locator_is_exist_class_name_entry(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LSA_ISNULL(), LSA_LT(), LSA_SET_NULL(), mht_get(), NO_ERROR, NULL, NULL_TRAN_INDEX, locator_classname_action::oid, OID_ISNULL, db_identifier::pageid, locator_classname_action::prev, locator_classname_action::savep_lsa, db_identifier::slotid, log_tdes::state, TRAN_UNACTIVE_ABORTED, and db_identifier::volid.
Referenced by locator_defence_drop_class_name_entry(), locator_drop_transient_class_name_entries(), and xlocator_rename_class_name().
int locator_drop_transient_class_name_entries | ( | THREAD_ENTRY * | thread_p, |
LOG_LSA * | savep_lsa | ||
) |
Definition at line 1258 of file locator_sr.c.
References assert, CSECT_CT_OID_TABLE, csect_enter, csect_exit, CSECT_LOCATOR_SR_CLASSNAME_TABLE, ER_FAILED, INF_WAIT, locator_defence_drop_class_name_entry(), locator_drop_class_name_entry(), locator_get_num_transient_classnames(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, log_tdes::m_modified_classes, tx_transient_class_registry::map(), mht_map(), NO_ERROR, NULL, NULL_TRAN_INDEX, and locator_classname_action::savep_lsa.
Referenced by log_cleanup_modified_class(), log_cleanup_modified_class_list(), xtran_server_2pc_prepare(), xtran_server_2pc_prepare_global_tran(), and xtran_server_end_topop().
void locator_dump_class_names | ( | THREAD_ENTRY * | thread_p, |
FILE * | out_fp | ||
) |
Definition at line 1786 of file locator_sr.c.
References assert, csect_enter_as_reader, csect_exit, CSECT_LOCATOR_SR_CLASSNAME_TABLE, INF_WAIT, locator_print_class_name(), mht_dump(), and NO_ERROR.
Referenced by diagdb().
void locator_end_force_scan_cache | ( | THREAD_ENTRY * | thread_p, |
HEAP_SCANCACHE * | scan_cache | ||
) |
Definition at line 3999 of file locator_sr.c.
References heap_scancache_end_modify().
Referenced by locator_force_for_multi_update(), qexec_clear_internal_classes(), qexec_execute_increment(), qexec_execute_insert(), qexec_upddel_setup_current_class(), xlocator_force(), and xlocator_repl_force().
|
static |
Definition at line 8056 of file locator_sr.c.
References assert, ASSERT_ERROR, pred_expr_with_context::attrids_pred, pred_expr_with_context::cache_pred, db_change_private_heap(), DB_TYPE_NULL, ER_FAILED, eval_fnc(), fpcache_claim(), fpcache_retire(), heap_attrinfo_end(), heap_attrinfo_read_dbvalues(), heap_attrinfo_start(), i, NO_ERROR, NULL, pred_expr_with_context::num_attrs_pred, pred_expr_with_context::pred, or_predicate::pred_stream, qexec_clear_pred_context(), and V_ERROR.
Referenced by locator_add_or_remove_index_internal(), locator_check_btree_entries(), locator_check_unique_btree_entries(), locator_update_index(), and xlocator_remove_class_from_index().
|
static |
Definition at line 12229 of file locator_sr.c.
References assert, er_clear(), er_errid(), i, and NO_ERROR.
Referenced by xlocator_force().
void locator_finalize | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 364 of file locator_sr.c.
References assert, CSECT_CT_OID_TABLE, csect_enter, csect_exit, CSECT_LOCATOR_SR_CLASSNAME_TABLE, INF_WAIT, locator_force_drop_class_name_entry(), mht_destroy(), mht_map(), NO_ERROR, and NULL.
Referenced by boot_server_all_finalize().
|
static |
Definition at line 2079 of file locator_sr.c.
References ARG_FILE_LINE, lc_lockset_classof::chn, CHN_UNKNOWN_ATCLIENT, lc_lockset_reqobj::class_index, lc_lock_set::classes, COPY_OID, ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_log_debug, er_set(), error(), heap_get_class_oid(), i, lc_lock_set::length, lc_lock_set::mem, NO_ERROR, lc_lock_set::num_classes_of_reqobjs, lc_lock_set::num_reqobjs, lc_lock_set::objects, locator_classname_action::oid, lc_lockset_classof::oid, OID_EQ, OID_ISNULL, OID_SET_NULL, lc_lock_set::quit_on_errors, and S_SUCCESS.
Referenced by xlocator_fetch_lockset().
|
static |
Definition at line 1560 of file locator_sr.c.
References assert, catcls_remove_entry(), COPY_OID, csect_check_own, CSECT_CT_OID_TABLE, CSECT_LOCATOR_SR_CLASSNAME_TABLE, locator_classname_entry::e_current, locator_classname_entry::e_name, free_and_init, mht_rem(), NO_ERROR, NULL, locator_classname_action::oid, locator_classname_action::prev, and thread_get_thread_entry_info().
Referenced by locator_drop_class_name_entry(), locator_finalize(), and locator_initialize().
|
static |
Definition at line 6397 of file locator_sr.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, BTREE_SET_UNIQUE_VIOLATION_ERROR, lc_copyarea_oneobj::class_oid, multi_index_unique_stats::clear(), DB_NOT_PARTITIONED_CLASS, multi_index_unique_stats::empty(), END_MULTI_UPDATE, ER_BTREE_UNIQUE_FAILED, er_errid(), ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_LOG_UNKNOWN_TRANINDEX, er_set(), error(), multi_index_unique_stats::get_map(), lc_copyarea_oneobj::hfid, i, LC_IS_FLUSH_UPDATE, LC_MANYOBJS_PTR_IN_COPYAREA, LC_NEXT_ONEOBJ_PTR_IN_COPYAREA, LC_ONEOBJ_GET_INDEX_FLAG, LC_PRIOR_ONEOBJ_PTR_IN_COPYAREA, LC_RECDES_IN_COPYAREA, LC_RECDES_TO_GET_ONEOBJ, LC_START_ONEOBJ_PTR_IN_COPYAREA, locator_end_force_scan_cache(), locator_manyobj_flag_is_set(), locator_start_force_scan_cache(), locator_update_force(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, logtb_get_mvcc_snapshot(), logtb_tran_update_unique_stats(), heap_scancache::m_index_stats, log_tdes::m_multiupd_stats, MULTI_ROW_UPDATE, heap_scancache::mvcc_snapshot, NO_ERROR, NULL, lc_copyarea_manyobjs::num_objs, lc_copyarea_manyobjs::objs, lc_copyarea_oneobj::oid, OID_EQ, oid_Root_class_oid, lc_copyarea_oneobj::operation, REPL_INFO_TYPE_RBR_END, REPL_INFO_TYPE_RBR_NORMAL, REPL_INFO_TYPE_RBR_START, START_MULTI_UPDATE, and UPDATE_INPLACE_NONE.
Referenced by xlocator_force().
|
static |
Definition at line 1816 of file locator_sr.c.
References assert, csect_check_own, CSECT_LOCATOR_SR_CLASSNAME_TABLE, locator_Pseudo_pageid_crt, locator_Pseudo_pageid_first, locator_Pseudo_pageid_last, db_identifier::pageid, db_identifier::slotid, and db_identifier::volid.
Referenced by xlocator_reserve_class_name().
LOCK locator_get_lock_mode_from_op_type | ( | SCAN_OPERATION_TYPE | op_type | ) |
Definition at line 13688 of file locator_sr.c.
References assert, NA_LOCK, S_DELETE, S_LOCK, S_SELECT, S_SELECT_WITH_LOCK, S_UPDATE, and X_LOCK.
Referenced by qexec_execute_obj_fetch().
|
static |
Definition at line 12497 of file locator_sr.c.
References assert, LOG_FIND_TDES(), NULL, and log_tdes::num_transient_classnames.
Referenced by locator_drop_transient_class_name_entries(), and locator_savepoint_transient_class_name_entries().
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 | ||
) |
Definition at line 13175 of file locator_sr.c.
References assert, ASSERT_ERROR, COPY, DB_PAGESIZE, ER_HEAP_UNKNOWN_OBJECT, err, heap_clean_get_context(), heap_get_class_oid_from_page(), heap_get_visible_version_internal(), heap_init_get_context(), heap_prepare_object_page(), heap_scan_cache_allocate_area(), heap_get_context::home_page_watcher, heap_get_context::latch_mode, locator_lock_and_get_object_internal(), mvcc_is_mvcc_disabled_class(), NO_ERROR, NULL, NULL_LOCK, OID_INITIALIZER, OID_IS_ROOTOID, OID_ISNULL, pgbuf_watcher::pgptr, S_DELETE, S_DOESNT_EXIST, S_ERROR, S_LOCK, S_SELECT, S_SELECT_WITH_LOCK, S_UPDATE, and X_LOCK.
Referenced by locator_lock_and_return_object(), qexec_execute_obj_fetch(), and xlocator_does_exist().
PRUNING_SCAN_CACHE* locator_get_partition_scancache | ( | PRUNING_CONTEXT * | pcontext, |
const OID * | class_oid, | ||
const HFID * | hfid, | ||
int | op_type, | ||
bool | has_function_indexes | ||
) |
Definition at line 12259 of file locator_sr.c.
References pruning_scan_cache::func_index_pred, heap_attrinfo_end(), heap_attrinfo_start(), heap_init_func_pred_unpack_info(), pruning_scan_cache::is_scan_cache_started, locator_start_force_scan_cache(), pruning_scan_cache::n_indexes, NO_ERROR, NULL, partition_get_scancache(), partition_new_scancache(), pruning_scan_cache::scan_cache, and pruning_context::thread_p.
Referenced by locator_insert_force(), locator_move_record(), locator_update_force(), qexec_oid_of_duplicate_key_update(), qexec_remove_duplicates_for_replace(), and qexec_upddel_setup_current_class().
|
static |
Definition at line 10631 of file locator_sr.c.
References ARG_FILE_LINE, assert, lc_lockhint_class::chn, CHN_UNKNOWN_ATCLIENT, lc_lock_hint::classes, COPY_OID, er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_HEAP_UNKNOWN_OBJECT, ER_INTERRUPTED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, heap_does_exist(), heap_get_class_record(), heap_scancache_end(), heap_scancache_start(), i, locator_reallocate_lockhint(), lc_lockhint_class::lock, lock_Conv, lockhint_subclasses(), lc_lock_hint::max_classes, NA_LOCK, lc_lockhint_class::need_subclasses, NO_ERROR, NULL, NULL_LOCK, lc_lock_hint::num_classes, lc_lockhint_class::oid, OID_EQ, OID_ISNULL, OID_ISTEMP, OID_SET_NULL, orc_subclasses_from_record(), db_identifier::pageid, PEEK, lc_lock_hint::quit_on_errors, S_DOESNT_EXIST, S_SUCCESS, db_identifier::slotid, and db_identifier::volid.
Referenced by xlocator_find_lockhint_class_oids().
|
static |
Definition at line 12451 of file locator_sr.c.
References assert, LOG_FIND_TDES(), NULL, and log_tdes::num_transient_classnames.
Referenced by xlocator_delete_class_name(), and xlocator_reserve_class_name().
int locator_initialize | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 246 of file locator_sr.c.
References locator_classname_action::action, ARG_FILE_LINE, assert, boot_find_root_heap(), CLASSNAME_CACHE_SIZE, COPY_OID, CSECT_CT_OID_TABLE, csect_enter, csect_exit, CSECT_LOCATOR_SR_CLASSNAME_TABLE, DISK_ERROR, locator_classname_entry::e_current, locator_classname_entry::e_name, locator_classname_entry::e_tran_index, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, heap_next(), heap_scancache_end(), heap_scancache_start(), HFID_IS_NULL, INF_WAIT, LC_CLASSNAME_EXIST, locator_force_drop_class_name_entry(), locator_is_exist_class_name_entry(), LSA_SET_NULL(), mht_1strhash(), mht_compare_strings_are_equal(), mht_create(), mht_map(), mht_put(), NO_ERROR, NULL, NULL_TRAN_INDEX, locator_classname_action::oid, OID_ISNULL, OID_SET_NULL, or_class_name(), PEEK, locator_classname_action::prev, RECDES_INITIALIZER, S_SUCCESS, locator_classname_action::savep_lsa, strdup(), and strlen.
Referenced by boot_create_all_volumes(), boot_restart_server(), log_recovery(), and xboot_emergency_patch().
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 | ||
) |
Definition at line 4854 of file locator_sr.c.
References ARG_FILE_LINE, assert, assert_release, catalog_insert(), catcls_Enable, catcls_insert_catalog_classes(), COPY_OID, recdes::data, DB_NOT_PARTITIONED_CLASS, er_errid(), ER_FAILED, er_log_debug, pruning_scan_cache::func_index_pred, heap_create_insert_context(), heap_create_update_context(), heap_get_class_repr_id(), heap_insert_logical(), heap_update_logical(), HFID_COPY, heap_operation_context::is_bulk_op, heap_operation_context::is_logical_old, IX_LOCK, LK_GRANTED, LK_UNCOND_LOCK, locator_add_or_remove_index(), locator_check_foreign_key(), locator_Dont_check_foreign_key, locator_free_copy_area(), locator_get_partition_scancache(), locator_permoid_class_name(), lock_subclass(), NO_ERROR, NULL, NULL_PAGEID, NULL_SLOTID, NULL_VOLID, OID_EQ, OID_IS_ROOTOID, OID_ISNULL, or_class_name(), or_class_rep_dir(), OR_FIXED_ATTRIBUTES_OFFSET, OR_PUT_OID, or_replace_rep_id(), ORC_CLASS_VAR_ATT_COUNT, ORC_REP_DIR_OFFSET, db_identifier::pageid, partition_prune_insert(), qexec_clear_list_cache_by_class(), QFILE_IS_LIST_CACHE_DISABLED, qmgr_add_modified_class(), REC_HOME, heap_operation_context::recdes_p, heap_operation_context::res_oid, pruning_scan_cache::scan_cache, db_identifier::slotid, strlen, recdes::type, heap_operation_context::update_in_place, UPDATE_INPLACE_CURRENT_MVCCID, UPDATE_INPLACE_OLD_MVCCID, heap_operation_context::use_bulk_logging, and db_identifier::volid.
Referenced by cubload::server_object_loader::flush_records(), locator_attribute_info_force(), locator_move_record(), locator_multi_insert_force(), redistribute_partition_data(), xlocator_force(), and xlocator_repl_force().
|
static |
Definition at line 12524 of file locator_sr.c.
References locator_classname_action::action, assert, csect_check_own, CSECT_LOCATOR_SR_CLASSNAME_TABLE, locator_classname_entry::e_current, locator_classname_entry::e_name, locator_classname_entry::e_tran_index, heap_does_exist(), LC_CLASSNAME_EXIST, LSA_ISNULL(), NULL, NULL_TRAN_INDEX, locator_classname_action::oid, OID_ISNULL, oid_Root_class_oid, locator_classname_action::prev, and locator_classname_action::savep_lsa.
Referenced by locator_defence_drop_class_name_entry(), locator_drop_class_name_entry(), locator_initialize(), locator_permoid_class_name(), locator_savepoint_class_name_entry(), xlocator_delete_class_name(), xlocator_find_class_oid(), xlocator_find_lockhint_class_oids(), xlocator_rename_class_name(), and xlocator_reserve_class_name().
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 | ||
) |
Definition at line 13286 of file locator_sr.c.
References COPY, DB_PAGESIZE, heap_clean_get_context(), heap_init_get_context(), heap_scan_cache_allocate_area(), locator_lock_and_get_object_internal(), NO_ERROR, NULL, and S_ERROR.
Referenced by locator_attribute_info_force(), locator_check_primary_key_delete(), locator_check_primary_key_update(), and process_object().
|
static |
Definition at line 12870 of file locator_sr.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, heap_scancache::cache_last_fix_page, heap_get_context::class_oid_p, ER_ERROR_SEVERITY, ER_HEAP_UNKNOWN_OBJECT, ER_MVCC_SERIALIZABLE_CONFLICT, er_set(), ER_WARNING_SEVERITY, error(), heap_clean_get_context(), heap_get_last_version(), heap_get_mvcc_header(), heap_prepare_get_context(), heap_get_context::home_page_watcher, LK_COND_LOCK, LK_GRANTED, LK_UNCOND_LOCK, lock_object(), lock_unlock_object_donot_move_to_non2pl(), LOG_WARNING_IF_DELETED, logtb_check_class_for_rr_isolation_err(), logtb_find_current_isolation(), logtb_get_mvcc_snapshot(), MVCC_IS_HEADER_DELID_VALID, mvcc_is_mvcc_disabled_class(), NO_ERROR, NULL, NULL_LOCK, OID_IS_ROOTOID, OID_ISNULL, heap_get_context::oid_p, or_mvcc_get_header(), db_identifier::pageid, pgbuf_ordered_unfix, pgbuf_watcher::pgptr, heap_get_context::recdes_p, S_DOESNT_EXIST, S_ERROR, S_LOCK, S_SUCCESS, S_SUCCESS_CHN_UPTODATE, heap_get_context::scan_cache, db_identifier::slotid, mvcc_snapshot::snapshot_fnc, TOO_NEW_FOR_SNAPSHOT, TOO_OLD_FOR_SNAPSHOT, TRAN_READ_COMMITTED, db_identifier::volid, and X_LOCK.
Referenced by locator_get_object(), locator_lock_and_get_object(), and 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 | ||
) |
Definition at line 13034 of file locator_sr.c.
References assert, ASSERT_ERROR, assert_release, COPY, DB_PAGESIZE, er_errid(), ER_HEAP_UNKNOWN_OBJECT, err, heap_clean_get_context(), heap_get_class_oid_from_page(), heap_get_record_data_when_all_ready(), heap_init_get_context(), heap_prepare_object_page(), heap_scan_cache_allocate_area(), heap_get_context::home_page_watcher, heap_get_context::latch_mode, locator_lock_and_get_object_internal(), locator_mvcc_reev_cond_and_assignment(), lock_unlock_object_donot_move_to_non2pl(), MVCC_REC_HEADER_INITIALIZER, heap_scancache::mvcc_snapshot, NO_ERROR, NULL, NULL_CHN, OID_INITIALIZER, OID_ISNULL, or_mvcc_get_header(), PEEK, pgbuf_watcher::pgptr, RECDES_INITIALIZER, S_DOESNT_EXIST, S_ERROR, S_SUCCESS, S_SUCCESS_CHN_UPTODATE, mvcc_snapshot::snapshot_fnc, SNAPSHOT_SATISFIED, V_ERROR, V_FALSE, V_TRUE, V_UNKNOWN, and X_LOCK.
Referenced by locator_delete_force_internal(), locator_update_force(), qexec_execute_selupd_list(), scan_next_heap_scan(), and scan_next_index_lookup_heap().
|
static |
Definition at line 2314 of file locator_sr.c.
References assert, CHN_UNKNOWN_ATCLIENT, COPY, heap_chnguess_get(), locator_get_object(), locator_return_object_assign(), LOG_FIND_THREAD_TRAN_INDEX, NULL, NULL_TRAN_INDEX, locator_return_nxobj::ptr_scancache, locator_return_nxobj::recdes, S_DOESNT_EXIST, S_END, S_ERROR, and S_SNAPSHOT_NOT_SATISFIED.
Referenced by xlocator_fetch(), xlocator_fetch_lockhint_classes(), and xlocator_fetch_lockset().
|
static |
Definition at line 5208 of file locator_sr.c.
References assert, COPY_OID, DB_NOT_PARTITIONED_CLASS, er_errid(), ER_FAILED, error(), heap_scancache_end(), locator_delete_force_for_moving(), locator_get_partition_scancache(), locator_insert_force(), locator_start_force_scan_cache(), NO_ERROR, NULL, OID_IS_ROOTOID, pruning_context::pruning_type, pruning_scan_cache::scan_cache, SINGLE_ROW_INSERT, and UPDATE_INPLACE_NONE.
Referenced by locator_update_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 | ||
) |
Definition at line 13713 of file locator_sr.c.
References assert, ASSERT_ERROR, BU_LOCK, heap_scancache::cache_last_fix_page, DB_ALIGN, DB_PAGESIZE, heap_alloc_new_page(), heap_is_big_length(), heap_log_postpone_heap_append_pages(), HEAP_MAX_ALIGN, heap_nonheader_page_capacity(), i, recdes::length, locator_insert_force(), lock_has_lock_on_object(), NO_ERROR, NULL, oid_Root_class_oid, PAGE_HEAP, heap_scancache::page_watcher, pgbuf_is_page_fixed_by_thread(), pgbuf_log_redo_new_page(), pgbuf_ordered_unfix_and_init, pgbuf_replace_watcher, pgbuf_watcher::pgptr, prm_get_float_value(), PRM_ID_HF_UNFILL_FACTOR, spage_slot_size(), VPID_ISNULL, and VPID_SET_NULL.
Referenced by cubload::server_object_loader::flush_records().
|
static |
Definition at line 13321 of file locator_sr.c.
References assert, heap_scancache_node::class_oid, cubquery::mvcc_reev_data::filter_result, locator_mvcc_reev_cond_assigns(), locator_mvcc_reevaluate_filters(), MVCC_IS_REC_INSERTED_BY_ME, heap_scancache::node, NULL, REEV_DATA_SCAN, REEV_DATA_UPDDEL, cubquery::mvcc_reev_data::select_reev_data, cubquery::mvcc_reev_data::type, cubquery::mvcc_reev_data::upddel_reev_data, and V_TRUE.
Referenced by locator_lock_and_get_object_with_evaluation().
|
static |
Definition at line 13389 of file locator_sr.c.
References recdes::area_size, cubquery::update_mvcc_reev_assignment::att_id, cubquery::update_mvcc_reev_assignment::constant, cubquery::mvcc_update_reev_data::copyarea, cubquery::mvcc_update_reev_data::curr_assigns, cubquery::mvcc_update_reev_data::curr_attrinfo, cubquery::mvcc_update_reev_data::curr_extra_assign_cnt, cubquery::mvcc_update_reev_data::curr_extra_assign_reev, cubquery::mvcc_update_reev_data::curr_upddel, recdes::data, fetch_peek_dbval(), heap_attrinfo_clear_dbvalues(), heap_attrinfo_set(), LOB_FLAG_INCLUDE_LOB, locator_allocate_copy_area_by_attr_info(), locator_free_copy_area(), locator_mvcc_reeval_scan_filters(), cubquery::mvcc_update_reev_data::mvcc_cond_reev_list, db_value::need_clear, cubquery::mvcc_update_reev_data::new_recdes, cubquery::update_mvcc_reev_assignment::next, cubquery::upddel_mvcc_cond_reeval::next, NO_ERROR, NULL, pr_clear_value(), rc, cubquery::update_mvcc_reev_assignment::regu_right, V_ERROR, V_TRUE, and cubquery::mvcc_update_reev_data::vd.
Referenced by locator_mvcc_reev_cond_and_assignment().
|
static |
Definition at line 13512 of file locator_sr.c.
References scan_attrs::attr_cache, cubquery::upddel_mvcc_cond_reeval::cls_oid, cubquery::upddel_mvcc_cond_reeval::data_filter, fetch_val_list(), heap_attrinfo_read_dbvalues(), heap_get_visible_version(), heap_scancache_end(), heap_scancache_quick_start_with_class_hfid(), heap_scancache_node::hfid, cubquery::upddel_mvcc_cond_reeval::inst_oid, cubquery::upddel_mvcc_cond_reeval::key_filter, locator_mvcc_reevaluate_filters(), NO_ERROR, heap_scancache::node, NULL, NULL_CHN, scan_attrs::num_attrs, locator_classname_action::oid, PEEK, cubquery::upddel_mvcc_cond_reeval::qualification, cubquery::mvcc_scan_reev_data::qualification, cubquery::upddel_mvcc_cond_reeval::range_filter, RECDES_INITIALIZER, cubquery::upddel_mvcc_cond_reeval::rest_attrs, cubquery::upddel_mvcc_cond_reeval::rest_regu_list, S_SUCCESS, filter_info::scan_pred, cubquery::mvcc_scan_reev_data::set_filters(), V_ERROR, and V_TRUE.
Referenced by locator_mvcc_reev_cond_assigns().
|
static |
Definition at line 13594 of file locator_sr.c.
References scan_attrs::attr_cache, cubquery::mvcc_scan_reev_data::data_filter, eval_data_filter(), heap_attrinfo_read_dbvalues(), cubquery::mvcc_scan_reev_data::key_filter, NO_ERROR, NULL, locator_classname_action::oid, scan_pred::pr_eval_fnc, scan_pred::pred_expr, cubquery::mvcc_scan_reev_data::qualification, cubquery::mvcc_scan_reev_data::range_filter, filter_info::scan_attrs, filter_info::scan_pred, update_logical_result(), V_ERROR, V_TRUE, and filter_info::val_descr.
Referenced by locator_mvcc_reev_cond_and_assignment(), and locator_mvcc_reeval_scan_filters().
|
static |
Definition at line 9068 of file locator_sr.c.
References recdes::area_size, assert, COPY_OID, i, LC_FETCH_DECACHE_LOCK, LC_NEXT_ONEOBJ_PTR_IN_COPYAREA, LC_PRIOR_ONEOBJ_PTR_IN_COPYAREA, LC_START_ONEOBJ_PTR_IN_COPYAREA, lc_copyarea_desc::mobjs, lc_copyarea_manyobjs::num_objs, lc_copyarea_desc::obj, lc_copyarea_oneobj::oid, OID_EQ, OID_ISNULL, lc_copyarea_oneobj::operation, and lc_copyarea_desc::recdes.
Referenced by xlocator_fetch(), xlocator_fetch_all(), xlocator_fetch_lockhint_classes(), xlocator_fetch_lockset(), xlocator_lock_and_fetch_all(), and xlocator_notify_isolation_incons().
|
static |
Definition at line 1173 of file locator_sr.c.
References locator_classname_action::action, ARG_FILE_LINE, assert, COPY_OID, csect_enter, csect_exit, CSECT_LOCATOR_SR_CLASSNAME_TABLE, locator_classname_entry::e_current, locator_classname_entry::e_tran_index, ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), INF_WAIT, LC_CLASSNAME_EXIST, locator_is_exist_class_name_entry(), lock_unlock_object(), LOG_FIND_THREAD_TRAN_INDEX, LSA_ISNULL(), LSA_SET_NULL(), mht_get(), NO_ERROR, NULL, locator_classname_action::oid, oid_Root_class_oid, locator_classname_action::prev, locator_classname_action::savep_lsa, and X_LOCK.
Referenced by locator_insert_force(), and xlocator_assign_oid().
|
static |
Definition at line 12342 of file locator_sr.c.
References ER_FAILED, error(), heap_indexinfo_get_btid(), locator_prefetch_index_page_internal(), NO_ERROR, and NULL.
|
static |
Definition at line 12359 of file locator_sr.c.
References BTREE_INIT_SCAN, btree_keyoid_checkscan_end(), btree_keyoid_checkscan_start(), btree_keyval_search(), btree_checkscan::btree_scan, btree_scan_clear_key(), DBVAL_BUFSIZE, ER_FAILED, error(), GE_LE, heap_attrinfo_end(), heap_attrinfo_read_dbvalues_without_oid(), heap_attrinfo_start_with_btid(), heap_attrvalue_get_key(), HFID_IS_NULL, key_val_range::key1, key_val_range::key2, MAX_ALIGNMENT, NO_ERROR, NULL, key_val_range::num_index_term, btree_checkscan::oid_list, or_class_hfid(), pr_clear_value(), PTR_ALIGN, key_val_range::range, S_SELECT, and scan_init_index_scan().
Referenced by locator_prefetch_index_page().
|
static |
Definition at line 1722 of file locator_sr.c.
References locator_classname_action::action, assert, locator_classname_entry::e_current, locator_classname_entry::e_tran_index, i, LC_CLASSNAME_DELETED, LC_CLASSNAME_DELETED_RENAME, LC_CLASSNAME_ERROR, LC_CLASSNAME_EXIST, LC_CLASSNAME_RESERVED, LC_CLASSNAME_RESERVED_RENAME, LSA_AS_ARGS, NULL, locator_classname_action::oid, db_identifier::pageid, locator_classname_action::prev, locator_classname_action::savep_lsa, db_identifier::slotid, strlen, and db_identifier::volid.
Referenced by locator_dump_class_names().
|
static |
Definition at line 9211 of file locator_sr.c.
References ASSERT_ERROR, btree_find_key(), btree_init_temp_key_value(), btree_physical_delete(), DISK_INVALID, DISK_VALID, LK_GRANTED, LK_UNCOND_LOCK, lock_object(), LOG_FIND_THREAD_TRAN_INDEX, log_sysop_abort(), log_sysop_commit(), log_sysop_start(), NO_ERROR, NULL, pr_clear_value(), SINGLE_ROW_DELETE, and X_LOCK.
Referenced by locator_check_btree_entries(), and locator_check_unique_btree_entries().
|
static |
Definition at line 9176 of file locator_sr.c.
References ASSERT_ERROR, btree_insert(), DISK_INVALID, DISK_VALID, LK_GRANTED, LK_UNCOND_LOCK, lock_object(), LOG_FIND_THREAD_TRAN_INDEX, log_sysop_abort(), log_sysop_commit(), log_sysop_start(), NO_ERROR, NULL, SINGLE_ROW_INSERT, and X_LOCK.
Referenced by locator_check_btree_entries(), and locator_check_unique_btree_entries().
|
static |
Definition at line 6589 of file locator_sr.c.
References recdes::area_size, CAST_BUFLEN, CEIL_PTVDIV, lc_copyarea_oneobj::class_oid, COPY_OID, recdes::data, DB_ALIGN, db_network_page_size(), LC_FIND_ONEOBJ_PTR_IN_COPYAREA, LC_MANYOBJS_PTR_IN_COPYAREA, recdes::length, lc_copyarea_oneobj::length, lc_copy_area::length, locator_reallocate_copy_area_by_length(), MAX_ALIGNMENT, lc_copy_area::mem, NULL, lc_copyarea_manyobjs::num_objs, lc_copyarea_oneobj::offset, lc_copyarea_oneobj::operation, OR_INT_SIZE, or_pack_int(), or_pack_mem_value(), or_pack_string(), or_packed_string_length(), and OR_VALUE_ALIGNED_SIZE.
Referenced by xlocator_repl_force().
|
static |
Definition at line 6760 of file locator_sr.c.
References lc_copy_area::mem, lc_copyarea_oneobj::offset, and or_unpack_mem_value().
Referenced by xlocator_repl_force().
|
static |
Definition at line 6665 of file locator_sr.c.
References ARG_FILE_LINE, assert, btree_get_pkey_btid(), BTREE_KEY_FOUND, lc_copyarea_oneobj::class_oid, ER_CT_INVALID_REPRID, er_errid(), ER_ERROR_SEVERITY, ER_HEAP_UNKNOWN_OBJECT, er_log_debug, ER_OBJ_OBJECT_NOT_FOUND, er_set(), ER_WARNING_SEVERITY, heap_get_class_repr_id(), heap_get_visible_version(), LC_FLUSH_DELETE, LC_IS_FLUSH_INSERT, LC_IS_FLUSH_UPDATE, NO_ERROR, NULL_CHN, lc_copyarea_oneobj::oid, OID_ISNULL, lc_copyarea_oneobj::operation, or_chn(), or_replace_chn(), or_replace_rep_id(), db_identifier::pageid, PEEK, S_DELETE, S_SUCCESS, S_UPDATE, db_identifier::slotid, db_identifier::volid, and xbtree_find_unique().
Referenced by xlocator_repl_force().
|
static |
Definition at line 2171 of file locator_sr.c.
References locator_return_nxobj::area_offset, recdes::area_size, CHN_UNKNOWN_ATCLIENT, lc_copyarea_oneobj::class_oid, COPY_OID, recdes::data, DB_ALIGN, lc_copyarea_oneobj::flag, heap_chnguess_put(), lc_copyarea_oneobj::hfid, LC_FETCH, LC_FETCH_DELETED, LC_FETCH_VERIFY_CHN, LC_NEXT_ONEOBJ_PTR_IN_COPYAREA, recdes::length, lc_copyarea_oneobj::length, LOG_FIND_THREAD_TRAN_INDEX, MAX_ALIGNMENT, locator_return_nxobj::mobjs, NULL_HFID, NULL_TRAN_INDEX, lc_copyarea_manyobjs::num_objs, locator_return_nxobj::obj, lc_copyarea_oneobj::offset, lc_copyarea_oneobj::oid, OID_IS_ROOTOID, lc_copyarea_oneobj::operation, or_chn(), locator_return_nxobj::recdes, S_DOESNT_EXIST, S_DOESNT_FIT, S_SUCCESS, and S_SUCCESS_CHN_UPTODATE.
Referenced by locator_lock_and_return_object().
int locator_rv_redo_rename | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 12615 of file locator_sr.c.
References NO_ERROR.
|
static |
Definition at line 1667 of file locator_sr.c.
References assert, csect_check_own, CSECT_LOCATOR_SR_CLASSNAME_TABLE, locator_classname_entry::e_current, locator_classname_entry::e_name, locator_classname_entry::e_tran_index, locator_is_exist_class_name_entry(), LOG_FIND_THREAD_TRAN_INDEX, LSA_COPY(), LSA_ISNULL(), mht_get(), NO_ERROR, NULL, NULL_TRAN_INDEX, locator_classname_action::oid, OID_ISNULL, locator_classname_action::savep_lsa, and thread_get_thread_entry_info().
Referenced by locator_savepoint_transient_class_name_entries().
int locator_savepoint_transient_class_name_entries | ( | THREAD_ENTRY * | thread_p, |
LOG_LSA * | savep_lsa | ||
) |
Definition at line 1604 of file locator_sr.c.
References assert, csect_enter, csect_exit, CSECT_LOCATOR_SR_CLASSNAME_TABLE, tx_transient_class_registry::empty(), ER_FAILED, INF_WAIT, locator_get_num_transient_classnames(), locator_savepoint_class_name_entry(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, log_tdes::m_modified_classes, tx_transient_class_registry::map(), NO_ERROR, NULL_TRAN_INDEX, and locator_classname_action::savep_lsa.
Referenced by xtran_server_savepoint(), and xtran_server_start_topop().
int locator_start_force_scan_cache | ( | THREAD_ENTRY * | thread_p, |
HEAP_SCANCACHE * | scan_cache, | ||
const HFID * | hfid, | ||
const OID * | class_oid, | ||
int | op_type | ||
) |
Definition at line 3985 of file locator_sr.c.
References heap_scancache_start_modify(), and NULL.
Referenced by locator_force_for_multi_update(), locator_get_partition_scancache(), locator_move_record(), qexec_execute_increment(), qexec_execute_insert(), qexec_upddel_setup_current_class(), xlocator_force(), and xlocator_repl_force().
|
static |
Definition at line 5308 of file locator_sr.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, catalog_insert(), catalog_update(), catcls_Enable, catcls_insert_catalog_classes(), catcls_update_catalog_classes(), COPY, COPY_OID, recdes::data, DB_NOT_PARTITIONED_CLASS, er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_HEAP_NODATA_NEWADDRESS, ER_HEAP_UNKNOWN_OBJECT, ER_INTERRUPTED, er_log_debug, ER_MVCC_NOT_SATISFIED_REEVALUATION, er_set(), ER_TDE_CIPHER_IS_NOT_LOADED, error(), cubquery::mvcc_reev_data::filter_result, fpcache_remove_by_class(), free_and_init, heap_create_update_context(), heap_get_class_info(), heap_get_class_name_alloc_if_diff(), heap_get_class_oid(), heap_get_class_record(), heap_get_visible_version(), HEAP_IS_UPDATE_INPLACE, heap_update_logical(), HFID_COPY, repl_info::info, tde_cipher::is_loaded, heap_operation_context::is_logical_old, IX_LOCK, LC_FLAG_HAS_UNIQUE_INDEX, LK_GRANTED, LK_UNCOND_LOCK, locator_add_or_remove_index(), locator_check_foreign_key(), locator_Dont_check_foreign_key, locator_free_copy_area(), locator_get_partition_scancache(), locator_lock_and_get_object_with_evaluation(), locator_move_record(), locator_update_index(), lock_has_lock_on_object(), lock_object(), lock_subclass(), log_add_to_modified_class_list(), LOG_CHECK_LOG_APPLIER, log_does_allow_replication(), LOG_ERROR_IF_DELETED, LOG_FIND_CURRENT_TDES(), logtb_find_current_mvccid(), logtb_get_mvcc_snapshot(), MVCC_CLEAR_FLAG_BITS, MVCC_GET_DELID, MVCC_GET_INSID, MVCC_GET_PREV_VERSION_LSA, mvcc_rec_header::mvcc_ins_id, MVCC_IS_FLAG_SET, MVCC_IS_HEADER_DELID_VALID, mvcc_is_mvcc_disabled_class(), MVCC_SET_DELID, MVCC_SET_FLAG_BITS, MVCC_SET_INSID, MVCC_SET_PREVIOUS_VERSION_LSA, heap_scancache::mvcc_snapshot, repl_info::need_replication, cubquery::mvcc_update_reev_data::new_recdes, NO_ERROR, NULL, NULL_CHN, NULL_PAGEID, NULL_SLOTID, NULL_VOLID, OID_EQ, OID_IS_ROOTOID, OID_ISNULL, or_class_name(), or_class_rep_dir(), or_class_tde_algorithm(), OR_FIXED_ATTRIBUTES_OFFSET, OR_MVCC_FLAG_VALID_DELID, OR_MVCC_FLAG_VALID_INSID, OR_MVCC_FLAG_VALID_PREV_VERSION, or_mvcc_get_header(), or_mvcc_set_header(), OR_PUT_OID, ORC_CLASS_VAR_ATT_COUNT, ORC_REP_DIR_OFFSET, db_identifier::pageid, partition_prune_update(), PEEK, qexec_clear_list_cache_by_class(), QFILE_IS_LIST_CACHE_DISABLED, qmgr_add_modified_class(), RECDES_INITIALIZER, REEV_DATA_UPDDEL, repl_info::repl_info_type, S_DOESNT_EXIST, S_SNAPSHOT_NOT_SATISFIED, S_SUCCESS, pruning_scan_cache::scan_cache, SINGLE_ROW_INSERT, SINGLE_ROW_MODIFY, db_identifier::slotid, strlen, TDE_ALGORITHM_NONE, tde_Cipher, cubquery::mvcc_reev_data::type, UPDATE_INPLACE_CURRENT_MVCCID, UPDATE_INPLACE_OLD_MVCCID, cubquery::mvcc_reev_data::upddel_reev_data, V_FALSE, db_identifier::volid, X_LOCK, and xcache_remove_by_oid().
Referenced by locator_attribute_info_force(), locator_force_for_multi_update(), xlocator_force(), and xlocator_repl_force().
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 | ||
) |
Definition at line 8147 of file locator_sr.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, or_index::atts, or_index::btid, or_index::btname, btree_compare_key(), BTREE_CONSTRAINT_PRIMARY_KEY, BTREE_CONSTRAINT_UNIQUE, BTREE_FOREIGN_KEY, btree_insert(), btree_keyoid_checkscan_check(), btree_keyoid_checkscan_end(), btree_keyoid_checkscan_start(), btree_multicol_key_is_null(), btree_mvcc_delete(), btree_online_index_dispatcher(), BTREE_OP_ONLINE_INDEX_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_TRAN_INSERT, btree_physical_delete(), BTREE_PRIMARY_KEY, BTREE_REVERSE_UNIQUE, btree_set_mvcc_header_ids_for_update(), BTREE_UNIQUE, btree_update(), db_value::data, DB_EQ, DB_IS_NULL, db_make_null(), DB_TYPE_MIDXKEY, DB_UNK, DB_VALUE_DOMAIN_TYPE, db_value_is_null(), DBVAL_BUFSIZE, DISK_INVALID, DISK_VALID, db_midxkey::domain, er_errid(), ER_FAILED, ER_INTERRUPTED, error(), or_index::filter_predicate, or_index::fk, free_and_init, multi_index_unique_stats::get_stats_of(), heap_attrinfo_end(), heap_attrinfo_read_dbvalues(), heap_attrinfo_start_with_index(), heap_attrvalue_get_key(), heap_get_class_name(), i, pr_type::id, or_attribute::id, or_index::index_status, LK_GRANTED, LK_UNCOND_LOCK, locator_check_primary_key_update(), locator_Dont_check_foreign_key, locator_eval_filter_predicate(), locator_was_index_already_applied(), lock_object(), LOG_CHECK_LOG_APPLIER, log_does_allow_replication(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LOG_REPLICATION_DATA, logtb_get_current_mvccid(), LSA_COPY(), LSA_ISNULL(), LSA_SET_NULL(), heap_scancache::m_index_stats, MAX_ALIGNMENT, db_data::midxkey, MULTI_ROW_DELETE, MULTI_ROW_INSERT, MULTI_ROW_UPDATE, mvcc_is_mvcc_disabled_class(), MVCCID_NULL, or_index::n_atts, repl_info::need_replication, NO_ERROR, NULL, heap_idx_elements_info::num_btids, locator_classname_action::oid, OID_ISNULL, OR_ONLINE_INDEX_BUILDING_IN_PROGRESS, pr_clear_value(), pr_clone_value(), pr_free_ext_value(), pr_make_ext_value(), pr_type_from_id(), PTR_ALIGN, repl_info::repl_info_type, log_tdes::repl_insert_lsa, RVREPL_DATA_UPDATE, TP_ARE_COMPARABLE_KEY_TYPES, TP_DOMAIN_TYPE, or_index::type, V_TRUE, and X_LOCK.
Referenced by catcls_update_instance(), locator_update_force(), and update_indexes().
|
static |
Definition at line 7508 of file locator_sr.c.
References or_index::btid, BTID_IS_EQUAL, and i.
Referenced by locator_add_or_remove_index_internal(), and locator_update_index().
|
static |
Definition at line 12632 of file locator_sr.c.
References assert, ASSERT_ERROR, COPY, COPY_OID, recdes::data, DB_PARTITIONED_CLASS, ER_FAILED, error(), mvcctable::get_global_oldest_visible(), heap_get_class_info(), heap_get_visible_version(), HEAP_HEADER_AND_CHAIN_SLOTID, heap_scancache_end(), heap_scancache_start(), heap_scancache_start_modify(), heap_vacuum_all_objects(), heap_vpid_next(), HFID_IS_NULL, hfid::hpgid, i, locator_insert_force(), LOG_FIND_CURRENT_TDES(), log_Gl, log_global::mvcc_table, MVCCID_NULL, NO_ERROR, NULL, NULL_CHN, locator_classname_action::oid, OID_ISNULL, OLD_PAGE_PREVENT_DEALLOC, heap_scancache::page_watcher, vpid::pageid, db_identifier::pageid, partition_clear_pruning_context(), partition_init_pruning_context(), partition_load_pruning_context(), PEEK, PGBUF_INIT_WATCHER, PGBUF_LATCH_WRITE, pgbuf_ordered_fix, PGBUF_ORDERED_HEAP_NORMAL, PGBUF_ORDERED_NULL_HFID, PGBUF_ORDERED_RANK_UNDEFINED, pgbuf_ordered_unfix, pgbuf_replace_watcher, pgbuf_watcher::pgptr, REC_BIGONE, REC_HOME, REC_RELOCATION, S_END, S_ERROR, S_SUCCESS, SINGLE_ROW_INSERT, db_identifier::slotid, spage_next_record(), recdes::type, UPDATE_INPLACE_OLD_MVCCID, hfid::vfid, vpid::volid, vfid::volid, db_identifier::volid, and VPID_ISNULL.
Referenced by xlocator_redistribute_partition_data().
int xchksum_insert_repl_log_and_demote_table_lock | ( | THREAD_ENTRY * | thread_p, |
REPL_INFO * | repl_info, | ||
const OID * | class_oidp | ||
) |
Definition at line 12560 of file locator_sr.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, ER_FATAL_ERROR_SEVERITY, ER_LOG_UNKNOWN_TRANINDEX, er_set(), error(), IS_LOCK, lock_demote_read_class_lock_for_checksumdb(), lock_get_object_lock(), log_append_repl_info(), LOG_FIND_CURRENT_TDES(), LOG_FIND_THREAD_TRAN_INDEX, log_sysop_abort(), log_sysop_commit(), log_sysop_start(), NO_ERROR, NULL, oid_Root_class_oid, log_tdes::tran_index, and xrepl_set_info().
Referenced by chksum_insert_repl_log_and_demote_table_lock(), and schksum_insert_repl_log_and_demote_table_lock().
int xlocator_assign_oid | ( | THREAD_ENTRY * | thread_p, |
const HFID * | hfid, | ||
OID * | perm_oid, | ||
int | expected_length, | ||
OID * | class_oid, | ||
const char * | classname | ||
) |
Definition at line 2044 of file locator_sr.c.
References assert, ER_FAILED, heap_assign_address(), locator_permoid_class_name(), NO_ERROR, and NULL.
Referenced by locator_assign_oid(), slocator_assign_oid(), and xlocator_assign_oid_batch().
int xlocator_assign_oid_batch | ( | THREAD_ENTRY * | thread_p, |
LC_OIDSET * | oidset | ||
) |
Definition at line 11512 of file locator_sr.c.
References catalog_free_class_info_and_init, catalog_get_class_info(), catalog_update_class_info(), cls_info::ci_hfid, cls_info::ci_tot_objects, lc_class_oidset::class_oid, lc_oidset::classes, error(), lc_oidmap::est_size, vfid::fileid, lc_class_oidset::hfid, log_sysop_abort(), log_sysop_attach_to_outer(), log_sysop_start(), lc_oidmap::next, lc_class_oidset::next, NO_ERROR, NULL, locator_classname_action::oid, lc_oidmap::oid, lc_class_oidset::oids, hfid::vfid, vfid::volid, and xlocator_assign_oid().
Referenced by locator_assign_oid_batch(), and slocator_assign_oid_batch().
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 | ||
) |
Definition at line 11689 of file locator_sr.c.
References btree_check_foreign_key(), COPY, recdes::data, db_make_null(), DBVAL_BUFSIZE, er_errid(), ER_FAILED, heap_attrinfo_end(), heap_attrinfo_generate_key(), heap_attrinfo_read_dbvalues(), heap_attrinfo_start(), heap_next(), heap_scancache_end(), heap_scancache_start(), logtb_get_mvcc_snapshot(), MAX_ALIGNMENT, NO_ERROR, NULL, locator_classname_action::oid, OID_SET_NULL, pr_clear_value(), PTR_ALIGN, S_SUCCESS, hfid::vfid, vfid::volid, and db_identifier::volid.
Referenced by locator_check_fk_validity(), and slocator_check_fk_validity().
LC_FIND_CLASSNAME xlocator_delete_class_name | ( | THREAD_ENTRY * | thread_p, |
const char * | classname | ||
) |
Definition at line 755 of file locator_sr.c.
References locator_classname_action::action, ARG_FILE_LINE, assert, COPY_OID, csect_enter, csect_exit, CSECT_LOCATOR_SR_CLASSNAME_TABLE, locator_classname_entry::e_current, locator_classname_entry::e_tran_index, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), INF_WAIT, LC_CLASSNAME_DELETED, LC_CLASSNAME_DELETED_RENAME, LC_CLASSNAME_ERROR, LC_CLASSNAME_EXIST, LC_CLASSNAME_RESERVED, LC_CLASSNAME_RESERVED_RENAME, LK_GRANTED, LK_UNCOND_LOCK, locator_incr_num_transient_classnames(), locator_is_exist_class_name_entry(), lock_object(), lock_unlock_object(), LOG_FIND_THREAD_TRAN_INDEX, LSA_ISNULL(), LSA_SET_NULL(), mht_get(), NO_ERROR, NULL, NULL_TRAN_INDEX, locator_classname_action::oid, oid_Root_class_oid, locator_classname_action::prev, locator_classname_action::savep_lsa, SCH_M_LOCK, and strlen.
Referenced by locator_delete_class_name(), locator_delete_force_internal(), slocator_delete_class_name(), and xlocator_rename_class_name().
int xlocator_demote_class_lock | ( | THREAD_ENTRY * | thread_p, |
const OID * | class_oid, | ||
LOCK | lock, | ||
LOCK * | ex_lock | ||
) |
Definition at line 13706 of file locator_sr.c.
References lock_demote_class_lock().
Referenced by slocator_demote_class_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 | ||
) |
Definition at line 3891 of file locator_sr.c.
References ASSERT_ERROR, DISK_VALID, ER_FAILED, heap_does_exist(), HEAP_ISVALID_OID, heap_scancache_end(), heap_scancache_quick_start(), LC_DOESNOT_EXIST, LC_ERROR, LC_EXIST, locator_decide_operation_type(), locator_get_object(), lock_unlock_object(), NO_ERROR, NULL, NULL_CHN, NULL_LOCK, OID_SET_NULL, PEEK, S_ERROR, S_SUCCESS, and xlocator_fetch().
Referenced by locator_does_exist(), and slocator_does_exist().
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 | ||
) |
Definition at line 2375 of file locator_sr.c.
References locator_return_nxobj::area_offset, locator_return_nxobj::area_scancache, ARG_FILE_LINE, assert, locator_return_nxobj::comm_area, DB_ALIGN, DB_PAGESIZE, er_errid(), ER_FAILED, ER_HEAP_UNKNOWN_OBJECT, er_set(), ER_WARNING_SEVERITY, error(), heap_get_class_oid(), heap_prefetch(), heap_scancache_end(), heap_scancache_start(), LC_FETCH_CURRENT_VERSION, LC_FETCH_CURRENT_VERSION_NO_CHECK, LC_FETCH_DIRTY_VERSION, LC_FETCH_IS_MVCC_VERSION_NEEDED, LC_FETCH_MVCC_VERSION, LC_MANYOBJS_PTR_IN_COPYAREA, LC_NEXT_ONEOBJ_PTR_IN_COPYAREA, LC_RECDES_IN_COPYAREA, LC_START_ONEOBJ_PTR_IN_COPYAREA, recdes::length, lc_copy_area::length, locator_allocate_copy_area_by_length(), locator_decide_operation_type(), locator_free_copy_area(), locator_lock_and_return_object(), locator_notify_decache(), lock_get_object_lock(), lock_notify_isolation_incons(), lock_unlock_object(), lock_unlock_object_donot_move_to_non2pl(), logtb_get_mvcc_snapshot(), MAX_ALIGNMENT, locator_return_nxobj::mobjs, lc_copyarea_desc::mobjs, mvcc_is_mvcc_disabled_class(), mvcc_satisfies_dirty(), NO_ERROR, NULL, NULL_LOCK, lc_copyarea_manyobjs::num_objs, locator_return_nxobj::obj, lc_copyarea_desc::obj, lc_copyarea_desc::offset, locator_classname_action::oid, OID_EQ, OID_IS_ROOTOID, OID_ISNULL, oid_Root_class_oid, OID_SET_NULL, db_identifier::pageid, locator_return_nxobj::ptr_scancache, locator_return_nxobj::recdes, lc_copyarea_desc::recdes, S_DOESNT_EXIST, S_DOESNT_FIT, S_ERROR, S_LOCK, S_SELECT, S_SELECT_WITH_LOCK, S_SNAPSHOT_NOT_SATISFIED, S_SUCCESS, SIX_LOCK, db_identifier::slotid, mvcc_snapshot::snapshot_fnc, db_identifier::volid, and X_LOCK.
Referenced by locator_fetch(), slocator_fetch(), xlocator_does_exist(), and xlocator_get_class().
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 | ||
) |
Definition at line 2773 of file locator_sr.c.
References recdes::area_size, assert, lc_copyarea_oneobj::class_oid, COPY, COPY_OID, recdes::data, DB_ALIGN, DB_INT32_MAX, DB_PAGESIZE, er_errid(), ER_FAILED, error(), lc_copyarea_oneobj::flag, heap_estimate_num_objects(), heap_next(), heap_scancache_end(), heap_scancache_end_when_scan_will_resume(), heap_scancache_start(), lc_copyarea_oneobj::hfid, LC_FETCH, LC_FETCH_CURRENT_VERSION, LC_FETCH_DIRTY_VERSION, LC_FETCH_MVCC_VERSION, LC_MANYOBJS_PTR_IN_COPYAREA, LC_NEXT_ONEOBJ_PTR_IN_COPYAREA, LC_PRIOR_ONEOBJ_PTR_IN_COPYAREA, LC_RECDES_IN_COPYAREA, LC_START_ONEOBJ_PTR_IN_COPYAREA, recdes::length, lc_copyarea_oneobj::length, LK_GRANTED, LK_UNCOND_LOCK, locator_allocate_copy_area_by_length(), locator_free_copy_area(), locator_notify_decache(), lock_notify_isolation_incons(), lock_object(), lock_unlock_object(), logtb_get_mvcc_snapshot(), MAX_ALIGNMENT, lc_copyarea_desc::mobjs, mvcc_satisfies_dirty(), NO_ERROR, NULL, NULL_HFID, NULL_LOCK, NULL_PAGEID, NULL_SLOTID, lc_copyarea_manyobjs::num_objs, lc_copyarea_desc::obj, lc_copyarea_oneobj::offset, lc_copyarea_desc::offset, locator_classname_action::oid, lc_copyarea_oneobj::oid, OID_ISNULL, oid_Root_class_oid, OID_SET_NULL, lc_copyarea_oneobj::operation, db_identifier::pageid, lc_copyarea_desc::recdes, S_DOESNT_FIT, S_END, S_ERROR, S_SUCCESS, db_identifier::slotid, mvcc_snapshot::snapshot_fnc, hfid::vfid, vfid::volid, and db_identifier::volid.
Referenced by locator_fetch_all(), and slocator_fetch_all().
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 | ||
) |
Definition at line 3813 of file locator_sr.c.
References ER_FAILED, i, IS_LOCK, IX_LOCK, locator_all_reference_lockset(), NULL, NULL_CHN, OID_EQ, S_LOCK, and xlocator_fetch_lockset().
Referenced by locator_fetch_all_reference_lockset(), and slocator_fetch_all_reference_lockset().
int xlocator_fetch_lockhint_classes | ( | THREAD_ENTRY * | thread_p, |
LC_LOCKHINT * | lockhint, | ||
LC_COPYAREA ** | fetch_area | ||
) |
Definition at line 11291 of file locator_sr.c.
References locator_return_nxobj::area_offset, locator_return_nxobj::area_scancache, lc_lockhint_class::chn, lc_lock_hint::classes, locator_return_nxobj::comm_area, DB_ALIGN, DB_PAGESIZE, ER_FAILED, heap_scancache_end(), heap_scancache_start(), i, LC_MANYOBJS_PTR_IN_COPYAREA, LC_RECDES_IN_COPYAREA, LC_START_ONEOBJ_PTR_IN_COPYAREA, recdes::length, lc_copy_area::length, LK_GRANTED, LK_UNCOND_LOCK, locator_allocate_copy_area_by_length(), locator_free_copy_area(), locator_lock_and_return_object(), locator_notify_decache(), lc_lockhint_class::lock, lock_classes_lock_hint(), lock_notify_isolation_incons(), lock_object(), lock_unlock_classes_lock_hint(), MAX_ALIGNMENT, locator_return_nxobj::mobjs, lc_copyarea_desc::mobjs, NO_ERROR, NULL, NULL_LOCK, lc_lock_hint::num_classes, lc_lock_hint::num_classes_processed, lc_copyarea_manyobjs::num_objs, locator_return_nxobj::obj, lc_copyarea_desc::obj, lc_copyarea_desc::offset, lc_lockhint_class::oid, OID_ISNULL, OID_ISTEMP, oid_Root_class_oid, OID_SET_NULL, locator_return_nxobj::ptr_scancache, lc_lock_hint::quit_on_errors, locator_return_nxobj::recdes, lc_copyarea_desc::recdes, S_DOESNT_EXIST, S_DOESNT_FIT, S_ERROR, S_SELECT, and S_SUCCESS.
Referenced by locator_fetch_lockhint_classes(), slocator_fetch_lockhint_classes(), and xlocator_find_lockhint_class_oids().
int xlocator_fetch_lockset | ( | THREAD_ENTRY * | thread_p, |
LC_LOCKSET * | lockset, | ||
LC_COPYAREA ** | fetch_area | ||
) |
Definition at line 3047 of file locator_sr.c.
References locator_return_nxobj::area_offset, locator_return_nxobj::area_scancache, lc_lockset_classof::chn, lc_lock_set::classes, locator_return_nxobj::comm_area, DB_ALIGN, DB_PAGESIZE, er_errid(), ER_FAILED, error(), heap_scancache_end(), heap_scancache_start(), i, LC_MANYOBJS_PTR_IN_COPYAREA, LC_RECDES_IN_COPYAREA, LC_START_ONEOBJ_PTR_IN_COPYAREA, recdes::length, lc_copy_area::length, locator_allocate_copy_area_by_length(), locator_find_lockset_missing_class_oids(), locator_free_copy_area(), locator_lock_and_return_object(), locator_notify_decache(), lock_notify_isolation_incons(), lock_unlock_objects_lock_set(), logtb_get_mvcc_snapshot(), MAX_ALIGNMENT, locator_return_nxobj::mobjs, lc_copyarea_desc::mobjs, heap_scancache::mvcc_snapshot, NO_ERROR, NULL, lc_lock_set::num_classes_of_reqobjs, lc_lock_set::num_classes_of_reqobjs_processed, lc_copyarea_manyobjs::num_objs, lc_lock_set::num_reqobjs, lc_lock_set::num_reqobjs_processed, locator_return_nxobj::obj, lc_copyarea_desc::obj, lc_lock_set::objects, lc_copyarea_desc::offset, locator_classname_action::oid, OID_EQ, OID_IS_ROOTOID, OID_ISNULL, OID_ISTEMP, oid_Root_class_oid, OID_SET_NULL, locator_return_nxobj::ptr_scancache, lc_lock_set::quit_on_errors, locator_return_nxobj::recdes, lc_copyarea_desc::recdes, lc_lock_set::reqobj_class_lock, lc_lock_set::reqobj_inst_lock, S_DOESNT_EXIST, S_DOESNT_FIT, S_ERROR, S_SELECT, and S_SUCCESS.
Referenced by locator_fetch_lockset(), slocator_fetch_lockset(), and xlocator_fetch_all_reference_lockset().
LC_FIND_CLASSNAME xlocator_find_class_oid | ( | THREAD_ENTRY * | thread_p, |
const char * | classname, | ||
OID * | class_oid, | ||
LOCK | lock | ||
) |
Definition at line 1033 of file locator_sr.c.
References locator_classname_action::action, assert, COPY_OID, csect_enter_as_reader, csect_exit, CSECT_LOCATOR_SR_CLASSNAME_TABLE, locator_classname_entry::e_current, locator_classname_entry::e_tran_index, INF_WAIT, IS_LOCK, LC_CLASSNAME_DELETED, LC_CLASSNAME_DELETED_RENAME, LC_CLASSNAME_ERROR, LC_CLASSNAME_EXIST, LK_GRANTED, LK_UNCOND_LOCK, locator_is_exist_class_name_entry(), lock_object(), lock_unlock_object(), LOG_FIND_THREAD_TRAN_INDEX, mht_get(), NO_ERROR, NULL, NULL_LOCK, locator_classname_action::oid, OID_ISNULL, oid_Root_class_oid, and OID_SET_NULL.
Referenced by btree_index_start_scan(), catalog_get_cardinality_by_name(), catcls_find_and_set_cached_class_oid(), catcls_find_class_oid_by_class_name(), heap_header_capacity_start_scan(), heap_set_autoincrement_value(), cubload::server_class_installer::locate_class(), locator_find_class_oid(), logtb_tran_prepare_count_optim_classes(), and slocator_find_class_oid().
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 | ||
) |
Definition at line 11017 of file locator_sr.c.
References locator_classname_action::action, ARG_FILE_LINE, assert, CHN_UNKNOWN_ATCLIENT, COPY_OID, csect_check_own, csect_enter_as_reader, csect_exit, CSECT_LOCATOR_SR_CLASSNAME_TABLE, locator_classname_entry::e_current, locator_classname_entry::e_tran_index, ER_LC_UNKNOWN_CLASSNAME, er_set(), ER_WARNING_SEVERITY, i, INF_WAIT, IS_LOCK, LC_CLASSNAME_DELETED, LC_CLASSNAME_DELETED_RENAME, LC_CLASSNAME_ERROR, LC_CLASSNAME_EXIST, LC_PREF_FLAG_LOCK, LK_GRANTED, LK_UNCOND_LOCK, locator_allocate_lockhint(), locator_free_lockhint(), locator_guess_sub_classes(), locator_is_exist_class_name_entry(), lock_Conv, lock_object(), lock_unlock_object(), LOG_FIND_THREAD_TRAN_INDEX, logtb_tran_prepare_count_optim_classes(), mht_get(), NA_LOCK, NO_ERROR, NULL, NULL_LOCK, locator_classname_action::oid, OID_EQ, OID_ISNULL, oid_Root_class_oid, OID_SET_NULL, and xlocator_fetch_lockhint_classes().
Referenced by locator_find_lockhint_class_oids(), and slocator_find_lockhint_class_oids().
int xlocator_force | ( | THREAD_ENTRY * | thread_p, |
LC_COPYAREA * | force_area, | ||
int | num_ignore_error, | ||
int * | ignore_error_list | ||
) |
Definition at line 6983 of file locator_sr.c.
References ARG_FILE_LINE, assert, assert_release, lc_copyarea_oneobj::class_oid, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_LC_BADFORCE_OPERATION, ER_MVCC_NOT_SATISFIED_REEVALUATION, er_set(), error(), lc_copyarea_oneobj::hfid, i, IS_MULTI_UPDATE, LC_FLUSH_DELETE, LC_FLUSH_INSERT, LC_FLUSH_INSERT_PRUNE, LC_FLUSH_INSERT_PRUNE_VERIFY, LC_FLUSH_UPDATE, LC_FLUSH_UPDATE_PRUNE, LC_FLUSH_UPDATE_PRUNE_VERIFY, LC_IS_FLUSH_UPDATE, LC_MANYOBJS_PTR_IN_COPYAREA, LC_NEXT_ONEOBJ_PTR_IN_COPYAREA, LC_ONEOBJ_GET_INDEX_FLAG, LC_PRIOR_ONEOBJ_PTR_IN_COPYAREA, LC_RECDES_IN_COPYAREA, LC_RECDES_TO_GET_ONEOBJ, LC_START_ONEOBJ_PTR_IN_COPYAREA, locator_area_op_to_pruning_type(), locator_delete_force(), locator_end_force_scan_cache(), locator_filter_errid(), locator_force_for_multi_update(), locator_insert_force(), locator_manyobj_flag_is_set(), locator_start_force_scan_cache(), locator_update_force(), LOG_CHECK_LOG_APPLIER, LOG_RESULT_TOPOP_ABORT, LOG_RESULT_TOPOP_ATTACH_TO_OUTER, NO_ERROR, NULL, lc_copyarea_manyobjs::num_objs, lc_copyarea_oneobj::oid, OID_EQ, oid_Root_class_oid, OID_SET_NULL, lc_copyarea_oneobj::operation, db_identifier::pageid, perfmon_inc_stat(), PSTAT_QM_NUM_DELETES, PSTAT_QM_NUM_INSERTS, PSTAT_QM_NUM_UPDATES, REPL_INFO_TYPE_RBR_NORMAL, SINGLE_ROW_DELETE, SINGLE_ROW_INSERT, SINGLE_ROW_UPDATE, db_identifier::slotid, UPDATE_INPLACE_NONE, db_identifier::volid, xtran_server_end_topop(), and xtran_server_start_topop().
Referenced by locator_force(), and slocator_force().
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 | ||
) |
Definition at line 2704 of file locator_sr.c.
References ASSERT_ERROR_AND_SET, ER_FAILED, heap_get_class_oid(), LC_FETCH_CURRENT_VERSION, LK_GRANTED, LK_UNCOND_LOCK, lock_object(), lock_unlock_object(), NO_ERROR, NULL, NULL_LOCK, OID_ISNULL, oid_Root_class_oid, S_SUCCESS, and xlocator_fetch().
Referenced by locator_get_class(), and slocator_get_class().
int xlocator_get_reserved_class_name_oid | ( | THREAD_ENTRY * | thread_p, |
const char * | classname, | ||
OID * | class_oid | ||
) |
Definition at line 689 of file locator_sr.c.
References locator_classname_action::action, ARG_FILE_LINE, assert, COPY_OID, csect_enter_as_reader, csect_exit, CSECT_LOCATOR_SR_CLASSNAME_TABLE, locator_classname_entry::e_current, locator_classname_entry::e_tran_index, ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, er_set(), error(), INF_WAIT, LC_CLASSNAME_RESERVED, LOG_FIND_THREAD_TRAN_INDEX, mht_get(), NO_ERROR, NULL, and locator_classname_action::oid.
Referenced by locator_get_reserved_class_name_oid(), and slocator_get_reserved_class_name_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 | ||
) |
Definition at line 11790 of file locator_sr.c.
References recdes::area_size, lc_copyarea_oneobj::class_oid, COPY, COPY_OID, recdes::data, DB_ALIGN, DB_PAGESIZE, ER_FAILED, error(), lc_copyarea_oneobj::flag, heap_estimate_num_objects(), heap_get_visible_version(), heap_next(), heap_scancache_end(), heap_scancache_end_when_scan_will_resume(), heap_scancache_start(), lc_copyarea_oneobj::hfid, LC_FETCH, LC_MANYOBJS_PTR_IN_COPYAREA, LC_NEXT_ONEOBJ_PTR_IN_COPYAREA, LC_PRIOR_ONEOBJ_PTR_IN_COPYAREA, LC_RECDES_IN_COPYAREA, LC_START_ONEOBJ_PTR_IN_COPYAREA, recdes::length, lc_copyarea_oneobj::length, LK_GRANTED, LK_UNCOND_LOCK, locator_allocate_copy_area_by_length(), locator_free_copy_area(), locator_notify_decache(), lock_notify_isolation_incons(), lock_object(), lock_object_wait_msecs(), lock_unlock_object(), MAX_ALIGNMENT, lc_copyarea_desc::mobjs, NO_ERROR, NULL, NULL_CHN, NULL_HFID, NULL_LOCK, NULL_PAGEID, NULL_SLOTID, lc_copyarea_manyobjs::num_objs, lc_copyarea_desc::obj, lc_copyarea_oneobj::offset, lc_copyarea_desc::offset, locator_classname_action::oid, lc_copyarea_oneobj::oid, OID_ISNULL, oid_Root_class_oid, OID_SET_NULL, lc_copyarea_oneobj::operation, db_identifier::pageid, lc_copyarea_desc::recdes, S_DOESNT_FIT, S_END, S_ERROR, S_SUCCESS, db_identifier::slotid, hfid::vfid, vfid::volid, and db_identifier::volid.
Referenced by process_class(), and xlocator_upgrade_instances_domain().
bool xlocator_notify_isolation_incons | ( | THREAD_ENTRY * | thread_p, |
LC_COPYAREA ** | synch_area | ||
) |
Definition at line 9132 of file locator_sr.c.
References recdes::area_size, DB_PAGESIZE, LC_MANYOBJS_PTR_IN_COPYAREA, LC_RECDES_IN_COPYAREA, LC_START_ONEOBJ_PTR_IN_COPYAREA, locator_allocate_copy_area_by_length(), locator_free_copy_area(), locator_notify_decache(), lock_notify_isolation_incons(), lc_copyarea_desc::mobjs, NULL, lc_copyarea_manyobjs::num_objs, lc_copyarea_desc::obj, lc_copyarea_desc::offset, and lc_copyarea_desc::recdes.
Referenced by locator_notify_isolation_incons(), and slocator_notify_isolation_incons().
int xlocator_redistribute_partition_data | ( | THREAD_ENTRY * | thread_p, |
OID * | class_oid, | ||
int | no_oids, | ||
OID * | oid_list | ||
) |
Definition at line 12854 of file locator_sr.c.
References redistribute_partition_data().
Referenced by locator_redistribute_partition_data(), and slocator_redistribute_partition_data().
int xlocator_remove_class_from_index | ( | THREAD_ENTRY * | thread_p, |
OID * | class_oid, | ||
BTID * | btid, | ||
HFID * | hfid | ||
) |
Definition at line 8842 of file locator_sr.c.
References recdes::area_size, ARG_FILE_LINE, assert, ASSERT_ERROR, or_index::btid, BTID_IS_EQUAL, btree_physical_delete(), COPY, recdes::data, db_make_null(), DB_PAGESIZE, DBVAL_BUFSIZE, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), or_index::filter_predicate, free_and_init, heap_attrinfo_end(), heap_attrinfo_read_dbvalues(), heap_attrinfo_start_with_index(), heap_attrvalue_get_key(), heap_next(), heap_scancache_end(), heap_scancache_start(), i, recdes::length, locator_eval_filter_predicate(), logtb_get_mvcc_snapshot(), logtb_tran_update_unique_stats(), MAX_ALIGNMENT, MULTI_ROW_DELETE, NO_ERROR, NULL, NULL_PAGEID, NULL_SLOTID, heap_idx_elements_info::num_btids, OID_IS_ROOTOID, db_identifier::pageid, pr_clear_value(), PTR_ALIGN, S_DOESNT_FIT, S_SUCCESS, db_identifier::slotid, V_TRUE, hfid::vfid, vfid::volid, and db_identifier::volid.
Referenced by locator_remove_class_from_index(), and slocator_remove_class_from_index().
LC_FIND_CLASSNAME xlocator_rename_class_name | ( | THREAD_ENTRY * | thread_p, |
const char * | oldname, | ||
const char * | newname, | ||
OID * | class_oid | ||
) |
Definition at line 916 of file locator_sr.c.
References locator_classname_action::action, assert, CSECT_CT_OID_TABLE, csect_enter, csect_exit, CSECT_LOCATOR_SR_CLASSNAME_TABLE, locator_classname_entry::e_current, locator_classname_entry::e_tran_index, error(), INF_WAIT, LC_CLASSNAME_DELETED, LC_CLASSNAME_DELETED_RENAME, LC_CLASSNAME_ERROR, LC_CLASSNAME_RESERVED, LC_CLASSNAME_RESERVED_RENAME, locator_drop_class_name_entry(), locator_is_exist_class_name_entry(), log_add_to_modified_class_list(), log_append_redo_data2(), LOG_FIND_THREAD_TRAN_INDEX, mht_get(), NO_ERROR, NULL, OID_ISNULL, RVLOC_CLASSNAME_DUMMY, strlen, xlocator_delete_class_name(), and xlocator_reserve_class_name().
Referenced by locator_rename_class_name(), and slocator_rename_class_name().
int xlocator_repl_force | ( | THREAD_ENTRY * | thread_p, |
LC_COPYAREA * | force_area, | ||
LC_COPYAREA ** | reply_area | ||
) |
Definition at line 6781 of file locator_sr.c.
References ARG_FILE_LINE, assert, assert_release, lc_copyarea_oneobj::class_oid, DB_IS_NULL, db_value_put_null(), er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_LC_BADFORCE_OPERATION, ER_LC_PARTIALLY_FAILED_TO_FLUSH, er_msg(), er_set(), heap_get_class_info(), lc_copyarea_oneobj::hfid, HFID_COPY, HFID_EQ, HFID_INITIALIZER, HFID_SET_NULL, i, LC_FLUSH_DELETE, LC_FLUSH_INSERT, LC_FLUSH_INSERT_PRUNE, LC_FLUSH_INSERT_PRUNE_VERIFY, LC_FLUSH_UPDATE, LC_FLUSH_UPDATE_PRUNE, LC_FLUSH_UPDATE_PRUNE_VERIFY, LC_MANYOBJS_PTR_IN_COPYAREA, LC_NEXT_ONEOBJ_PTR_IN_COPYAREA, LC_ONEOBJ_GET_INDEX_FLAG, LC_PRIOR_ONEOBJ_PTR_IN_COPYAREA, LC_RECDES_IN_COPYAREA, LC_REPL_RECDES_FOR_ONEOBJ, LC_START_ONEOBJ_PTR_IN_COPYAREA, locator_area_op_to_pruning_type(), locator_delete_force(), locator_end_force_scan_cache(), locator_insert_force(), locator_repl_add_error_to_copyarea(), locator_repl_get_key_value(), locator_repl_prepare_force(), locator_start_force_scan_cache(), locator_update_force(), LOG_RESULT_TOPOP_ABORT, LOG_RESULT_TOPOP_ATTACH_TO_OUTER, NO_ERROR, NULL, lc_copyarea_manyobjs::num_objs, lc_copyarea_oneobj::oid, lc_copyarea_oneobj::operation, db_identifier::pageid, perfmon_inc_stat(), pr_clear_value(), PSTAT_QM_NUM_DELETES, PSTAT_QM_NUM_INSERTS, PSTAT_QM_NUM_UPDATES, RECDES_INITIALIZER, REPL_INFO_TYPE_RBR_NORMAL, SINGLE_ROW_DELETE, SINGLE_ROW_INSERT, SINGLE_ROW_UPDATE, db_identifier::slotid, UPDATE_INPLACE_NONE, db_identifier::volid, xtran_server_end_topop(), and xtran_server_start_topop().
Referenced by slocator_repl_force().
|
static |
Definition at line 454 of file locator_sr.c.
References locator_classname_action::action, ARG_FILE_LINE, assert, COPY_OID, csect_enter, csect_exit, CSECT_LOCATOR_SR_CLASSNAME_TABLE, locator_classname_entry::e_current, locator_classname_entry::e_name, locator_classname_entry::e_tran_index, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), free_and_init, INF_WAIT, LC_CLASSNAME_DELETED, LC_CLASSNAME_DELETED_RENAME, LC_CLASSNAME_ERROR, LC_CLASSNAME_EXIST, LC_CLASSNAME_RESERVED, LC_CLASSNAME_RESERVED_RENAME, LK_GRANTED, LK_UNCOND_LOCK, locator_decr_num_transient_classnames(), locator_generate_class_pseudo_oid(), locator_incr_num_transient_classnames(), locator_is_exist_class_name_entry(), lock_object(), lock_unlock_object(), log_append_redo_data2(), LOG_FIND_THREAD_TRAN_INDEX, LSA_ISNULL(), LSA_SET_NULL(), mht_get(), mht_put(), mht_rem(), NO_ERROR, NULL, locator_classname_action::oid, OID_ISNULL, oid_Root_class_oid, locator_classname_action::prev, RVLOC_CLASSNAME_DUMMY, locator_classname_action::savep_lsa, SCH_M_LOCK, strdup(), and strlen.
Referenced by xlocator_rename_class_name(), and 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 | ||
) |
Definition at line 409 of file locator_sr.c.
References assert, i, LC_CLASSNAME_RESERVED, NULL, strlen, and xlocator_reserve_class_name().
Referenced by locator_reserve_class_names(), and slocator_reserve_classnames().
int xlocator_upgrade_instances_domain | ( | THREAD_ENTRY * | thread_p, |
OID * | class_oid, | ||
int | att_id | ||
) |
Definition at line 12070 of file locator_sr.c.
References ARG_FILE_LINE, COPY_OID, ER_ERROR_SEVERITY, er_set(), ER_UNEXPECTED, error(), mvcctable::get_global_oldest_visible(), heap_attrinfo_clear_dbvalues(), heap_attrinfo_end(), heap_attrinfo_read_dbvalues(), heap_attrinfo_start(), heap_get_class_info(), heap_object_upgrade_domain(), heap_scancache_end_modify(), heap_scancache_start_modify(), heap_vacuum_all_objects(), HFID_SET_NULL, i, LC_FETCH_DECACHE_LOCK, LC_MANYOBJS_PTR_IN_COPYAREA, LC_NEXT_ONEOBJ_PTR_IN_COPYAREA, LC_RECDES_TO_GET_ONEOBJ, LC_START_ONEOBJ_PTR_IN_COPYAREA, locator_free_copy_area(), LOG_FIND_CURRENT_TDES(), LOG_FIND_THREAD_TRAN_INDEX, log_Gl, log_global::mvcc_table, NO_ERROR, NULL, lc_copyarea_manyobjs::num_objs, lc_copyarea_oneobj::oid, OID_ISNULL, OID_SET_NULL, lc_copyarea_oneobj::operation, SCH_M_LOCK, SINGLE_ROW_UPDATE, X_LOCK, and xlocator_lock_and_fetch_all().
Referenced by locator_upgrade_instances_domain(), and slocator_upgrade_instances_domain().
LOG_LSA* xrepl_log_get_append_lsa | ( | void | ) |
Definition at line 11669 of file locator_sr.c.
References log_get_append_lsa().
Referenced by repl_log_get_append_lsa(), and srepl_log_get_append_lsa().
int xrepl_set_info | ( | THREAD_ENTRY * | thread_p, |
REPL_INFO * | repl_info | ||
) |
Definition at line 11642 of file locator_sr.c.
References ARG_FILE_LINE, ER_REPL_ERROR, er_set(), ER_WARNING_SEVERITY, repl_info::info, LOG_CHECK_LOG_APPLIER, log_does_allow_replication(), NO_ERROR, repl_info::repl_info_type, and REPL_INFO_TYPE_SBR.
Referenced by repl_set_info(), srepl_set_info(), and xchksum_insert_repl_log_and_demote_table_lock().
bool catcls_Enable |
Definition at line 102 of file catalog_class.c.
Referenced by catcls_compile_catalog_classes(), locator_delete_force_internal(), locator_insert_force(), and locator_update_force().
bool locator_Dont_check_foreign_key = false |
Definition at line 120 of file locator_sr.c.
Referenced by ldr_sa_load(), locator_add_or_remove_index_internal(), locator_insert_force(), locator_update_force(), and locator_update_index().
|
static |
Definition at line 71 of file locator_sr.c.
Referenced by locator_all_reference_lockset().
Definition at line 122 of file locator_sr.c.
|
static |
Definition at line 129 of file locator_sr.c.
Referenced by locator_generate_class_pseudo_oid().
|
static |
Definition at line 127 of file locator_sr.c.
Referenced by locator_generate_class_pseudo_oid().
|
static |
Definition at line 128 of file locator_sr.c.
Referenced by locator_generate_class_pseudo_oid().
Definition at line 124 of file locator_sr.c.
Referenced by locator_return_object_assign(), xlocator_fetch_all(), and xlocator_lock_and_fetch_all().