CUBRID Engine  latest
oid.h File Reference
#include "storage_common.h"
#include "dbtype_def.h"
Include dependency graph for oid.h:

Go to the source code of this file.

Macros

#define ROOTCLASS_NAME   "Rootclass" /* Name of Rootclass */
 
#define VIRTUAL_CLASS_DIR_OID_MASK   (1 << 15)
 
#define OID_INITIALIZER   {NULL_PAGEID, NULL_SLOTID, NULL_VOLID}
 
#define OID_AS_ARGS(oidp)   (oidp)->volid, (oidp)->pageid, (oidp)->slotid
 
#define OID_TEMPID_MIN   INT_MIN
 
#define OID_INIT_TEMPID()   (oid_Next_tempid = NULL_PAGEID)
 
#define OID_NEXT_TEMPID()   ((--oid_Next_tempid <= OID_TEMPID_MIN) ? NULL_PAGEID : oid_Next_tempid)
 
#define OID_ASSIGN_TEMPOID(oidp)
 
#define SET_OID(dest_oid_ptr, vol_id, page_id, slot_id)
 
#define COPY_OID(dest_oid_ptr, src_oid_ptr)
 
#define SAFE_COPY_OID(dest_oid_ptr, src_oid_ptr)
 
#define OID_ISTEMP(oidp)   ((oidp)->pageid < NULL_PAGEID)
 
#define OID_ISNULL(oidp)   ((oidp)->pageid == NULL_PAGEID)
 
#define OID_IS_ROOTOID(oidp)   (OID_EQ((oidp), oid_Root_class_oid))
 
#define OID_IS_PSEUDO_OID(oidp)   ((oidp)->volid < NULL_VOLID)
 
#define OID_SET_NULL(oidp)
 
#define OID_EQ(oidp1, oidp2)
 
#define OID_GT(oidp1, oidp2)
 
#define OID_GTE(oidp1, oidp2)
 
#define OID_LT(oidp1, oidp2)
 
#define OID_LTE(oidp1, oidp2)
 
#define OID_PSEUDO_KEY(oidp)
 
#define OID_IS_VIRTUAL_CLASS_OF_DIR_OID(oidp)
 
#define OID_GET_VIRTUAL_CLASS_OF_DIR_OID(class_oidp, virtual_oidp)
 
#define OID_GET_REAL_CLASS_OF_DIR_OID(virtual_oidp, class_oidp)
 

Enumerations

enum  {
  OID_CACHE_ROOT_CLASS_ID = 0, OID_CACHE_CLASS_CLASS_ID, OID_CACHE_ATTRIBUTE_CLASS_ID, OID_CACHE_DOMAIN_CLASS_ID,
  OID_CACHE_METHOD_CLASS_ID, OID_CACHE_METHSIG_CLASS_ID, OID_CACHE_METHARG_CLASS_ID, OID_CACHE_METHFILE_CLASS_ID,
  OID_CACHE_QUERYSPEC_CLASS_ID, OID_CACHE_INDEX_CLASS_ID, OID_CACHE_INDEXKEY_CLASS_ID, OID_CACHE_DATATYPE_CLASS_ID,
  OID_CACHE_CLASSAUTH_CLASS_ID, OID_CACHE_PARTITION_CLASS_ID, OID_CACHE_STORED_PROC_CLASS_ID, OID_CACHE_STORED_PROC_ARGS_CLASS_ID,
  OID_CACHE_SERIAL_CLASS_ID, OID_CACHE_HA_APPLY_INFO_CLASS_ID, OID_CACHE_COLLATION_CLASS_ID, OID_CACHE_CHARSET_CLASS_ID,
  OID_CACHE_TRIGGER_CLASS_ID, OID_CACHE_USER_CLASS_ID, OID_CACHE_PASSWORD_CLASS_ID, OID_CACHE_AUTH_CLASS_ID,
  OID_CACHE_OLD_ROOT_CLASS_ID, OID_CACHE_DB_ROOT_CLASS_ID, OID_CACHE_SIZE
}
 

Functions

void oid_set_root (const OID *oid)
 
bool oid_is_root (const OID *oid)
 
void oid_set_serial (const OID *oid)
 
bool oid_is_serial (const OID *oid)
 
void oid_get_serial_oid (OID *oid)
 
void oid_set_partition (const OID *oid)
 
bool oid_is_partition (const OID *oid)
 
void oid_get_partition_oid (OID *oid)
 
bool oid_is_db_class (const OID *oid)
 
bool oid_is_db_attribute (const OID *oid)
 
int oid_compare (const void *oid1, const void *oid2)
 
unsigned int oid_hash (const void *key_oid, unsigned int htsize)
 
int oid_compare_equals (const void *key_oid1, const void *key_oid2)
 
bool oid_check_cached_class_oid (const int cache_id, const OID *oid)
 
void oid_set_cached_class_oid (const int cache_id, const OID *oid)
 
const char * oid_get_cached_class_name (const int cache_id)
 
bool oid_is_cached_class_oid (const OID *class_oid)
 
OIDoid_get_rep_read_tran_oid (void)
 
bool oid_is_system_class (const OID *class_oid)
 

Variables

const OID oid_Null_oid
 
OIDoid_Root_class_oid
 
OIDoid_Serial_class_oid
 
OIDoid_User_class_oid
 
PAGEID oid_Next_tempid
 

Macro Definition Documentation

#define COPY_OID (   dest_oid_ptr,
  src_oid_ptr 
)
Value:
do \
{ \
*(dest_oid_ptr) = *(src_oid_ptr); \
} \
while (0)
while(1)
Definition: cnvlex.c:816

Definition at line 63 of file oid.h.

Referenced by acquire_locks_for_multiple_rename(), allocate_index(), boot_compact_db(), boot_create_all_volumes(), btree_build_nleafs(), btree_check_foreign_key(), btree_construct_leafs(), btree_delete_internal(), btree_find_foreign_key(), btree_fix_root_for_delete(), btree_fix_root_for_insert(), btree_fk_object_does_exist(), btree_get_class_oid_of_unique_btid(), btree_glean_root_header_info(), btree_index_start_scan(), btree_insert_internal(), btree_key_find_and_lock_unique_of_non_unique(), btree_key_find_and_lock_unique_of_unique(), btree_key_find_first_visible_row(), btree_key_find_unique_version_oid(), btree_key_lock_and_append_object_unique(), btree_key_online_index_IB_insert_list(), btree_load_check_fk(), btree_online_index_list_dispatcher(), btree_or_get_object(), btree_or_put_object(), btree_prepare_bts(), btree_range_opt_check_add_index_key(), btree_replace_first_oid_with_ovfl_oid(), btree_rv_save_keyval_for_undo(), btree_rv_save_keyval_for_undo_two_objects(), catalog_get_rep_dir(), catalog_insert(), catcls_convert_class_oid_to_oid(), catcls_expand_or_value_by_def(), catcls_expand_or_value_by_repr(), catcls_expand_or_value_by_subset(), catcls_insert_instance(), catcls_replace_entry_oid(), collect_hier_class_info(), compactdb_start(), cursor_prefetch_column_oids(), cursor_prefetch_first_hidden_oid(), dbt_drop_attribute(), do_alter_clause_change_attribute(), do_change_att_schema_only(), do_coalesce_partition_post(), do_coalesce_partition_pre(), do_drop_partition_list(), do_promote_partition_list(), do_redistribute_partitions_data(), ehash_create_helper(), fh_read_page(), find_instance(), fpcache_retire(), heap_assign_address(), heap_create_delete_context(), heap_create_insert_context(), heap_create_update_context(), heap_fix_forward_page(), heap_get_class_oid_from_page(), heap_get_class_partitions(), heap_get_partitions_from_subclasses(), heap_get_record_info(), heap_hfid_table_entry_key_copy(), heap_insert_newhome(), heap_prefetch(), heap_prepare_get_context(), heap_reuse(), heap_rv_redo_reuse_page(), heap_rv_redo_reuse_page_reuse_oid(), heap_scancache_add_partition_node(), heap_update_bigone(), heap_update_home(), heap_update_relocation(), heap_vacuum_all_objects(), index_builder_loader_task::index_builder_loader_task(), ldr_assign_all_perm_oids(), locator_all_reference_lockset(), locator_attribute_info_force(), locator_check_foreign_key(), locator_check_unique_btree_entries(), locator_defence_drop_class_name_entry(), locator_does_exist(), locator_drop_class_name_entry(), locator_find_lockset_missing_class_oids(), locator_force_drop_class_name_entry(), locator_guess_sub_classes(), locator_initialize(), locator_insert_force(), locator_lock_set(), locator_lockhint_classes(), locator_mflush(), locator_mflush_force(), locator_move_record(), locator_notify_decache(), locator_permoid_class_name(), locator_repl_add_error_to_copyarea(), locator_repl_mflush(), locator_return_object_assign(), locator_update_force(), lock_add_composite_lock(), lock_classes_lock_hint(), lock_demote_class_lock(), lock_unlock_all_shared_get_all_exclusive(), lock_wait_state_to_string(), logtb_tran_create_class_cos(), oid_get_partition_oid(), oid_get_serial_oid(), oid_set_cached_class_oid(), oid_set_partition(), oid_set_serial(), or_get_hierarchy_helper(), parser_generate_do_stmt_xasl(), parser_generate_xasl(), partition_find_partition_for_record(), partition_find_root_class_oid(), partition_get_partition_oids(), partition_load_pruning_context(), partition_prune_insert(), partition_prune_unique_btid(), partition_prune_update(), partition_pruning_context_to_cache_entry(), process_class(), pruningset_to_spec_list(), pt_link_regu_to_selupd_list(), pt_set_domain_class(), pt_to_delete_xasl(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_merge_update_xasl(), pt_to_merge_xasl(), pt_to_update_xasl(), qexec_add_composite_lock(), qexec_execute_delete(), qexec_execute_insert(), qexec_execute_selupd_list(), qexec_execute_update(), qexec_init_next_partition(), qexec_next_scan_block(), qexec_oid_of_duplicate_key_update(), qexec_remove_duplicates_for_replace(), qexec_upddel_setup_current_class(), redistribute_partition_data(), scan_next_heap_scan(), scan_open_class_attr_scan(), scan_open_heap_page_scan(), scan_open_heap_scan(), scan_open_index_key_info_scan(), scan_open_index_scan(), sm_check_catalog_rep_dir(), sm_delete_class_mop(), sm_init(), sm_load_online_index(), tde_initialize(), unpack_domain(), vacuum_collect_heap_objects(), vacuum_heap_prepare_record(), vacuum_log_add_dropped_file(), vacuum_process_log_block(), ws_add_to_repl_obj_list(), ws_make_mop(), ws_update_oid(), xboot_register_client(), xbtree_add_index(), xbtree_find_multi_uniques(), xbtree_find_unique(), xbtree_load_index(), xbtree_load_online_index(), xlocator_delete_class_name(), xlocator_fetch_all(), xlocator_find_class_oid(), xlocator_find_lockhint_class_oids(), xlocator_get_reserved_class_name_oid(), xlocator_lock_and_fetch_all(), xlocator_reserve_class_name(), xlocator_upgrade_instances_domain(), and xserial_get_next_value_internal().

#define OID_ASSIGN_TEMPOID (   oidp)
Value:
((oidp)->volid = NULL_VOLID, \
(oidp)->pageid = OID_NEXT_TEMPID(), \
(oidp)->slotid = - tm_Tran_index)
int tm_Tran_index
#define NULL_VOLID
#define OID_NEXT_TEMPID()
Definition: oid.h:46

Definition at line 49 of file oid.h.

Referenced by locator_add_instance().

#define OID_EQ (   oidp1,
  oidp2 
)
Value:
((oidp1) == (oidp2) || ((oidp1)->pageid == (oidp2)->pageid && \
(oidp1)->slotid == (oidp2)->slotid && \
(oidp1)->volid == (oidp2)->volid))

Definition at line 92 of file oid.h.

Referenced by tx_transient_class_registry::add(), boot_compact_db(), btree_find_oid_from_leaf(), btree_find_oid_from_ovfl(), btree_fk_object_does_exist(), btree_insert_object_ordered_by_oid(), btree_key_find_and_lock_unique_of_non_unique(), btree_key_find_and_lock_unique_of_unique(), btree_key_remove_object_and_keep_visible_first(), btree_keyoid_checkscan_check(), btree_leaf_change_first_object(), btree_leaf_remove_object(), btree_or_put_object(), btree_record_satisfies_snapshot(), btree_replace_first_oid_with_ovfl_oid(), btree_rv_save_keyval_for_undo(), btree_rv_save_keyval_for_undo_two_objects(), btree_select_visible_object_for_range_scan(), btree_seq_find_oid_from_ovfl(), btree_write_record(), catalog_check_class_consistency(), catalog_update(), catcls_expand_or_value_by_subset(), catcls_insert_instance(), catcls_put_entry(), catcls_update_instance(), classobj_is_exist_foreign_key_ref(), classobj_is_pk_referred(), compare_driver(), find_oid(), fpcache_remove_by_class(), fpcache_retire(), tx_transient_class_registry::has_class(), heap_attrinfo_check(), heap_chkreloc_next(), heap_classrepr_decache_guessed_last(), heap_classrepr_dump(), heap_classrepr_free(), heap_classrepr_get(), heap_does_exist(), heap_find_location_and_insert_rec_newhome(), heap_get_record_location(), heap_hfid_table_entry_key_compare(), heap_insert_physical(), heap_is_object_not_null(), heap_prepare_get_context(), heap_scancache_reset_modify(), heap_scancache_start_modify(), heap_scanrange_next(), is_class(), locator_add_oid_set(), locator_all_reference_lockset(), locator_cache_lock(), locator_cache_lock_set(), locator_check_class_names(), locator_check_unique_btree_entries(), locator_find_lockset_missing_class_oids(), locator_force_for_multi_update(), locator_guess_sub_classes(), locator_insert_force(), locator_lock_set(), locator_mflush_force(), locator_notify_decache(), locator_update_force(), lock_add_composite_lock(), lock_demote_class_lock(), lock_get_class_lock(), lock_get_object_lock(), lock_has_lock_on_object(), lock_wait_state_to_string(), oid_check_cached_class_oid(), oid_compare_equals(), oid_is_cached_class_oid(), oid_is_db_attribute(), oid_is_db_class(), oid_is_partition(), oid_is_root(), oid_is_serial(), or_get_hierarchy_helper(), orp_ht_comparef(), parser_generate_xasl_proc(), partition_find_partition_for_record(), partition_get_scancache(), partition_prune_insert(), partition_prune_update(), partition_set_specified_partition(), process_value(), pt_link_regu_to_selupd_list(), qexec_execute_delete(), qexec_execute_duplicate_key_update(), qexec_execute_mainblock_internal(), qexec_execute_obj_fetch(), qexec_execute_selupd_list(), qexec_execute_selupd_list_find_class(), qexec_execute_update(), qexec_mvcc_cond_reev_set_scan_order(), qexec_oid_of_duplicate_key_update(), qexec_set_class_locks(), qexec_upddel_mvcc_set_filters(), qexec_upddel_setup_current_class(), qmgr_is_related_class_modified(), sm_check_catalog_rep_dir(), tf_is_catalog_class(), tp_domain_find_object(), tp_domain_match_internal(), tp_is_domain_cached(), ws_update_oid_and_class(), xbtree_find_multi_uniques(), xcache_entry_is_related_to_oid(), xlocator_fetch(), xlocator_fetch_all_reference_lockset(), xlocator_fetch_lockset(), xlocator_find_lockhint_class_oids(), and xlocator_force().

#define OID_GET_REAL_CLASS_OF_DIR_OID (   virtual_oidp,
  class_oidp 
)
Value:
do \
{ \
(class_oidp)->volid = (virtual_oidp)->volid; \
(class_oidp)->pageid = (virtual_oidp)->pageid; \
(class_oidp)->slotid = ((virtual_oidp)->slotid) \
} \
while (0)
#define VIRTUAL_CLASS_DIR_OID_MASK
Definition: oid.h:34
while(1)
Definition: cnvlex.c:816

Definition at line 150 of file oid.h.

Referenced by lock_demote_class_lock(), and lock_wait_state_to_string().

#define OID_GET_VIRTUAL_CLASS_OF_DIR_OID (   class_oidp,
  virtual_oidp 
)
Value:
do \
{ \
(virtual_oidp)->volid = (class_oidp)->volid; \
(virtual_oidp)->pageid = (class_oidp)->pageid; \
(virtual_oidp)->slotid = ((class_oidp)->slotid) \
} \
while (0)
#define VIRTUAL_CLASS_DIR_OID_MASK
Definition: oid.h:34
while(1)
Definition: cnvlex.c:816

Definition at line 140 of file oid.h.

Referenced by catalog_end_access_with_dir_oid(), and catalog_start_access_with_dir_oid().

#define OID_GT (   oidp1,
  oidp2 
)
Value:
((oidp1) != (oidp2) && \
((oidp1)->volid > (oidp2)->volid || \
((oidp1)->volid == (oidp2)->volid && (oidp1)->pageid > (oidp2)->pageid) ||\
((oidp1)->volid == (oidp2)->volid && (oidp1)->pageid == (oidp2)->pageid \
&& (oidp1)->slotid > (oidp2)->slotid)))

Definition at line 97 of file oid.h.

Referenced by btree_find_oid_from_ovfl(), btree_insert_object_ordered_by_oid(), heap_scanrange_next(), and orp_ht_comparef().

#define OID_GTE (   oidp1,
  oidp2 
)
Value:
((oidp1) == (oidp2) || \
((oidp1)->volid > (oidp2)->volid || \
((oidp1)->volid == (oidp2)->volid && (oidp1)->pageid > (oidp2)->pageid) ||\
((oidp1)->volid == (oidp2)->volid && (oidp1)->pageid == (oidp2)->pageid \
&& (oidp1)->slotid > (oidp2)->slotid) || \
((oidp1)->volid == (oidp2)->volid && (oidp1)->pageid == (oidp2)->pageid \
&& (oidp1)->slotid == (oidp2)->slotid)))

Definition at line 104 of file oid.h.

#define OID_INIT_TEMPID ( )    (oid_Next_tempid = NULL_PAGEID)

Definition at line 43 of file oid.h.

Referenced by boot_initialize_client(), boot_restart_client(), and locator_add_instance().

#define OID_IS_PSEUDO_OID (   oidp)    ((oidp)->volid < NULL_VOLID)

Definition at line 83 of file oid.h.

#define OID_IS_VIRTUAL_CLASS_OF_DIR_OID (   oidp)
Value:
((((oidp)->slotid & VIRTUAL_CLASS_DIR_OID_MASK) \
== VIRTUAL_CLASS_DIR_OID_MASK) ? true : false)
#define VIRTUAL_CLASS_DIR_OID_MASK
Definition: oid.h:34

Definition at line 136 of file oid.h.

Referenced by lock_demote_class_lock(), lock_rep_read_tran(), and lock_wait_state_to_string().

#define OID_ISNULL (   oidp)    ((oidp)->pageid == NULL_PAGEID)

Definition at line 81 of file oid.h.

Referenced by tx_transient_class_registry::add(), allocate_foreign_key(), allocate_index(), au_fetch_class_internal(), boot_compact_db(), btree_check_all(), btree_create_overflow_key_file(), btree_dump_page(), btree_find_foreign_key(), btree_fix_root_for_delete(), btree_fix_root_for_insert(), btree_fk_object_does_exist(), btree_insert_internal(), btree_key_append_object_into_ovf(), btree_key_append_object_unique(), btree_key_delete_remove_object(), btree_key_find_and_lock_unique_of_non_unique(), btree_key_find_and_lock_unique_of_unique(), btree_key_find_unique_version_oid(), btree_keyval_search(), btree_leaf_change_first_object(), btree_overflow_remove_object(), btree_prepare_bts(), btree_range_scan_find_fk_any_object(), btree_record_satisfies_snapshot(), btree_repair_prev_link(), btree_rv_keyval_undo_delete(), btree_rv_keyval_undo_insert(), btree_rv_keyval_undo_insert_mvcc_delid(), btree_rv_keyval_undo_online_index_tran_delete(), btree_rv_keyval_undo_online_index_tran_insert(), btree_scan_for_show_index_header(), btree_select_visible_object_for_range_scan(), btree_set_error(), catalog_add_class_info(), catalog_add_representation(), catalog_check_class_consistency(), catalog_get_cardinality_by_name(), catalog_get_class_info(), catalog_get_class_info_from_record(), catalog_get_dir_oid_from_cache(), catalog_get_rep_dir(), catalog_get_representation(), catalog_get_representation_item(), catalog_get_representation_record(), catalog_get_representation_record_after_search(), catalog_insert(), catalog_insert_representation_item(), catalog_put_class_info_to_record(), catalog_put_representation_item(), catalog_start_access_with_dir_oid(), catalog_update(), catalog_update_class_info(), catcls_compile_catalog_classes(), catcls_convert_class_oid_to_oid(), catcls_delete_catalog_classes(), catcls_expand_or_value_by_subset(), catcls_get_apply_info_log_record_time(), catcls_get_db_collation(), catcls_get_server_compat_info(), catcls_insert_instance(), catcls_update_catalog_classes(), classobj_find_cons_index2_col_type_list(), compactdb_start(), disk_to_class(), disk_to_domain2(), disk_to_root(), do_alter_clause_change_attribute(), do_alter_serial(), do_change_att_schema_only(), do_drop_serial(), do_reclaim_class_addresses(), do_update_maxvalue_of_auto_increment_serial(), file_print_name_of_class(), file_tracker_check(), file_tracker_get_and_protect(), file_tracker_interruptable_iterate(), heap_attrinfo_check(), heap_cache_class_info(), heap_check_all_heaps(), heap_check_heap_file(), heap_chnguess_clear(), heap_chnguess_remove_entry(), heap_classrepr_dump(), heap_delete_logical(), heap_does_exist(), heap_dump(), heap_dump_capacity(), heap_get_class_oid(), heap_get_class_oid_from_page(), heap_get_class_record(), heap_get_class_tde_algorithm(), heap_get_last_version(), heap_get_partitions_from_subclasses(), heap_get_record_location(), heap_get_referenced_by(), heap_get_visible_version_internal(), heap_hfid_cache_get(), heap_insert_logical(), heap_insert_physical(), heap_is_object_not_null(), heap_next_internal(), heap_page_next(), heap_page_prev(), heap_prepare_get_context(), heap_prepare_object_page(), heap_reuse(), heap_scancache_check_with_hfid(), heap_scanrange_next(), heap_scanrange_to_following(), heap_scanrange_to_prior(), heap_set_autoincrement_value(), heap_update_logical(), heap_update_set_prev_version(), locator_add_instance(), locator_add_or_remove_index_internal(), locator_all_reference_lockset(), locator_cache_lock_lockhint_classes(), locator_check_btree_entries(), locator_check_primary_key_delete(), locator_check_primary_key_update(), locator_check_unique_btree_entries(), locator_create_heap_if_needed(), locator_drop_class_name_entry(), locator_find_lockset_missing_class_oids(), locator_get_object(), locator_guess_sub_classes(), locator_initialize(), locator_insert_force(), locator_is_exist_class_name_entry(), locator_lock_and_get_object_internal(), locator_lock_and_get_object_with_evaluation(), locator_lock_nested(), locator_lock_set(), locator_lockhint_classes(), locator_mflush(), locator_mflush_force(), locator_notify_decache(), locator_repl_prepare_force(), locator_save_nested_mops(), locator_savepoint_class_name_entry(), locator_set_chn_classes_objects(), locator_update_force(), locator_update_index(), locator_upgrade_instances_domain(), lock_classes_lock_hint(), lock_demote_class_lock(), lock_get_class_lock(), lock_get_lock_holder_tran_index(), lock_notify_isolation_incons(), lock_rep_read_tran(), lock_unlock_classes_lock_hint(), lock_unlock_objects_lock_set(), log_add_to_modified_class_list(), log_is_class_being_modified(), logtb_check_class_for_rr_isolation_err(), logtb_tran_load_global_stats_func(), logtb_tran_prepare_count_optim_classes(), logtb_tran_update_stats_online_index_rb(), mr_data_readval_object(), mr_getmem_object(), mvcc_is_mvcc_disabled_class(), oid_is_system_class(), online_index_builder(), or_class_tde_algorithm(), orc_subclasses_from_record(), partition_prune_update(), process_value(), pt_make_class_access_spec(), put_class_attributes(), qexec_execute_duplicate_key_update(), qexec_execute_insert(), qexec_execute_obj_fetch(), qexec_execute_selupd_list(), qexec_execute_update(), qexec_oid_of_duplicate_key_update(), qexec_remove_duplicates_for_replace(), redistribute_partition_data(), root_to_disk(), scan_next_index_lookup_heap(), scan_next_index_scan(), sct_check_rep_dir(), serial_alloc_cache_area(), serial_update_serial_object(), slocator_get_reserved_class_name_oid(), sm_check_catalog_rep_dir(), stats_update_partitioned_statistics(), tde_update_keyinfo(), tf_disk_to_class(), tp_check_value_size(), tp_domain_match_internal(), tp_domain_select(), tp_is_domain_cached(), tp_swizzle_oid(), vacuum_check_not_vacuumed_rec_header(), vacuum_heap_get_hfid_and_file_type(), vacuum_heap_record(), vacuum_heap_record_insid_and_prev_version(), vacuum_process_log_block(), vacuum_rv_notify_dropped_file(), vid_make_vid(), vid_oid_to_object(), ws_add_to_repl_obj_list(), ws_mop(), ws_mop_if_exists(), ws_new_mop(), xboot_check_db_consistency(), xbtree_add_index(), xbtree_find_unique(), xbtree_load_index(), xcatalog_check_rep_dir(), xfile_apply_tde_to_class_files(), xlocator_fetch(), xlocator_fetch_all(), xlocator_fetch_lockhint_classes(), xlocator_fetch_lockset(), xlocator_find_class_oid(), xlocator_find_lockhint_class_oids(), xlocator_get_class(), xlocator_lock_and_fetch_all(), xlocator_rename_class_name(), xlocator_reserve_class_name(), xlocator_upgrade_instances_domain(), xserial_get_next_value(), and xstats_update_statistics().

#define OID_LT (   oidp1,
  oidp2 
)
Value:
((oidp1) != (oidp2) && \
((oidp1)->volid < (oidp2)->volid || \
((oidp1)->volid == (oidp2)->volid && (oidp1)->pageid < (oidp2)->pageid) ||\
((oidp1)->volid == (oidp2)->volid && (oidp1)->pageid == (oidp2)->pageid \
&& (oidp1)->slotid < (oidp2)->slotid)))

Definition at line 113 of file oid.h.

Referenced by btree_find_oid_from_ovfl(), compare_driver(), and heap_scanrange_next().

#define OID_LTE (   oidp1,
  oidp2 
)
Value:
((oidp1) == (oidp2) || \
((oidp1)->volid < (oidp2)->volid || \
((oidp1)->volid == (oidp2)->volid && (oidp1)->pageid < (oidp2)->pageid) ||\
((oidp1)->volid == (oidp2)->volid && (oidp1)->pageid == (oidp2)->pageid \
&& (oidp1)->slotid < (oidp2)->slotid) || \
((oidp1)->volid == (oidp2)->volid && (oidp1)->pageid == (oidp2)->pageid \
&& (oidp1)->slotid == (oidp2)->slotid)))

Definition at line 120 of file oid.h.

#define OID_NEXT_TEMPID ( )    ((--oid_Next_tempid <= OID_TEMPID_MIN) ? NULL_PAGEID : oid_Next_tempid)

Definition at line 46 of file oid.h.

#define OID_PSEUDO_KEY (   oidp)
Value:
((OID_ISTEMP(oidp)) ? (unsigned int) -((oidp)->pageid) : \
((oidp)->slotid | (((unsigned int)(oidp)->pageid) << 8)) ^ \
((((unsigned int)(oidp)->pageid) >> 8) | \
(((unsigned int)(oidp)->volid) << 24)))
#define OID_ISTEMP(oidp)
Definition: oid.h:80

Definition at line 130 of file oid.h.

Referenced by heap_hfid_table_entry_key_hash(), mht_valhash(), oid_hash(), orp_ht_hashf(), ws_mop(), ws_mop_if_exists(), ws_new_mop(), and ws_update_oid().

#define OID_SET_NULL (   oidp)
Value:
do { \
(oidp)->pageid = NULL_PAGEID; \
(oidp)->slotid = NULL_SLOTID; \
(oidp)->volid = NULL_VOLID; \
} while(0)
#define NULL_SLOTID
#define NULL_PAGEID
#define NULL_VOLID

Definition at line 85 of file oid.h.

Referenced by boot_compact_db(), boot_create_all_volumes(), btree_check_foreign_key(), btree_find_foreign_key(), btree_find_unique(), btree_fk_object_does_exist(), btree_get_class_oid_of_unique_btid(), btree_get_next_key_info(), btree_insert_internal(), btree_key_find_and_lock_unique_of_non_unique(), btree_key_find_and_lock_unique_of_unique(), btree_key_find_first_visible_row(), btree_key_lock_and_append_object_unique(), btree_online_index_list_dispatcher(), btree_rv_read_keybuf_nocopy(), btree_rv_read_keybuf_two_objects(), btree_rv_record_modify_internal(), btree_sort_get_next(), catalog_add_class_info(), catalog_check_class_consistency(), catalog_drop_all(), catalog_drop_all_representation_and_class(), catalog_drop_old_representations(), catalog_drop_representation_item(), catalog_get_dir_oid_from_cache(), catalog_get_last_representation_id(), catalog_get_representation_directory(), catalog_get_representation_item(), catcls_find_class_oid_by_class_name(), catcls_find_oid_by_class_name(), catcls_get_apply_info_log_record_time(), catcls_get_db_collation(), catcls_get_server_compat_info(), classobj_make_class(), compactdb_start(), css_make_access_status_exist_user(), do_alter_change_col_comment(), do_alter_change_default_cs_coll(), do_alter_clause_change_attribute(), do_alter_serial(), do_change_att_schema_only(), do_drop_serial(), do_get_serial_obj_id(), do_update_maxvalue_of_auto_increment_serial(), ehash_create_helper(), file_tracker_get_and_protect(), file_tracker_interruptable_iterate(), find_instance(), heap_attrinfo_clear_dbvalues(), heap_attrinfo_end(), heap_attrinfo_start(), heap_attrinfo_start_with_index(), heap_chnguess_initialize(), heap_chnguess_remove_entry(), heap_classrepr_entry_reset(), heap_classrepr_initialize_cache(), heap_clear_operation_context(), heap_does_exist(), heap_dump(), heap_find_location_and_insert_rec_newhome(), heap_first(), heap_get_class_oid(), heap_get_class_record(), heap_get_insert_location_with_lock(), heap_hfid_table_entry_init(), heap_init_get_context(), heap_insert_physical(), heap_last(), heap_next_internal(), heap_rv_postpone_append_pages_to_heap(), heap_scancache_quick_end(), heap_scancache_quick_start_internal(), heap_scancache_reset_modify(), heap_scancache_start_internal(), heap_scanrange_end(), heap_scanrange_next(), heap_scanrange_start(), init_instance_table(), locator_all_reference_lockset(), locator_delete_force_internal(), locator_find_class_by_name(), locator_find_lockset_missing_class_oids(), locator_fun_get_all_mops(), locator_get_reserved_class_name_oid(), locator_guess_sub_classes(), locator_initialize(), locator_lock_class_of_instance(), locator_lockhint_classes(), locator_repl_mflush(), locator_set_chn_classes_objects(), lock_classes_lock_hint(), lock_unlock_all_shared_get_all_exclusive(), logtb_tran_update_stats_online_index_rb(), mr_initval_object(), mr_null_oid(), online_index_builder(), or_class_tde_algorithm(), or_get_all_representation(), or_get_old_representation(), orc_subclasses_from_record(), parser_generate_do_stmt_xasl(), parser_generate_xasl(), partition_find_root_class_oid(), partition_init_pruning_context(), partition_prune_insert(), partition_prune_partition_index(), partition_prune_update(), prepare_mvcc_reev_data(), process_class(), process_value(), pt_fold_const_expr(), pt_link_regu_to_selupd_list(), pt_make_vid(), pt_to_delete_xasl(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_merge_update_xasl(), pt_to_merge_xasl(), pt_to_outlist(), pt_to_update_xasl(), qexec_create_internal_classes(), qexec_evaluate_aggregates_optimize(), qexec_execute_duplicate_key_update(), qexec_execute_selupd_list(), qexec_execute_update(), qexec_oid_of_duplicate_key_update(), qexec_remove_duplicates_for_replace(), qo_get_class_info(), realloc_instance_table(), cubload::server_class_installer::register_class_with_attributes(), regu_init(), regu_make_constant_vid(), sbtree_find_unique_internal(), scan_reset_scan_block(), sct_check_rep_dir(), sm_create_root(), sm_init(), smt_check_foreign_key(), stx_map_stream_to_xasl(), tp_domain_init(), tp_value_cast_internal(), unpack_domain(), util_get_class_oids_and_index_btid(), vacuum_log_add_dropped_file(), vid_make_vid(), ws_make_mop(), xbtree_find_unique(), xbtree_load_index(), xcatalog_check_rep_dir(), xheap_has_instance(), xlocator_check_fk_validity(), xlocator_does_exist(), xlocator_fetch(), xlocator_fetch_all(), xlocator_fetch_lockhint_classes(), xlocator_fetch_lockset(), xlocator_find_class_oid(), xlocator_find_lockhint_class_oids(), xlocator_force(), xlocator_lock_and_fetch_all(), xlocator_upgrade_instances_domain(), xserial_decache(), xserial_get_next_value_internal(), and xstats_update_statistics().

#define OID_TEMPID_MIN   INT_MIN

Definition at line 42 of file oid.h.

#define ROOTCLASS_NAME   "Rootclass" /* Name of Rootclass */

Definition at line 32 of file oid.h.

Referenced by boot_create_all_volumes(), locator_add_root(), and xboot_initialize_server().

#define SAFE_COPY_OID (   dest_oid_ptr,
  src_oid_ptr 
)
Value:
if (src_oid_ptr) \
{ \
*(dest_oid_ptr) = *(src_oid_ptr); \
} \
{ \
OID_SET_NULL (dest_oid_ptr); \
}
#define OID_SET_NULL(oidp)
Definition: oid.h:85
else

Definition at line 70 of file oid.h.

Referenced by qexec_add_composite_lock(), qexec_execute_obj_fetch(), and qexec_upddel_add_unique_oid_to_ehid().

#define SET_OID (   dest_oid_ptr,
  vol_id,
  page_id,
  slot_id 
)
Value:
do \
{ \
(dest_oid_ptr)->volid = vol_id; \
(dest_oid_ptr)->pageid = page_id; \
(dest_oid_ptr)->slotid = slot_id; \
} \
while (0)
while(1)
Definition: cnvlex.c:816

Definition at line 54 of file oid.h.

#define VIRTUAL_CLASS_DIR_OID_MASK   (1 << 15)

Definition at line 34 of file oid.h.

Enumeration Type Documentation

anonymous enum
Enumerator
OID_CACHE_ROOT_CLASS_ID 
OID_CACHE_CLASS_CLASS_ID 
OID_CACHE_ATTRIBUTE_CLASS_ID 
OID_CACHE_DOMAIN_CLASS_ID 
OID_CACHE_METHOD_CLASS_ID 
OID_CACHE_METHSIG_CLASS_ID 
OID_CACHE_METHARG_CLASS_ID 
OID_CACHE_METHFILE_CLASS_ID 
OID_CACHE_QUERYSPEC_CLASS_ID 
OID_CACHE_INDEX_CLASS_ID 
OID_CACHE_INDEXKEY_CLASS_ID 
OID_CACHE_DATATYPE_CLASS_ID 
OID_CACHE_CLASSAUTH_CLASS_ID 
OID_CACHE_PARTITION_CLASS_ID 
OID_CACHE_STORED_PROC_CLASS_ID 
OID_CACHE_STORED_PROC_ARGS_CLASS_ID 
OID_CACHE_SERIAL_CLASS_ID 
OID_CACHE_HA_APPLY_INFO_CLASS_ID 
OID_CACHE_COLLATION_CLASS_ID 
OID_CACHE_CHARSET_CLASS_ID 
OID_CACHE_TRIGGER_CLASS_ID 
OID_CACHE_USER_CLASS_ID 
OID_CACHE_PASSWORD_CLASS_ID 
OID_CACHE_AUTH_CLASS_ID 
OID_CACHE_OLD_ROOT_CLASS_ID 
OID_CACHE_DB_ROOT_CLASS_ID 
OID_CACHE_SIZE 

Definition at line 160 of file oid.h.

Function Documentation

bool oid_check_cached_class_oid ( const int  cache_id,
const OID oid 
)

Definition at line 327 of file oid.c.

References OID_EQ.

Referenced by logtb_check_class_for_rr_isolation_err(), mvcc_is_mvcc_disabled_class(), qexec_open_scan(), and qo_is_non_mvcc_class_with_index().

Here is the caller graph for this function:

int oid_compare_equals ( const void *  key_oid1,
const void *  key_oid2 
)
const char* oid_get_cached_class_name ( const int  cache_id)

Definition at line 351 of file oid.c.

References oid_cache_entry::class_name.

Referenced by catcls_find_and_set_cached_class_oid().

Here is the caller graph for this function:

void oid_get_partition_oid ( OID oid)

Definition at line 207 of file oid.c.

References COPY_OID.

OID* oid_get_rep_read_tran_oid ( void  )

Definition at line 386 of file oid.c.

References oid_Rep_Read_Tran.

Referenced by lock_demote_class_lock(), lock_rep_read_tran(), and lock_wait_state_to_string().

Here is the caller graph for this function:

void oid_get_serial_oid ( OID oid)
unsigned int oid_hash ( const void *  key_oid,
unsigned int  htsize 
)
bool oid_is_cached_class_oid ( const OID class_oid)

Definition at line 364 of file oid.c.

References i, oid_cache_entry::oid, OID_CACHE_ROOT_CLASS_ID, OID_CACHE_SIZE, and OID_EQ.

Referenced by oid_is_system_class().

Here is the caller graph for this function:

bool oid_is_db_attribute ( const OID oid)

Definition at line 231 of file oid.c.

References OID_EQ.

bool oid_is_db_class ( const OID oid)

Definition at line 219 of file oid.c.

References OID_EQ.

Referenced by btree_key_find_and_insert_delete_mvccid(), and btree_key_insert_new_object().

Here is the caller graph for this function:

bool oid_is_partition ( const OID oid)

Definition at line 195 of file oid.c.

References OID_EQ.

bool oid_is_root ( const OID oid)

Definition at line 135 of file oid.c.

References OID_EQ.

Referenced by heap_get_referenced_by(), and tf_disk_to_class().

Here is the caller graph for this function:

bool oid_is_serial ( const OID oid)

Definition at line 159 of file oid.c.

References OID_EQ.

Referenced by btree_physical_delete(), mvcc_is_mvcc_disabled_class(), qexec_open_scan(), scan_next_heap_scan(), and scan_next_index_lookup_heap().

Here is the caller graph for this function:

bool oid_is_system_class ( const OID class_oid)

Definition at line 400 of file oid.c.

References assert, NULL, oid_is_cached_class_oid(), and OID_ISNULL.

Referenced by heap_prepare_get_context().

Here is the caller graph for this function:

void oid_set_cached_class_oid ( const int  cache_id,
const OID oid 
)

Definition at line 339 of file oid.c.

References COPY_OID.

Referenced by boot_client_find_and_cache_class_oids(), and catcls_find_and_set_cached_class_oid().

Here is the caller graph for this function:

void oid_set_partition ( const OID oid)

Definition at line 183 of file oid.c.

References COPY_OID.

void oid_set_root ( const OID oid)
void oid_set_serial ( const OID oid)

Definition at line 147 of file oid.c.

References COPY_OID.

Variable Documentation

PAGEID oid_Next_tempid

Definition at line 70 of file oid.c.

OID* oid_Root_class_oid

Definition at line 73 of file oid.c.

Referenced by boot_compact_db(), boot_db_parm_update_heap(), btree_check_all(), btree_check_by_class_oid(), btree_check_locking_for_delete_unique(), btree_check_locking_for_insert_unique(), btree_load_check_fk(), btree_repair_prev_link(), btree_repair_prev_link_by_class_oid(), catalog_check_consistency(), catalog_create(), catalog_dump(), catalog_end_access_with_dir_oid(), catalog_get_cardinality_by_name(), file_tracker_check(), file_tracker_get_and_protect(), file_tracker_interruptable_iterate(), cubload::server_object_loader::flush_records(), heap_check_all_heaps(), heap_check_heap_file(), heap_compact_pages(), heap_does_exist(), heap_get_class_oid_from_page(), heap_get_class_record(), heap_insert_logical(), heap_is_object_not_null(), heap_prepare_get_context(), heap_scancache_start_modify(), cubload::server_object_loader::init(), is_class(), locator_add_root(), locator_all_reference_lockset(), locator_attribute_info_force(), locator_check_all_entries_of_all_btrees(), locator_check_by_class_oid(), locator_check_class_names(), locator_defence_drop_class_name_entry(), locator_force_for_multi_update(), locator_is_exist_class_name_entry(), locator_multi_insert_force(), locator_permoid_class_name(), lock_add_composite_lock(), lock_classes_lock_hint(), lock_get_class_lock(), lock_get_object_lock(), lock_has_lock_on_object(), lock_object(), lock_scan(), lock_unlock_all_shared_get_all_exclusive(), qexec_execute_insert(), qexec_execute_selupd_list(), qexec_for_update_set_class_locks(), qexec_set_class_locks(), sbtree_load_index(), sm_init(), tde_update_keyinfo(), xboot_checkdb_table(), xbtree_find_unique(), xbtree_load_online_index(), xcache_find_xasl_id_for_execute(), xchksum_insert_repl_log_and_demote_table_lock(), xlocator_delete_class_name(), xlocator_fetch(), xlocator_fetch_all(), xlocator_fetch_lockhint_classes(), xlocator_fetch_lockset(), xlocator_find_class_oid(), xlocator_find_lockhint_class_oids(), xlocator_force(), xlocator_get_class(), xlocator_lock_and_fetch_all(), xlocator_reserve_class_name(), xstats_get_statistics_from_server(), xstats_update_all_statistics(), and xstats_update_statistics().

OID* oid_Serial_class_oid
OID* oid_User_class_oid

Definition at line 78 of file oid.c.

Referenced by heap_prepare_get_context().