CUBRID Engine
latest
|
#include "config.h"
#include <stdio.h>
#include <assert.h>
#include <signal.h>
#include "authenticate.h"
#include "db.h"
#include "environment_variable.h"
#include "porting.h"
#include "locator_cl.h"
#include "memory_alloc.h"
#include "storage_common.h"
#include "work_space.h"
#include "object_representation.h"
#include "transform_cl.h"
#include "class_object.h"
#include "schema_manager.h"
#include "server_interface.h"
#include "locator.h"
#include "boot_cl.h"
#include "virtual_object.h"
#include "memory_hash.h"
#include "system_parameter.h"
#include "dbi.h"
#include "replication.h"
#include "transaction_cl.h"
#include "network_interface_cl.h"
#include "execute_statement.h"
#include "log_lsa.hpp"
Go to the source code of this file.
Classes | |
struct | locator_mflush_temp_oid |
struct | locator_mflush_cache |
struct | locator_cache_lock |
struct | locator_list_nested_mops |
struct | locator_list_keep_mops |
Macros | |
#define | WS_SET_FOUND_DELETED(mop) WS_SET_DELETED(mop) |
#define | MAX_FETCH_SIZE 64 |
Typedefs | |
typedef struct locator_mflush_temp_oid | LOCATOR_MFLUSH_TEMP_OID |
typedef struct locator_mflush_cache | LOCATOR_MFLUSH_CACHE |
typedef struct locator_cache_lock | LOCATOR_CACHE_LOCK |
typedef struct locator_list_nested_mops | LOCATOR_LIST_NESTED_MOPS |
typedef struct locator_list_keep_mops | LOCATOR_LIST_KEEP_MOPS |
Variables | |
static volatile sig_atomic_t | lc_Is_siginterrupt = false |
#define MAX_FETCH_SIZE 64 |
Definition at line 57 of file locator_cl.c.
Referenced by locator_get_rest_objects_classes(), and locator_lockhint_classes().
#define WS_SET_FOUND_DELETED | ( | mop | ) | WS_SET_DELETED(mop) |
Definition at line 56 of file locator_cl.c.
Referenced by locator_cache_not_have_object().
typedef struct locator_cache_lock LOCATOR_CACHE_LOCK |
Definition at line 88 of file locator_cl.c.
typedef struct locator_list_keep_mops LOCATOR_LIST_KEEP_MOPS |
Definition at line 106 of file locator_cl.c.
typedef struct locator_list_nested_mops LOCATOR_LIST_NESTED_MOPS |
Definition at line 100 of file locator_cl.c.
typedef struct locator_mflush_cache LOCATOR_MFLUSH_CACHE |
Definition at line 68 of file locator_cl.c.
typedef struct locator_mflush_temp_oid LOCATOR_MFLUSH_TEMP_OID |
Definition at line 60 of file locator_cl.c.
Definition at line 5595 of file locator_cl.c.
References ARG_FILE_LINE, assert, ER_ERROR_SEVERITY, ER_LC_CLASSNAME_EXIST, er_set(), IX_LOCK, LC_CLASS, LC_FETCH_CURRENT_VERSION, locator_delete_class_name(), locator_flush_class(), locator_get_reserved_class_name_oid(), locator_lock(), lock_Conv, NA_LOCK, NO_ERROR, NULL, NULL_LOCK, SCH_M_LOCK, sm_Root_class_mop, ws_cache_with_oid(), ws_dirty(), ws_find_class(), ws_get_lock(), WS_IS_DELETED, and ws_set_lock().
Referenced by update_class().
Definition at line 5782 of file locator_cl.c.
References locator_all_flush(), locator_create_heap_if_needed(), locator_mflush_temp_oid::mop, NO_ERROR, NULL, OID_ASSIGN_TEMPOID, OID_INIT_TEMPID, OID_ISNULL, sm_is_reuse_oid_class(), ws_cache_with_oid(), ws_dirty(), ws_set_lock(), and X_LOCK.
Referenced by create_template_object(), and vid_add_virtual_instance().
Definition at line 6629 of file locator_cl.c.
References lc_oidmap::est_size, locator_add_oid_set(), locator_check_object_and_get_class(), lc_oidmap::mop, NO_ERROR, NULL, db_object::object, sm_ch_heap(), tf_object_size(), ws_class_mop(), and WS_OID.
Referenced by col_permanent_oids(), ldr_assign_all_perm_oids(), locator_add_to_oidset_when_temp_oid(), setobj_sort(), and tf_add_fixup().
Definition at line 5544 of file locator_cl.c.
References LC_CLASSNAME_RESERVED, locator_flush_class(), locator_reserve_class_name(), NO_ERROR, NULL, oid_Root_class_oid, ROOTCLASS_NAME, SCH_M_LOCK, sm_mark_system_class(), sm_Root_class_mop, ws_cache(), ws_dirty(), ws_mop(), ws_oid(), and ws_set_lock().
Referenced by sm_create_root().
|
static |
Definition at line 6753 of file locator_cl.c.
References assert, if(), locator_add_oidset_object(), locator_assign_oidset(), locator_clear_oid_set(), NO_ERROR, NULL, db_object::object, OID_BATCH_SIZE, OID_ISTEMP, sm_class::partition, lc_oidset::total_oids, sm_class::users, ws_class_mop(), ws_find(), WS_FIND_MOP_DELETED, WS_ISVID, WS_MAP_CONTINUE, WS_MAP_FAIL, and ws_oid().
Referenced by locator_assign_all_permanent_oids().
int locator_all_flush | ( | void | ) |
Definition at line 5457 of file locator_cl.c.
References DONT_DECACHE, ER_FAILED, locator_mflush(), locator_mflush_end(), locator_mflush_force(), locator_mflush_initialize(), MANY_MFLUSHES, locator_mflush_cache::mobjs, NO_ERROR, NULL, lc_copyarea_manyobjs::num_objs, vid_allflush(), ws_map_dirty(), WS_MAP_FAIL, and WS_MAP_SUCCESS.
Referenced by do_create_trigger(), do_execute_select(), do_execute_statement(), do_statement(), locator_add_instance(), sm_update_all_statistics(), tr_create_trigger(), tran_2pc_prepare(), tran_2pc_prepare_global_tran(), tran_flush_to_commit(), and tran_savepoint_internal().
int locator_assign_all_permanent_oids | ( | void | ) |
Definition at line 6836 of file locator_cl.c.
References ER_FAILED, error(), locator_add_to_oidset_when_temp_oid(), locator_assign_oidset(), locator_free_oid_set(), locator_make_oid_set(), NO_ERROR, NULL, ws_map_dirty(), and WS_MAP_FAIL.
Referenced by do_execute_select(), and tran_flush_to_commit().
int locator_assign_oidset | ( | LC_OIDSET * | oidset, |
LC_OIDMAP_CALLBACK | callback | ||
) |
Definition at line 6687 of file locator_cl.c.
References assert, lc_oidset::classes, er_errid(), locator_assign_oid_batch(), lc_oidmap::mop, lc_oidmap::next, lc_class_oidset::next, NO_ERROR, NULL, lc_oidmap::oid, lc_class_oidset::oids, lc_oidset::total_oids, and ws_update_oid().
Referenced by col_permanent_oids(), ldr_assign_all_perm_oids(), locator_add_to_oidset_when_temp_oid(), locator_assign_all_permanent_oids(), and tf_do_fixup().
Definition at line 6084 of file locator_cl.c.
References ARG_FILE_LINE, DB_FETCH_CLREAD_INSTWRITE, er_errid(), ER_ERROR_SEVERITY, ER_HEAP_UNKNOWN_OBJECT, ER_LK_UNILATERALLY_ABORTED, er_set(), locator_assign_oid(), locator_fetch_class(), locator_is_root(), NO_ERROR, NULL, db_identifier::pageid, db_identifier::slotid, sm_ch_heap(), sm_ch_name(), sm_Root_class_hfid, tf_object_size(), tran_abort_only_client(), db_identifier::volid, ws_class_mop(), ws_find(), WS_FIND_MOP_DELETED, ws_oid(), and ws_update_oid().
Referenced by allocate_disk_structures(), collect_hier_class_info(), tf_mem_to_disk(), tf_need_permanent_oid(), and vid_encode_object().
|
static |
Definition at line 3707 of file locator_cl.c.
References ER_OUT_OF_VIRTUAL_MEMORY, i, LC_MANYOBJS_PTR_IN_COPYAREA, LC_NEXT_ONEOBJ_PTR_IN_COPYAREA, LC_PRIOR_ONEOBJ_PTR_IN_COPYAREA, LC_RECDES_TO_GET_ONEOBJ, LC_START_ONEOBJ_PTR_IN_COPYAREA, recdes::length, locator_cache_have_object(), locator_cache_not_have_object(), locator_mflush_temp_oid::mop, NO_ERROR, NULL, NULL_LOCK, lc_copyarea_manyobjs::num_objs, locator_mflush_temp_oid::obj, SCH_S_LOCK, sm_Root_class_mop, ws_class_mop(), ws_get_lock(), and ws_set_lock().
Referenced by locator_fun_get_all_mops(), locator_get_rest_objects_classes(), locator_lock(), locator_lock_and_doesexist(), locator_lock_class_of_instance(), locator_lock_nested(), locator_lockhint_classes(), locator_mflush_force(), and locator_synch_isolation_incons().
|
static |
Definition at line 3589 of file locator_cl.c.
References ARG_FILE_LINE, lc_copyarea_oneobj::class_oid, er_errid(), ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_log_debug, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), LC_FETCH_DECACHE_LOCK, locator_cache_object_class(), locator_cache_object_instance(), NO_ERROR, NULL, lc_copyarea_oneobj::oid, OID_IS_ROOTOID, lc_copyarea_oneobj::operation, or_chn(), db_identifier::pageid, db_identifier::slotid, sm_is_reuse_oid_class(), sm_Root_class_mop, db_identifier::volid, WS_CHN, ws_find(), WS_FIND_MOP_DELETED, WS_ISDIRTY, ws_mop(), and ws_set_mop_fetched_with_current_snapshot().
Referenced by locator_cache().
|
static |
Definition at line 309 of file locator_cl.c.
References assert, locator_cache_lock::class_lock, locator_cache_lock::class_oid, locator_cache_lock::fetch_version_type, locator_cache_lock::implicit_lock, IS_LOCK, IX_LOCK, LC_FETCH_IS_DIRTY_VERSION_NEEDED, LC_FETCH_MVCC_VERSION, locator_cache_lock::lock, lock_Conv, NA_LOCK, NULL, NULL_LOCK, locator_cache_lock::oid, OID_EQ, S_LOCK, sm_Root_class_mop, ws_class_mop(), ws_get_lock(), ws_oid(), ws_set_lock(), ws_set_mop_fetched_with_current_snapshot(), and X_LOCK.
Referenced by locator_lock(), and locator_lock_and_doesexist().
|
static |
Definition at line 6209 of file locator_cl.c.
References assert, lc_lock_hint::classes, i, lc_lockhint_class::lock, lock_Conv, NA_LOCK, NULL, NULL_LOCK, lc_lock_hint::num_classes, lc_lockhint_class::oid, OID_ISNULL, sm_Root_class_mop, ws_find(), WS_FIND_MOP_DELETED, ws_get_lock(), ws_mop(), and ws_set_lock().
Referenced by locator_lockhint_classes().
Definition at line 418 of file locator_cl.c.
References assert, lc_lock_set::classes, i, IS_LOCK, IX_LOCK, lc_lock_set::last_classof_reqobjs_cached, lc_lock_set::last_reqobj_cached, locator_is_root(), locator_to_prefetched_lock(), lock_Conv, NA_LOCK, NULL, NULL_LOCK, lc_lock_set::num_classes_of_reqobjs, lc_lock_set::num_reqobjs, lc_lock_set::objects, lc_lockset_reqobj::oid, lc_lockset_classof::oid, OID_EQ, lc_lock_set::reqobj_class_lock, lc_lock_set::reqobj_inst_lock, S_LOCK, sm_Root_class_mop, ws_class_mop(), ws_get_lock(), ws_oid(), ws_set_lock(), and ws_set_mop_fetched_with_current_snapshot().
Referenced by locator_lock_nested(), and locator_lock_set().
|
static |
Definition at line 3493 of file locator_cl.c.
References ARG_FILE_LINE, er_errid(), ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_log_debug, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), LC_FETCH_DECACHE_LOCK, LC_FETCH_DELETED, LC_FETCH_VERIFY_CHN, lc_copyarea_oneobj::length, locator_decache_all_lock_instances(), locator_is_root(), NO_ERROR, NULL, NULL_LOCK, lc_copyarea_oneobj::oid, lc_copyarea_oneobj::operation, db_identifier::pageid, db_identifier::slotid, db_identifier::volid, WS_CHN, ws_class_mop(), ws_decache(), ws_find(), WS_FIND_MOP_DELETED, WS_ISDIRTY, ws_mop(), WS_SET_FOUND_DELETED, and ws_set_lock().
Referenced by locator_cache().
|
static |
Definition at line 3319 of file locator_cl.c.
References ARG_FILE_LINE, er_errid(), ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_log_debug, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), LC_FETCH, LC_FETCH_DECACHE_LOCK, locator_decache_all_lock_instances(), NO_ERROR, NULL, NULL_LOCK, lc_copyarea_oneobj::oid, lc_copyarea_oneobj::operation, or_chn(), db_identifier::pageid, db_identifier::slotid, sm_Root_class_mop, tf_disk_to_class(), db_identifier::volid, ws_cache(), WS_CHN, and ws_set_lock().
Referenced by locator_cache_have_object().
|
static |
Definition at line 3406 of file locator_cl.c.
References ARG_FILE_LINE, DB_FETCH_CLREAD_INSTREAD, er_errid(), ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_log_debug, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), LC_FETCH, LC_FETCH_DECACHE_LOCK, locator_fetch_class(), NO_ERROR, NULL, NULL_LOCK, lc_copyarea_oneobj::oid, lc_copyarea_oneobj::operation, or_chn(), db_identifier::pageid, db_identifier::slotid, sm_is_reuse_oid_class(), tf_disk_to_mem(), db_identifier::volid, ws_cache(), WS_CHN, and ws_set_lock().
Referenced by locator_cache_have_object().
|
static |
Definition at line 6899 of file locator_cl.c.
References assert, lock_Conv, NULL, NULL_LOCK, OID_ISTEMP, sm_Root_class_mop, ws_class_mop(), ws_find(), ws_get_lock(), ws_is_mop_fetched_with_current_snapshot(), and ws_oid().
Referenced by locator_lock(), locator_lock_and_doesexist(), and locator_lock_set().
Definition at line 6572 of file locator_cl.c.
References ARG_FILE_LINE, ER_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_LC_UNEXPECTED_PERM_OID, er_set(), error(), locator_flush_class(), NO_ERROR, NULL, db_object::object, OID_ISTEMP, ws_class_mop(), and ws_oid().
Referenced by locator_add_oidset_object().
|
static |
Definition at line 4271 of file locator_cl.c.
References locator_mflush_cache::copy_area, DB_PAGESIZE, ER_FAILED, locator_mflush_cache::isone_mflush, recdes::length, lc_copy_area::length, locator_mflush_force(), locator_mflush_reallocate_copy_area(), locator_mflush_cache::mobjs, NO_ERROR, lc_copyarea_manyobjs::num_objs, OR_MVCC_INSERT_HEADER_SIZE, OR_MVCC_MAX_HEADER_SIZE, locator_mflush_cache::recdes, tf_class_to_disk(), TF_ERROR, TF_SUCCESS, WS_MAP_FAIL, and WS_MAP_STOP.
Referenced by locator_mflush().
Definition at line 5690 of file locator_cl.c.
References assert, DB_FETCH_CLREAD_INSTWRITE, DB_FETCH_WRITE, heap_create(), HFID_IS_NULL, locator_fetch_class(), locator_flush_class(), NO_ERROR, NULL, OID_ISNULL, OID_ISTEMP, sm_ch_heap(), sm_ch_rep_dir(), ws_dirty(), and ws_oid().
Referenced by au_install(), define_trigger_classes(), do_create_entity(), do_create_partition(), locator_add_instance(), locator_has_heap(), pt_to_func_pred(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), and pt_to_pred_with_context().
int locator_decache_all_lock_instances | ( | MOP | class_mop | ) |
Definition at line 3293 of file locator_cl.c.
References ER_FAILED, locator_decache_lock(), NO_ERROR, NULL, ws_map_class(), and WS_MAP_SUCCESS.
Referenced by locator_cache_not_have_object(), locator_cache_object_class(), and unloaddb().
|
static |
Definition at line 3278 of file locator_cl.c.
References NULL_LOCK, WS_MAP_CONTINUE, and ws_set_lock().
Referenced by locator_decache_all_lock_instances().
int locator_does_exist_object | ( | MOP | mop, |
DB_FETCH_MODE | purpose | ||
) |
Definition at line 3242 of file locator_cl.c.
References LC_CLASS, LC_INSTANCE, LC_OBJECT, locator_fetch_mode_to_lock(), locator_is_root(), locator_lock_and_doesexist(), NULL, TM_TRAN_READ_FETCH_VERSION, and ws_class_mop().
Referenced by check_set_object(), get_object_value(), obj_find_object_by_pkey(), obj_isinstance(), pt_bind_parameter(), and tp_domain_check_class().
MOBJ locator_fetch_class | ( | MOP | class_mop, |
DB_FETCH_MODE | purpose | ||
) |
Definition at line 2293 of file locator_cl.c.
References ARG_FILE_LINE, er_log_debug, LC_CLASS, LC_FETCH_CURRENT_VERSION, LC_FETCH_MVCC_VERSION, locator_fetch_instance(), locator_fetch_mode_to_lock(), locator_is_root(), locator_lock(), NO_ERROR, NULL, db_identifier::pageid, db_identifier::slotid, db_identifier::volid, ws_class_mop(), ws_find(), WS_FIND_MOP_DELETED, and ws_oid().
Referenced by chksum_start(), class_referenced_by_class(), delete_list_by_oids(), delete_real_class(), do_alter_change_col_comment(), do_alter_change_default_cs_coll(), do_alter_change_tbl_comment(), do_alter_clause_change_attribute(), do_alter_trigger(), do_execute_merge(), do_insert_checks(), do_merge(), do_reclaim_class_addresses(), fetch_class(), la_apply_delete_log(), la_apply_insert_log(), la_apply_update_log(), locator_assign_permanent_oid(), locator_cache_object_instance(), locator_create_heap_if_needed(), locator_fetch_instance(), locator_fetch_nested(), locator_fetch_set(), locator_flush_all_instances(), locator_flush_for_multi_update(), locator_fun_get_all_mops(), locator_mflush(), locator_prepare_rename_class(), locator_remove_class(), locator_update_class(), process_value(), pt_make_class_access_spec(), sm_decache_instances_after_query_executed_with_commit(), sm_flush_and_decache_objects_internal(), sm_get_class_repid(), smt_change_query_spec(), update_object_by_oid(), and update_real_class().
MOBJ locator_fetch_class_of_instance | ( | MOP | inst_mop, |
MOP * | class_mop, | ||
DB_FETCH_MODE | purpose | ||
) |
Definition at line 2354 of file locator_cl.c.
References LC_CLASS, locator_fetch_mode_to_lock(), locator_lock_class_of_instance(), NO_ERROR, NULL, TM_TRAN_READ_FETCH_VERSION, ws_find(), and WS_FIND_MOP_DELETED.
Referenced by fetch_class().
MOBJ locator_fetch_instance | ( | MOP | mop, |
DB_FETCH_MODE | purpose, | ||
LC_FETCH_VERSION_TYPE | fetch_version_type | ||
) |
Definition at line 2393 of file locator_cl.c.
References ARG_FILE_LINE, er_log_debug, LC_INSTANCE, locator_fetch_class(), locator_fetch_mode_to_lock(), locator_is_root(), locator_lock(), NO_ERROR, NULL, db_identifier::pageid, db_identifier::slotid, db_identifier::volid, ws_class_mop(), ws_find(), WS_FIND_MOP_DELETED, and ws_oid().
Referenced by fetch_instance(), locator_fetch_class(), locator_fetch_set(), and locator_update_instance().
LOCK locator_fetch_mode_to_lock | ( | DB_FETCH_MODE | purpose, |
LC_OBJTYPE | type, | ||
LC_FETCH_VERSION_TYPE | fetch_version_type | ||
) |
Definition at line 2068 of file locator_cl.c.
References ARG_FILE_LINE, assert, DB_FETCH_CLREAD_INSTREAD, DB_FETCH_CLREAD_INSTWRITE, DB_FETCH_DIRTY, DB_FETCH_EXCLUSIVE_SCAN, DB_FETCH_QUERY_READ, DB_FETCH_QUERY_WRITE, DB_FETCH_READ, DB_FETCH_SCAN, DB_FETCH_WRITE, er_log_debug, IS_LOCK, IX_LOCK, LC_CLASS, LC_FETCH_DIRTY_VERSION, LC_INSTANCE, NULL_LOCK, S_LOCK, SCH_M_LOCK, SCH_S_LOCK, SIX_LOCK, and X_LOCK.
Referenced by ldr_init_loader(), locator_does_exist_object(), locator_fetch_class(), locator_fetch_class_of_instance(), locator_fetch_instance(), locator_fetch_nested(), locator_fetch_object(), locator_fetch_set(), locator_find_class_with_purpose(), locator_fun_get_all_mops(), locator_get_cache_coherency_number(), locator_save_nested_mops(), lockhint_subclasses(), pt_add_lock_class(), and pt_in_lck_array().
MOBJ locator_fetch_nested | ( | MOP | mop, |
DB_FETCH_MODE | purpose, | ||
int | prune_level, | ||
int | quit_on_errors | ||
) |
Definition at line 2549 of file locator_cl.c.
References ARG_FILE_LINE, er_log_debug, LC_INSTANCE, locator_fetch_class(), locator_fetch_mode_to_lock(), locator_is_root(), locator_lock_nested(), NO_ERROR, NULL, db_identifier::pageid, db_identifier::slotid, TM_TRAN_READ_FETCH_VERSION, db_identifier::volid, ws_class_mop(), ws_find(), WS_FIND_MOP_DELETED, and ws_oid().
Referenced by db_fetch_composition().
MOBJ locator_fetch_object | ( | MOP | mop, |
DB_FETCH_MODE | purpose, | ||
LC_FETCH_VERSION_TYPE | fetch_version_type | ||
) |
Definition at line 2235 of file locator_cl.c.
References LC_CLASS, LC_INSTANCE, LC_OBJECT, locator_fetch_mode_to_lock(), locator_is_root(), locator_lock(), NO_ERROR, NULL, ws_class_mop(), ws_find(), and WS_FIND_MOP_DELETED.
Referenced by cursor_fetch_oids(), and locator_is_class().
MOBJ locator_fetch_set | ( | int | num_mops, |
MOP * | mop_set, | ||
DB_FETCH_MODE | inst_purpose, | ||
DB_FETCH_MODE | class_purpose, | ||
int | quit_on_errors | ||
) |
Definition at line 2464 of file locator_cl.c.
References db_real_instance(), LC_CLASS, LC_FETCH_CURRENT_VERSION, LC_INSTANCE, locator_fetch_class(), locator_fetch_instance(), locator_fetch_mode_to_lock(), locator_lock_set(), NO_ERROR, NULL, sm_Root_class_mop, TM_TRAN_READ_FETCH_VERSION, ws_class_mop(), ws_find(), WS_FIND_MOP_DELETED, and WS_ISVID.
Referenced by acquire_locks_for_multiple_rename(), cursor_fetch_oids(), db_fetch_array(), extract_objects(), and fetch_set_internal().
Definition at line 3142 of file locator_cl.c.
References LC_CLASSNAME_EXIST, locator_find_class_by_name(), NULL, and SCH_S_LOCK.
Referenced by catcls_vclass_install(), get_class_mops(), get_requested_classes(), la_create_repl_filter(), sm_find_class(), sm_mark_system_class(), and util_get_class_oids_and_index_btid().
|
static |
Definition at line 3080 of file locator_cl.c.
References ARG_FILE_LINE, ER_LC_UNKNOWN_CLASSNAME, er_set(), ER_WARNING_SEVERITY, LC_CLASS, LC_CLASSNAME_DELETED, LC_CLASSNAME_ERROR, LC_CLASSNAME_EXIST, LC_FETCH_CURRENT_VERSION, locator_find_class_by_oid(), locator_lock(), NO_ERROR, NULL, NULL_LOCK, OID_SET_NULL, ws_find_class(), ws_get_lock(), and WS_IS_DELETED.
Referenced by locator_find_class(), and locator_find_class_with_purpose().
|
static |
Definition at line 2997 of file locator_cl.c.
References ARG_FILE_LINE, assert, er_errid(), ER_LC_UNKNOWN_CLASSNAME, ER_LK_UNILATERALLY_ABORTED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), ER_WARNING_SEVERITY, LC_CLASS, LC_CLASSNAME_DELETED, LC_CLASSNAME_ERROR, LC_CLASSNAME_EXIST, LC_FETCH_CURRENT_VERSION, locator_find_class_oid(), locator_lock(), NO_ERROR, NULL, sm_Root_class_mop, tran_abort_only_client(), WS_IS_DELETED, and ws_mop().
Referenced by locator_find_class_by_name().
Definition at line 3167 of file locator_cl.c.
References LC_CLASS, LC_CLASSNAME_EXIST, locator_fetch_mode_to_lock(), locator_find_class_by_name(), NULL, SCH_M_LOCK, and SCH_S_LOCK.
Referenced by sm_find_class_with_purpose().
Definition at line 5278 of file locator_cl.c.
References ASSERT_ERROR_AND_SET, DB_FETCH_READ, ER_FAILED, locator_fetch_class(), locator_is_root(), locator_mflush(), locator_mflush_end(), locator_mflush_force(), locator_mflush_initialize(), MANY_MFLUSHES, locator_mflush_cache::mobjs, db_objlist::next, NO_ERROR, NULL, lc_copyarea_manyobjs::num_objs, locator_mflush_temp_oid::obj, db_object::object, db_objlist::op, sm_class::partition, sm_ch_heap(), sm_class::users, vid_flush_all_instances(), ws_disconnect_deleted_instances(), WS_ISVID, ws_map_class(), ws_map_class_dirty(), and WS_MAP_FAIL.
Referenced by compactdb_start(), do_check_for_empty_classes_in_delete(), do_reclaim_class_addresses(), install_new_representation(), locator_fun_get_all_mops(), process_class(), sm_delete_class_mop(), sm_exist_index(), sm_flush_and_decache_objects_internal(), sm_force_write_all_classes(), sm_update_statistics(), and ws_intern_instances().
int locator_flush_class | ( | MOP | class_mop | ) |
Definition at line 5068 of file locator_cl.c.
References ARG_FILE_LINE, DONT_DECACHE, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, ER_OBJ_INVALID_ARGUMENTS, er_set(), locator_mflush(), locator_mflush_end(), locator_mflush_force(), locator_mflush_initialize(), locator_mflush_cache::mobjs, NO_ERROR, NULL, lc_copyarea_manyobjs::num_objs, ONE_MFLUSH, ws_find(), WS_FIND_MOP_DELETED, WS_ISDIRTY, WS_MAP_CONTINUE, ws_map_dirty(), WS_MAP_FAIL, and WS_MAP_SUCCESS.
Referenced by allocate_disk_structures(), au_change_owner(), do_alter_change_col_comment(), do_alter_change_default_cs_coll(), do_alter_change_tbl_comment(), do_alter_clause_change_attribute(), do_create_entity(), do_create_partition(), do_prepare_update(), ldr_finish_context(), locator_add_class(), locator_add_root(), locator_check_object_and_get_class(), locator_create_heap_if_needed(), locator_lockhint_classes(), locator_remove_class(), obt_apply_assignments(), pt_set_class_chn(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_merge_update_xasl(), pt_to_update_xasl(), sm_drop_index(), sm_exist_index(), sm_flush_and_decache_objects_internal(), sm_get_class_with_statistics(), sm_truncate_using_delete(), sm_update_all_statistics(), and sm_update_statistics().
int locator_flush_for_multi_update | ( | MOP | class_mop | ) |
Definition at line 5401 of file locator_cl.c.
References DB_FETCH_READ, END_MULTI_UPDATE, ER_FAILED, error(), IS_MULTI_UPDATE, locator_fetch_class(), locator_manyobj_flag_set(), locator_mflush(), locator_mflush_end(), locator_mflush_force(), locator_mflush_initialize(), MANY_MFLUSHES, locator_mflush_cache::mobjs, NO_ERROR, NULL, sm_ch_heap(), START_MULTI_UPDATE, ws_map_class_dirty(), WS_MAP_FAIL, and WS_MAP_SUCCESS.
Referenced by sm_flush_for_multi_update().
int locator_flush_instance | ( | MOP | mop | ) |
Definition at line 5236 of file locator_cl.c.
References DECACHE, DONT_DECACHE, and locator_internal_flush_instance().
Referenced by delete_list_by_oids(), do_alter_trigger(), do_change_auto_increment_serial(), do_reset_auto_increment_serial(), jsp_add_stored_procedure(), jsp_add_stored_procedure_argument(), locator_lock_nested(), obt_apply_assignments(), tr_drop_trigger_internal(), tr_rename_trigger(), update_object_tuple(), and ws_identifier_with_check().
int locator_flush_replication_info | ( | REPL_INFO * | repl_info | ) |
Definition at line 6869 of file locator_cl.c.
References repl_set_info().
Referenced by do_replicate_statement().
void locator_free_list_mops | ( | LIST_MOPS * | mops | ) |
Definition at line 2978 of file locator_cl.c.
References free_and_init, i, list_mops::mops, NULL, and list_mops::num.
Referenced by compactdb_start(), db_get_all_chosen_classes(), do_reclaim_class_addresses(), locator_fun_get_all_mops(), locator_save_nested_mops(), sm_fetch_all_base_classes(), sm_fetch_all_classes(), sm_fetch_all_objects_internal(), sm_force_write_all_classes(), sm_mark_system_classes(), smt_change_query_spec(), and unloaddb().
|
static |
Definition at line 2645 of file locator_cl.c.
References ARG_FILE_LINE, assert, DONT_DECACHE, er_errid(), ER_ERROR_SEVERITY, ER_LK_UNILATERALLY_ABORTED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), vfid::fileid, locator_list_keep_mops::fun, IS_LOCK, IX_LOCK, LC_CLASS, LC_FETCH_CURRENT_VERSION, LC_FETCH_DIRTY_VERSION, LC_FETCH_MVCC_VERSION, locator_list_keep_mops::list, locator_cache(), locator_fetch_all(), locator_fetch_class(), locator_fetch_mode_to_lock(), locator_flush_all_instances(), locator_free_copy_area(), locator_free_list_mops(), locator_is_root(), locator_keep_mops(), locator_lock_set(), locator_to_prefetched_lock(), locator_list_keep_mops::lock, lock_Conv, list_mops::mops, NA_LOCK, NO_ERROR, NULL, NULL_FILEID, NULL_LOCK, list_mops::num, OID_SET_NULL, S_LOCK, SIX_LOCK, sm_ch_heap(), TM_TRAN_ISOLATION, tran_abort_only_client(), TRAN_READ_COMMITTED, hfid::vfid, ws_get_lock(), and ws_oid().
Referenced by locator_get_all_class_mops(), and locator_get_all_mops().
LIST_MOPS* locator_get_all_class_mops | ( | DB_FETCH_MODE | purpose, |
int(*)(MOBJ class_obj) | fun | ||
) |
Definition at line 2861 of file locator_cl.c.
References locator_fun_get_all_mops(), NULL, and sm_Root_class_mop.
Referenced by db_get_all_chosen_classes(), and do_reclaim_class_addresses().
LIST_MOPS* locator_get_all_mops | ( | MOP | class_mop, |
DB_FETCH_MODE | purpose, | ||
LC_FETCH_VERSION_TYPE * | force_fetch_version_type | ||
) |
Definition at line 2839 of file locator_cl.c.
References locator_fun_get_all_mops(), and NULL.
Referenced by compactdb_start(), sm_fetch_all_base_classes(), sm_fetch_all_classes(), sm_fetch_all_objects_internal(), sm_force_write_all_classes(), sm_mark_system_classes(), smt_change_query_spec(), and unloaddb().
int locator_get_append_lsa | ( | struct log_lsa * | lsa | ) |
Definition at line 6882 of file locator_cl.c.
References repl_log_get_append_lsa().
Referenced by extract_objects().
int locator_get_cache_coherency_number | ( | MOP | mop | ) |
Definition at line 2171 of file locator_cl.c.
References DB_FETCH_READ, LC_CLASS, LC_FETCH_CURRENT_VERSION, LC_INSTANCE, LC_OBJECT, locator_fetch_mode_to_lock(), locator_is_root(), locator_lock(), NO_ERROR, NULL, NULL_CHN, TM_TRAN_READ_FETCH_VERSION, ws_chn(), ws_class_mop(), ws_find(), and WS_FIND_MOP_DELETED.
Referenced by db_chn(), pt_has_modified_class_helper(), and pt_set_class_chn().
|
static |
Definition at line 1333 of file locator_cl.c.
References ARG_FILE_LINE, ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), free_and_init, i, locator_cache(), locator_fetch_lockset(), locator_free_copy_area(), MAX_FETCH_SIZE, NO_ERROR, NULL, lc_lock_set::num_classes_of_reqobjs, lc_lock_set::num_classes_of_reqobjs_processed, lc_lock_set::num_reqobjs, and lc_lock_set::num_reqobjs_processed.
Referenced by locator_lock_nested(), and locator_lock_set().
Definition at line 5761 of file locator_cl.c.
References locator_create_heap_if_needed().
Referenced by boot_define_attribute(), boot_define_charsets(), boot_define_class(), boot_define_class_authorization(), boot_define_collations(), boot_define_data_type(), boot_define_domain(), boot_define_dual(), boot_define_ha_apply_info(), boot_define_index(), boot_define_index_key(), boot_define_meth_argument(), boot_define_meth_file(), boot_define_meth_sig(), boot_define_method(), boot_define_partition(), boot_define_query_spec(), boot_define_serial(), boot_define_stored_procedure(), and boot_define_stored_procedure_arguments().
|
static |
Definition at line 5841 of file locator_cl.c.
References ws_decache(), and WS_MAP_CONTINUE.
Referenced by locator_remove_class().
Definition at line 5135 of file locator_cl.c.
References ARG_FILE_LINE, CHN_UNKNOWN_ATCLIENT, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_log_debug, ER_OBJ_INVALID_ARGUMENTS, er_set(), locator_mflush(), locator_mflush_end(), locator_mflush_force(), locator_mflush_initialize(), locator_mflush_cache::mobjs, NO_ERROR, NULL, lc_copyarea_manyobjs::num_objs, ONE_MFLUSH, WS_CHN, ws_decache(), ws_find(), WS_FIND_MOP_DELETED, WS_ISDIRTY, WS_MAP_CONTINUE, ws_map_dirty(), WS_MAP_FAIL, and WS_MAP_SUCCESS.
Referenced by locator_flush_instance().
int locator_is_class | ( | MOP | mop, |
DB_FETCH_MODE | hint_purpose | ||
) |
Definition at line 239 of file locator_cl.c.
References er_errid(), er_stack_pop(), er_stack_pop_and_keep_error(), er_stack_push(), error(), locator_fetch_object(), locator_is_root(), NO_ERROR, NULL, locator_mflush_temp_oid::obj, TM_TRAN_READ_FETCH_VERSION, ws_class_mop(), and WS_ISVID.
Referenced by assign_set_value(), db_instance_equal(), db_is_any_class(), db_is_class(), db_is_real_instance(), db_is_updatable_attribute(), db_is_updatable_object(), db_is_vclass(), do_reclaim_class_addresses(), fetch_class(), find_attribute(), get_set_value(), help_describe_mop(), help_print_obj(), object_description::init(), class_description::init(), obj_copy(), obj_delete(), obj_find_object_by_pkey(), obj_isinstance(), obj_locate_attribute(), obj_lock(), obj_set_att(), obt_def_object(), obt_edit_object(), pt_flush_classes(), pt_spec_to_xasl_class_oid_list(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), sm_delete_class_mop(), sm_fetch_all_objects_internal(), sm_flush_and_decache_objects(), sm_get_attribute_descriptor(), sm_get_ch_heap(), sm_get_class(), sm_get_class_flag(), sm_get_class_repid(), sm_get_class_with_statistics(), sm_get_method_descriptor(), sm_get_statistics_force(), sm_is_partitioned_class(), sm_object_size_quick(), sm_update_statistics(), smt_copy_class_mop(), smt_edit_class_mop(), and ws_identifier_with_check().
Definition at line 212 of file locator_cl.c.
References sm_Root_class_mop, and ws_mop_compare().
Referenced by au_fetch_class_internal(), help_print_obj(), class_description::init(), locator_assign_permanent_oid(), locator_cache_lock_set(), locator_cache_not_have_object(), locator_does_exist_object(), locator_fetch_class(), locator_fetch_instance(), locator_fetch_nested(), locator_fetch_object(), locator_flush_all_instances(), locator_fun_get_all_mops(), locator_get_cache_coherency_number(), locator_is_class(), locator_mflush(), locator_save_nested_mops(), sm_decache_instances_after_query_executed_with_commit(), and sm_is_partitioned_class().
Definition at line 2598 of file locator_cl.c.
References assert, locator_list_keep_mops::fun, locator_list_keep_mops::list, locator_list_keep_mops::lock, lock_Conv, list_mops::mops, NA_LOCK, NULL, NULL_LOCK, list_mops::num, ws_get_lock(), and ws_set_lock().
Referenced by locator_fun_get_all_mops().
|
static |
Definition at line 596 of file locator_cl.c.
References ARG_FILE_LINE, assert, locator_cache_lock::class_lock, locator_cache_lock::class_oid, do_Trigger_involved, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_HEAP_UNKNOWN_CLASS_OF_INSTANCE, ER_HEAP_UNKNOWN_OBJECT, ER_LK_UNILATERALLY_ABORTED, er_log_debug, er_set(), ER_WARNING_SEVERITY, error(), locator_cache_lock::fetch_version_type, locator_cache_lock::implicit_lock, IS_LOCK, locator_cache_lock::isolation, IX_LOCK, LC_CLASS, LC_FETCH_CURRENT_VERSION, LC_FETCH_CURRENT_VERSION_NO_CHECK, LC_FETCH_DIRTY_VERSION, LC_INSTANCE, locator_cache(), locator_cache_lock(), locator_can_skip_fetch_from_server(), locator_fetch(), locator_free_copy_area(), locator_to_prefetched_lock(), locator_cache_lock::lock, lock_Conv, NA_LOCK, NO_ERROR, NULL, NULL_CHN, NULL_LOCK, locator_cache_lock::oid, db_identifier::pageid, S_LOCK, SIX_LOCK, db_identifier::slotid, sm_is_reuse_oid_class(), TM_TRAN_ISOLATION, TM_TRAN_READ_FETCH_VERSION, tran_abort_only_client(), TRAN_READ_COMMITTED, db_identifier::volid, ws_chn(), ws_class_mop(), ws_decache(), ws_find(), WS_FIND_MOP_DELETED, ws_get_lock(), WS_IS_DELETED, WS_ISVID, ws_oid(), WS_SET_DELETED, and X_LOCK.
Referenced by locator_add_class(), locator_fetch_class(), locator_fetch_instance(), locator_fetch_object(), locator_find_class_by_name(), locator_find_class_by_oid(), locator_get_cache_coherency_number(), and locator_lock_set().
|
static |
Definition at line 1841 of file locator_cl.c.
References assert, ASSERT_ERROR, locator_cache_lock::class_lock, locator_cache_lock::class_oid, db_real_instance(), er_errid(), ER_LK_UNILATERALLY_ABORTED, locator_cache_lock::fetch_version_type, locator_cache_lock::implicit_lock, IS_LOCK, locator_cache_lock::isolation, IX_LOCK, LC_CLASS, LC_DOESNOT_EXIST, LC_ERROR, LC_EXIST, LC_FETCH_DIRTY_VERSION, locator_cache(), locator_cache_lock(), locator_can_skip_fetch_from_server(), locator_does_exist(), locator_free_copy_area(), locator_to_prefetched_lock(), locator_cache_lock::lock, lock_Conv, NA_LOCK, NO_ERROR, NULL, NULL_CHN, NULL_LOCK, locator_cache_lock::oid, S_LOCK, sm_is_reuse_oid_class(), TM_TRAN_ISOLATION, TM_TRAN_READ_FETCH_VERSION, tran_abort_only_client(), ws_chn(), ws_class_mop(), ws_find(), WS_FIND_MOP_DELETED, ws_get_lock(), WS_IS_DELETED, WS_ISVID, ws_oid(), and ws_set_lock().
Referenced by locator_does_exist_object().
Definition at line 1681 of file locator_cl.c.
References ARG_FILE_LINE, assert, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_HEAP_UNKNOWN_CLASS_OF_INSTANCE, ER_LK_UNILATERALLY_ABORTED, er_log_debug, er_set(), locator_cache(), locator_free_copy_area(), locator_get_class(), lock_Conv, NA_LOCK, NO_ERROR, NULL, NULL_CHN, NULL_LOCK, OID_ISTEMP, OID_SET_NULL, db_identifier::pageid, db_identifier::slotid, sm_Root_class_mop, tran_abort_only_client(), db_identifier::volid, ws_chn(), ws_class_mop(), ws_find(), WS_FIND_MOP_DELETED, ws_get_lock(), WS_ISVID, ws_mop(), ws_oid(), ws_set_class(), and ws_set_lock().
Referenced by locator_fetch_class_of_instance().
|
static |
Definition at line 1428 of file locator_cl.c.
References ARG_FILE_LINE, assert, lc_lock_set::classes, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_HEAP_UNKNOWN_CLASS_OF_INSTANCE, ER_HEAP_UNKNOWN_OBJECT, ER_LC_LOCK_CACHE_ERROR, er_log_debug, er_set(), i, locator_cache(), locator_cache_lock_set(), locator_fetch_all_reference_lockset(), locator_flush_instance(), locator_free_copy_area(), locator_free_lockset(), locator_get_rest_objects_classes(), locator_set_chn_classes_objects(), lock_Conv, NA_LOCK, NO_ERROR, NULL, NULL_CHN, NULL_LOCK, lc_lock_set::num_classes_of_reqobjs, lc_lock_set::num_classes_of_reqobjs_processed, lc_lock_set::num_reqobjs, lc_lock_set::num_reqobjs_processed, lc_lock_set::objects, lc_lockset_reqobj::oid, lc_lockset_classof::oid, OID_ISNULL, OID_ISTEMP, db_identifier::pageid, db_identifier::slotid, sm_is_reuse_oid_class(), sm_Root_class_mop, db_identifier::volid, ws_chn(), ws_class_mop(), ws_find(), WS_FIND_MOP_DELETED, ws_get_lock(), WS_ISDIRTY, WS_ISVID, ws_mop(), WS_MOP_GET_COMPOSITION_FETCH, WS_MOP_GET_PRUNE_LEVEL, WS_MOP_SET_COMPOSITION_FETCH, WS_MOP_SET_PRUNE_LEVEL, and ws_oid().
Referenced by locator_fetch_nested(), and locator_save_nested_mops().
|
static |
Definition at line 868 of file locator_cl.c.
References ARG_FILE_LINE, assert, lc_lockset_reqobj::chn, lc_lockset_classof::chn, lc_lockset_reqobj::class_index, lc_lock_set::classes, COPY_OID, db_real_instance(), er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_HEAP_UNKNOWN_CLASS_OF_INSTANCE, ER_HEAP_UNKNOWN_OBJECT, ER_LC_LOCK_CACHE_ERROR, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), ER_WARNING_SEVERITY, error(), i, LC_INSTANCE, locator_allocate_lockset(), locator_cache_lock_set(), locator_can_skip_fetch_from_server(), locator_free_lockset(), locator_get_rest_objects_classes(), locator_lock(), lock_Conv, mht_create(), mht_destroy(), mht_get(), mht_put(), locator_mflush_temp_oid::mop, NA_LOCK, NO_ERROR, NULL, NULL_CHN, NULL_LOCK, lc_lock_set::num_classes_of_reqobjs, lc_lock_set::num_reqobjs, lc_lock_set::objects, lc_lockset_reqobj::oid, lc_lockset_classof::oid, oid_compare_equals(), OID_EQ, oid_hash(), OID_ISNULL, db_identifier::pageid, S_LOCK, db_identifier::slotid, sm_is_reuse_oid_class(), sm_Root_class_mop, TM_TRAN_READ_FETCH_VERSION, db_identifier::volid, ws_chn(), ws_class_mop(), ws_find(), WS_FIND_MOP_DELETED, ws_get_lock(), WS_IS_DELETED, WS_ISVID, ws_mop(), ws_oid(), and ws_set_lock().
Referenced by locator_fetch_set(), locator_fun_get_all_mops(), and locator_update_instance().
LC_FIND_CLASSNAME locator_lockhint_classes | ( | int | num_classes, |
const char ** | many_classnames, | ||
LOCK * | many_locks, | ||
int * | need_subclasses, | ||
LC_PREFETCH_FLAGS * | flags, | ||
int | quit_on_errors, | ||
LOCK | lock_rr_tran | ||
) |
Definition at line 6260 of file locator_cl.c.
References ARG_FILE_LINE, assert, lc_lockhint_class::chn, lc_lock_hint::classes, COPY_OID, er_errid(), ER_ERROR_SEVERITY, ER_LK_UNILATERALLY_ABORTED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, i, LC_CLASSNAME_ERROR, LC_CLASSNAME_EXIST, LC_PREF_FLAG_COUNT_OPTIM, locator_cache(), locator_cache_lock_lockhint_classes(), locator_fetch_lockhint_classes(), locator_find_lockhint_class_oids(), locator_flush_class(), locator_free_copy_area(), locator_free_lockhint(), lock_Conv, MAX_FETCH_SIZE, NA_LOCK, NO_ERROR, NULL, NULL_CHN, NULL_LOCK, lc_lock_hint::num_classes, lc_lock_hint::num_classes_processed, lc_lockhint_class::oid, OID_ISNULL, OID_ISTEMP, OID_SET_NULL, sm_Root_class_mop, tran_abort_only_client(), WS_CHN, ws_chn(), ws_find(), ws_find_class(), WS_FIND_MOP_DELETED, ws_get_lock(), WS_ISDIRTY, ws_mop(), and ws_oid().
Referenced by do_check_for_empty_classes_in_delete(), ldr_find_class(), lockhint_subclasses(), and pt_class_pre_fetch().
|
static |
Definition at line 4395 of file locator_cl.c.
References locator_mflush_cache::class_mop, locator_mflush_cache::class_obj, locator_mflush_cache::copy_area, DB_PAGESIZE, ER_FAILED, locator_mflush_cache::isone_mflush, recdes::length, lc_copy_area::length, locator_mflush_force(), locator_mflush_reallocate_copy_area(), locator_mflush_cache::mobjs, NO_ERROR, lc_copyarea_manyobjs::num_objs, locator_mflush_cache::recdes, TF_ERROR, tf_mem_to_disk(), TF_SUCCESS, WS_MAP_FAIL, and WS_MAP_STOP.
Referenced by locator_mflush().
|
static |
Definition at line 4507 of file locator_cl.c.
References recdes::area_size, ARG_FILE_LINE, assert, CAST_BUFLEN, locator_mflush_cache::class_mop, locator_mflush_cache::class_obj, lc_copyarea_oneobj::class_oid, class_type(), locator_mflush_cache::copy_area, COPY_OID, recdes::data, DB_FETCH_CLREAD_INSTWRITE, DB_NOT_PARTITIONED_CLASS, DB_PARTITIONED_CLASS, DB_WASTED_ALIGN, locator_mflush_cache::decache, ER_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_HEAP_UNKNOWN_CLASS_OF_INSTANCE, ER_LC_NOHEAP, er_log_debug, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), lc_copyarea_oneobj::flag, locator_mflush_cache::hfid, lc_copyarea_oneobj::hfid, HFID_COPY, HFID_IS_NULL, IX_LOCK, LC_FLUSH_DELETE, LC_FLUSH_INSERT, LC_FLUSH_INSERT_PRUNE, LC_FLUSH_UPDATE, LC_FLUSH_UPDATE_PRUNE, LC_FLUSH_UPDATE_PRUNE_VERIFY, LC_INSERT_OPERATION_TYPE, LC_IS_FLUSH_INSERT, LC_NEXT_ONEOBJ_PTR_IN_COPYAREA, LC_ONEOBJ_SET_HAS_INDEX, LC_ONEOBJ_SET_HAS_UNIQUE_INDEX, LC_UPDATE_OPERATION_TYPE, recdes::length, lc_copyarea_oneobj::length, locator_class_to_disk(), locator_fetch_class(), locator_is_root(), locator_mem_to_disk(), locator_mflush_force(), db_object::lock, MAX_ALIGNMENT, lc_copy_area::mem, locator_mflush_cache::mobjs, locator_mflush_temp_oid::mop, locator_mflush_cache::mop_tail_toid, locator_mflush_cache::mop_tail_uoid, locator_mflush_cache::mop_toids, locator_mflush_cache::mop_uoids, locator_mflush_temp_oid::next, NO_ERROR, NULL, lc_copyarea_manyobjs::num_objs, locator_mflush_temp_oid::obj, locator_mflush_cache::obj, db_object::object, lc_copyarea_oneobj::offset, lc_copyarea_oneobj::oid, OID_ISNULL, OID_ISTEMP, lc_copyarea_oneobj::operation, OR_MVCC_INSERT_HEADER_SIZE, OR_MVCC_MAX_HEADER_SIZE, db_identifier::pageid, db_object::pruning_type, locator_mflush_cache::recdes, db_identifier::slotid, sm_ch_heap(), sm_class_has_unique_constraint(), sm_decache_mop(), sm_has_indexes(), sm_partitioned_class_type(), sm_Root_class_hfid, sm_Root_class_mop, vid_flush_instance(), db_identifier::volid, ws_class_mop(), ws_clean(), ws_decache(), ws_find(), WS_FIND_MOP_DELETED, WS_IS_DELETED, ws_is_same_object(), WS_ISDIRTY, WS_ISPINNED, WS_ISVID, WS_MAP_CONTINUE, WS_MAP_FAIL, and ws_oid().
Referenced by locator_all_flush(), locator_flush_all_instances(), locator_flush_class(), locator_flush_for_multi_update(), and locator_internal_flush_instance().
|
static |
Definition at line 3896 of file locator_cl.c.
References recdes::area_size, assert, locator_mflush_cache::copy_area, recdes::data, free_and_init, lc_copy_area::length, locator_free_copy_area(), lc_copy_area::mem, locator_mflush_cache::mobjs, locator_mflush_cache::mop_toids, locator_mflush_cache::mop_uoids, locator_mflush_temp_oid::next, NULL, lc_copyarea_manyobjs::num_objs, and locator_mflush_cache::recdes.
Referenced by locator_all_flush(), locator_flush_all_instances(), locator_flush_class(), locator_flush_for_multi_update(), locator_internal_flush_instance(), and locator_repl_flush_all().
|
static |
Definition at line 4067 of file locator_cl.c.
References assert, AU_DISABLE, AU_ENABLE, au_fetch_class(), AU_FETCH_READ, AU_SELECT, BOOT_IS_CLIENT_RESTARTED, CAST_BUFLEN, db_object::class_mop, lc_copyarea_oneobj::class_oid, locator_mflush_cache::copy_area, COPY_OID, recdes::data, ER_LC_PARTIALLY_FAILED_TO_FLUSH, ER_LK_UNILATERALLY_ABORTED, free_and_init, i, LC_FETCH, LC_FETCH_DELETED, LC_FIND_ONEOBJ_PTR_IN_COPYAREA, LC_FLUSH_DELETE, LC_FLUSH_UPDATE, LC_FLUSH_UPDATE_PRUNE, locator_cache(), locator_force(), locator_mflush_reset(), locator_mflush_set_dirty(), lc_copy_area::mem, locator_mflush_cache::mobjs, locator_mflush_temp_oid::mop, locator_mflush_cache::mop_toids, locator_mflush_cache::mop_uoids, locator_mflush_temp_oid::next, NO_ERROR, NULL, lc_copyarea_manyobjs::num_objs, locator_mflush_temp_oid::obj, lc_copyarea_oneobj::oid, OID_EQ, OID_IS_ROOTOID, OID_ISNULL, OID_ISTEMP, lc_copyarea_oneobj::operation, locator_mflush_cache::recdes, sm_Root_class_mop, ws_Error_ignore_count, ws_Error_ignore_list, ws_mop(), WS_OID, ws_oid(), and ws_update_oid_and_class().
Referenced by locator_all_flush(), locator_class_to_disk(), locator_flush_all_instances(), locator_flush_class(), locator_flush_for_multi_update(), locator_internal_flush_instance(), locator_mem_to_disk(), and locator_mflush().
|
static |
Definition at line 3799 of file locator_cl.c.
References assert, locator_mflush_cache::class_mop, locator_mflush_cache::class_obj, locator_mflush_cache::copy_area, DB_PAGESIZE, locator_mflush_cache::decache, locator_mflush_cache::hfid, locator_mflush_cache::isone_mflush, locator_mflush_reallocate_copy_area(), NO_ERROR, and NULL.
Referenced by locator_all_flush(), locator_flush_all_instances(), locator_flush_class(), locator_flush_for_multi_update(), locator_internal_flush_instance(), and locator_repl_flush_all().
|
static |
Definition at line 3858 of file locator_cl.c.
References assert, locator_mflush_cache::copy_area, ER_OUT_OF_VIRTUAL_MEMORY, 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_mflush_cache::mobjs, locator_mflush_cache::mop_tail_toid, locator_mflush_cache::mop_tail_uoid, locator_mflush_cache::mop_toids, locator_mflush_cache::mop_uoids, lc_copyarea_manyobjs::multi_update_flags, NO_ERROR, NULL, lc_copyarea_manyobjs::num_objs, locator_mflush_cache::obj, and locator_mflush_cache::recdes.
Referenced by locator_class_to_disk(), locator_mem_to_disk(), locator_mflush_initialize(), and locator_repl_mflush().
|
static |
Definition at line 3834 of file locator_cl.c.
References assert, locator_mflush_cache::copy_area, LC_RECDES_IN_COPYAREA, LC_START_ONEOBJ_PTR_IN_COPYAREA, locator_mflush_cache::mobjs, locator_mflush_cache::mop_tail_toid, locator_mflush_cache::mop_tail_uoid, locator_mflush_cache::mop_toids, locator_mflush_cache::mop_uoids, NULL, lc_copyarea_manyobjs::num_objs, locator_mflush_cache::obj, and locator_mflush_cache::recdes.
Referenced by locator_mflush_force(), and locator_repl_mflush_force().
Definition at line 3977 of file locator_cl.c.
References ws_dirty().
Referenced by locator_mflush_force().
MOBJ locator_prepare_rename_class | ( | MOP | class_mop, |
const char * | old_classname, | ||
const char * | new_classname | ||
) |
Definition at line 5975 of file locator_cl.c.
References ARG_FILE_LINE, DB_FETCH_WRITE, ER_ERROR_SEVERITY, ER_LC_CLASSNAME_EXIST, er_set(), LC_CLASSNAME_EXIST, LC_CLASSNAME_RESERVED_RENAME, locator_fetch_class(), locator_rename_class_name(), NULL, NULL_LOCK, ws_add_classname(), ws_dirty(), ws_drop_classname(), ws_find_class(), ws_get_lock(), WS_IS_DELETED, and ws_oid().
Referenced by sm_rename_class().
int locator_remove_class | ( | MOP | class_mop | ) |
Definition at line 5858 of file locator_cl.c.
References BOOT_IS_CLIENT_RESTARTED, DB_FETCH_WRITE, ER_FAILED, error(), vfid::fileid, heap_destroy_newly_created(), LC_CLASSNAME_DELETED, locator_delete_class_name(), locator_fetch_class(), locator_flush_class(), locator_instance_decache(), NO_ERROR, NULL, NULL_FILEID, vid_oid::oid, db_object::oid_info, sm_ch_heap(), sm_ch_name(), hfid::vfid, ws_dirty(), ws_map_class(), and ws_mark_deleted().
Referenced by sm_delete_class_mop().
void locator_remove_instance | ( | MOP | mop | ) |
Definition at line 5916 of file locator_cl.c.
References ws_mark_deleted().
Referenced by obj_delete().
int locator_repl_flush_all | ( | void | ) |
Definition at line 5500 of file locator_cl.c.
References DONT_DECACHE, ER_LC_PARTIALLY_FAILED_TO_FLUSH, error(), locator_mflush_end(), locator_mflush_initialize(), locator_repl_mflush(), locator_repl_mflush_force(), MANY_MFLUSHES, NO_ERROR, and NULL.
Referenced by la_flush_repl_items().
|
static |
Definition at line 4952 of file locator_cl.c.
References recdes::area_size, assert, CAST_BUFLEN, ws_repl_obj::class_oid, lc_copyarea_oneobj::class_oid, locator_mflush_cache::copy_area, COPY_OID, recdes::data, DB_SIZEOF, DB_WASTED_ALIGN, ER_LC_PARTIALLY_FAILED_TO_FLUSH, error(), ws_repl_obj::has_index, lc_copyarea_oneobj::hfid, HFID_SET_NULL, if(), INT_ALIGNMENT, LC_FLUSH_DELETE, LC_NEXT_ONEOBJ_PTR_IN_COPYAREA, LC_ONEOBJ_SET_HAS_INDEX, recdes::length, lc_copyarea_oneobj::length, locator_mflush_reallocate_copy_area(), locator_repl_mflush_force(), MAX_ALIGNMENT, lc_copy_area::mem, locator_mflush_cache::mobjs, NO_ERROR, NULL, lc_copyarea_manyobjs::num_objs, locator_mflush_cache::obj, lc_copyarea_oneobj::offset, lc_copyarea_oneobj::oid, OID_SET_NULL, ws_repl_obj::operation, lc_copyarea_oneobj::operation, ws_repl_obj::packed_pkey_value, ws_repl_obj::packed_pkey_value_length, PTR_ALIGN, locator_mflush_cache::recdes, ws_repl_obj::recdes, ws_free_repl_obj(), and ws_get_repl_obj_from_list().
Referenced by locator_repl_flush_all().
|
static |
Definition at line 4037 of file locator_cl.c.
References i, LC_FIND_ONEOBJ_PTR_IN_COPYAREA, LC_MANYOBJS_PTR_IN_COPYAREA, lc_copy_area::mem, lc_copyarea_manyobjs::num_objs, locator_mflush_temp_oid::obj, lc_copyarea_oneobj::offset, and ws_set_repl_error_into_error_link().
Referenced by locator_repl_mflush_force().
|
static |
Definition at line 3992 of file locator_cl.c.
References assert, BOOT_IS_CLIENT_RESTARTED, locator_mflush_cache::copy_area, ER_LC_PARTIALLY_FAILED_TO_FLUSH, ER_LK_UNILATERALLY_ABORTED, locator_free_copy_area(), locator_mflush_reset(), locator_repl_force(), locator_repl_mflush_check_error(), locator_mflush_cache::mobjs, NO_ERROR, NULL, and lc_copyarea_manyobjs::num_objs.
Referenced by locator_repl_flush_all(), and locator_repl_mflush().
LC_FIND_CLASSNAME locator_reserve_class_name | ( | const char * | class_name, |
OID * | class_oid | ||
) |
Definition at line 179 of file locator_cl.c.
References locator_reserve_class_names().
Referenced by db_create_class(), db_create_vclass(), dbt_reserve_name(), and locator_add_root().
|
static |
Definition at line 2878 of file locator_cl.c.
References ARG_FILE_LINE, ER_ERROR_SEVERITY, er_log_debug, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), i, LC_INSTANCE, locator_list_nested_mops::list, locator_fetch_mode_to_lock(), locator_free_list_mops(), locator_is_root(), locator_lock_nested(), list_mops::mops, NO_ERROR, NULL, list_mops::num, lc_lock_set::num_reqobjs, lc_lock_set::objects, lc_lockset_reqobj::oid, OID_ISNULL, db_identifier::pageid, db_identifier::slotid, db_identifier::volid, ws_class_mop(), ws_mop(), and ws_oid().
|
static |
Definition at line 1271 of file locator_cl.c.
References lc_lockset_reqobj::chn, lc_lockset_classof::chn, lc_lockset_reqobj::class_index, lc_lock_set::classes, i, NO_ERROR, NULL, lc_lock_set::num_classes_of_reqobjs, lc_lock_set::num_reqobjs, lc_lock_set::objects, lc_lockset_reqobj::oid, lc_lockset_classof::oid, OID_ISNULL, OID_SET_NULL, sm_Root_class_mop, ws_chn(), ws_find(), WS_FIND_MOP_DELETED, WS_IS_DELETED, and ws_mop().
Referenced by locator_lock_nested().
void locator_set_sig_interrupt | ( | int | set | ) |
Definition at line 193 of file locator_cl.c.
References lc_Is_siginterrupt, and log_set_interrupt().
Referenced by db_set_interrupt().
void locator_synch_isolation_incons | ( | void | ) |
Definition at line 6171 of file locator_cl.c.
References locator_cache(), locator_free_copy_area(), locator_notify_isolation_incons(), NULL, TM_TRAN_ISOLATION, TRAN_REPEATABLE_READ, and TRAN_SERIALIZABLE.
Referenced by db_synchronize_cache().
Definition at line 387 of file locator_cl.c.
References IS_WRITE_EXCLUSIVE_LOCK, NULL_LOCK, S_LOCK, SIX_LOCK, and X_LOCK.
Referenced by locator_cache_lock_set(), locator_fun_get_all_mops(), locator_lock(), and locator_lock_and_doesexist().
Definition at line 5938 of file locator_cl.c.
References DB_FETCH_WRITE, locator_fetch_class(), NULL, and ws_dirty().
Referenced by allocate_disk_structures(), fetch_class(), install_new_representation(), sm_drop_index(), and sm_exist_index().
Definition at line 6035 of file locator_cl.c.
References DB_FETCH_WRITE, LC_FETCH_MVCC_VERSION, locator_fetch_instance(), locator_lock_set(), locator_update_tree_classes(), NULL, SCH_M_LOCK, ws_dirty(), and X_LOCK.
Referenced by fetch_instance().
|
static |
Definition at line 114 of file locator_cl.c.
Referenced by locator_set_sig_interrupt().