File locator.h¶
FileList > cubrid > src > transaction > locator.h
Go to the source code of this file
#include "object_representation_constants.h"#include "oid.h"#include "storage_common.h"#include "lock_table.h"#include "thread_compat.hpp"
Classes¶
| Type | Name |
|---|---|
| struct | lc_class_oidset |
| struct | lc_copy_area |
| struct | lc_copyarea_desc |
| struct | lc_copyarea_manyobjs |
| struct | lc_copyarea_oneobj |
| struct | lc_lock_hint |
| struct | lc_lock_set |
| struct | lc_lockhint_class |
| struct | lc_lockset_classof |
| struct | lc_lockset_reqobj |
| struct | lc_oidmap |
| struct | lc_oidset |
Public Types¶
| Type | Name |
|---|---|
| typedef struct lc_class_oidset | LC_CLASS_OIDSET |
| typedef struct lc_copy_area | LC_COPYAREA |
| typedef struct lc_copyarea_desc | LC_COPYAREA_DESC |
| typedef struct lc_copyarea_manyobjs | LC_COPYAREA_MANYOBJS |
| typedef struct lc_copyarea_oneobj | LC_COPYAREA_ONEOBJ |
| enum | LC_COPYAREA_OPERATION |
| enum | LC_FETCH_VERSION_TYPE |
| typedef struct lc_lock_hint | LC_LOCKHINT |
| typedef struct lc_lockhint_class | LC_LOCKHINT_CLASS |
| typedef struct lc_lock_set | LC_LOCKSET |
| typedef struct lc_lockset_classof | LC_LOCKSET_CLASSOF |
| typedef struct lc_lockset_reqobj | LC_LOCKSET_REQOBJ |
| typedef struct lc_oidmap | LC_OIDMAP |
| typedef struct lc_oidset | LC_OIDSET |
| typedef enum lc_prefetch_flags | LC_PREFETCH_FLAGS |
| enum | MULTI_UPDATE_FLAG |
| enum | lc_prefetch_flags |
Public Functions¶
Macros¶
| Type | Name |
|---|---|
| define | LC_AREA_ONEOBJ_PACKED_SIZE /* multi line expression */ |
| define | LC_CLASS_OF_REQOBJ_PACKED_SIZE ([**OR\_OID\_SIZE**](object__representation__constants_8h.md#define-or_oid_size) + [**OR\_INT\_SIZE**](object__representation__constants_8h.md#define-or_int_size)) |
| define | LC_COPY_ONEOBJ (new_obj, old_obj) /* multi line expression */ |
| define | LC_FETCH_IS_CURRENT_VERSION_NEEDED (fetch_type) (([**fetch\_type**](broker__monitor_8c.md#function-timeout)) == LC\_FETCH\_CURRENT\_VERSION) |
| define | LC_FETCH_IS_DIRTY_VERSION_NEEDED (fetch_type) (([**fetch\_type**](broker__monitor_8c.md#function-timeout)) == LC\_FETCH\_DIRTY\_VERSION) |
| define | LC_FETCH_IS_MVCC_VERSION_NEEDED (fetch_type) (([**fetch\_type**](broker__monitor_8c.md#function-timeout)) == LC\_FETCH\_MVCC\_VERSION) |
| define | LC_FIND_ONEOBJ_PTR_IN_COPYAREA (manyobjs_ptr, obj_num) (&([**manyobjs\_ptr**](broker__monitor_8c.md#function-timeout))->objs - ([**obj\_num**](broker__monitor_8c.md#function-timeout))) |
| define | LC_FLAG_HAS_INDEX 0x01 /\* [**Used**](broker__monitor_8c.md#function-timeout) [**for**](dynamic__load_8c.md#function-for) [**flushing**](broker__monitor_8c.md#function-timeout), set [**if**](dynamic__load_8c.md#function-if) object [**has**](broker__monitor_8c.md#function-timeout) index \*/ |
| define | LC_FLAG_HAS_INDEX_MASK 0x05 |
| define | LC_FLAG_HAS_UNIQUE_INDEX 0x04 /\* [**Used**](broker__monitor_8c.md#function-timeout) [**for**](dynamic__load_8c.md#function-for) [**flushing**](broker__monitor_8c.md#function-timeout), set [**if**](dynamic__load_8c.md#function-if) object [**has**](broker__monitor_8c.md#function-timeout) unique index \*/ |
| define | LC_FLAG_TRIGGER_INVOLVED /* multi line expression */ |
| define | LC_FLAG_UPDATED_BY_ME 0x02 /\* [**Used**](broker__monitor_8c.md#function-timeout) [**by**](broker__monitor_8c.md#function-timeout) [**MVCC**](broker__monitor_8c.md#function-timeout) to [**identify**](broker__monitor_8c.md#function-timeout) [**that**](broker__monitor_8c.md#function-timeout) [**an**](broker__monitor_8c.md#function-timeout) object [**was**](broker__monitor_8c.md#function-timeout) [**updated**](broker__monitor_8c.md#function-timeout) [**by**](broker__monitor_8c.md#function-timeout) current transaction. \*/ |
| define | LC_IS_FLUSH_INSERT (operation) /* multi line expression */ |
| define | LC_IS_FLUSH_UPDATE (operation) /* multi line expression */ |
| define | LC_LAST_ONEOBJ_PTR_IN_COPYAREA (manyobjs_ptr) (&([**manyobjs\_ptr**](broker__monitor_8c.md#function-timeout))->objs - (([**manyobjs\_ptr**](broker__monitor_8c.md#function-timeout))->num\_objs - 1)) |
| define | LC_LOCKHINT_CLASS_PACKED_SIZE ([**OR\_OID\_SIZE**](object__representation__constants_8h.md#define-or_oid_size) + [**OR\_INT\_SIZE**](object__representation__constants_8h.md#define-or_int_size) \* 3) |
| define | LC_LOCKHINT_PACKED_SIZE (lockhint) /* multi line expression */ |
| define | LC_LOCKSET_PACKED_SIZE (req) /* multi line expression */ |
| define | LC_MANYOBJS_PTR_IN_COPYAREA (copy_areaptr) /* multi line expression */ |
| define | LC_NEXT_ONEOBJ_PTR_IN_COPYAREA (oneobj_ptr) (([**oneobj\_ptr**](broker__monitor_8c.md#function-timeout)) - 1) |
| define | LC_ONEOBJ_GET_INDEX_FLAG (obj) ((obj)->[**flag**](classflag.md) & [**LC\_FLAG\_HAS\_INDEX\_MASK**](locator_8h.md#define-lc_flag_has_index_mask)) |
| define | LC_ONEOBJ_IS_TRIGGER_INVOLVED (obj) (((obj)->[**flag**](classflag.md) & [**LC\_FLAG\_TRIGGER\_INVOLVED**](locator_8h.md#define-lc_flag_trigger_involved)) != 0) |
| define | LC_ONEOBJ_IS_UPDATED_BY_ME (obj) (((obj)->[**flag**](classflag.md) & [**LC\_FLAG\_UPDATED\_BY\_ME**](locator_8h.md#define-lc_flag_updated_by_me)) != 0) |
| define | LC_ONEOBJ_SET_HAS_INDEX (obj) (obj)->[**flag**](classflag.md) \|= [**LC\_FLAG\_HAS\_INDEX**](locator_8h.md#define-lc_flag_has_index) |
| define | LC_ONEOBJ_SET_HAS_UNIQUE_INDEX (obj) (obj)->[**flag**](classflag.md) \|= [**LC\_FLAG\_HAS\_UNIQUE\_INDEX**](locator_8h.md#define-lc_flag_has_unique_index) |
| define | LC_ONEOBJ_SET_TRIGGER_INVOLVED (obj) (obj)->[**flag**](classflag.md) \|= [**LC\_FLAG\_TRIGGER\_INVOLVED**](locator_8h.md#define-lc_flag_trigger_involved) |
| define | LC_ONEOBJ_SET_UPDATED_BY_ME (obj) (obj)->[**flag**](classflag.md) \|= [**LC\_FLAG\_UPDATED\_BY\_ME**](locator_8h.md#define-lc_flag_updated_by_me) |
| define | LC_PRIOR_ONEOBJ_PTR_IN_COPYAREA (oneobj_ptr) (([**oneobj\_ptr**](broker__monitor_8c.md#function-timeout)) + 1) |
| define | LC_RECDES_IN_COPYAREA (copy_area_ptr, recdes_ptr) /* multi line expression */ |
| define | LC_RECDES_TO_GET_ONEOBJ (copy_area_ptr, oneobj_ptr, recdes_ptr) /* multi line expression */ |
| define | LC_REPL_RECDES_FOR_ONEOBJ (copy_area_ptr, oneobj_ptr, key_length, recdes_ptr) /* multi line expression */ |
| define | LC_REQOBJ_PACKED_SIZE ([**OR\_OID\_SIZE**](object__representation__constants_8h.md#define-or_oid_size) + [**OR\_INT\_SIZE**](object__representation__constants_8h.md#define-or_int_size) \* 2) |
| define | LC_START_ONEOBJ_PTR_IN_COPYAREA (manyobjs_ptr) (&([**manyobjs\_ptr**](broker__monitor_8c.md#function-timeout))->objs) |
Public Types Documentation¶
typedef LC_CLASS_OIDSET¶
typedef LC_COPYAREA¶
typedef LC_COPYAREA_DESC¶
typedef LC_COPYAREA_MANYOBJS¶
typedef LC_COPYAREA_ONEOBJ¶
enum LC_COPYAREA_OPERATION¶
enum LC_COPYAREA_OPERATION {
LC_FETCH,
LC_FETCH_DELETED,
LC_FETCH_DECACHE_LOCK,
LC_FLUSH_INSERT,
LC_FLUSH_INSERT_PRUNE,
LC_FLUSH_INSERT_PRUNE_VERIFY,
LC_FLUSH_DELETE,
LC_FLUSH_UPDATE,
LC_FLUSH_UPDATE_PRUNE,
LC_FLUSH_UPDATE_PRUNE_VERIFY,
LC_FETCH_VERIFY_CHN
};
enum LC_FETCH_VERSION_TYPE¶
enum LC_FETCH_VERSION_TYPE {
LC_FETCH_CURRENT_VERSION = 0x01,
LC_FETCH_MVCC_VERSION = 0x02,
LC_FETCH_DIRTY_VERSION = 0x03,
LC_FETCH_CURRENT_VERSION_NO_CHECK = 0x04
};
typedef LC_LOCKHINT¶
typedef LC_LOCKHINT_CLASS¶
typedef LC_LOCKSET¶
typedef LC_LOCKSET_CLASSOF¶
typedef LC_LOCKSET_REQOBJ¶
typedef LC_OIDMAP¶
typedef LC_OIDSET¶
typedef LC_PREFETCH_FLAGS¶
enum MULTI_UPDATE_FLAG¶
enum MULTI_UPDATE_FLAG {
IS_MULTI_UPDATE = 0x01,
START_MULTI_UPDATE = 0x02,
END_MULTI_UPDATE = 0x04
};
enum lc_prefetch_flags¶
Public Functions Documentation¶
function locator_add_oid_set¶
LC_OIDMAP * locator_add_oid_set (
THREAD_ENTRY * thrd,
LC_OIDSET * set,
HFID * heap,
OID * class_oid,
OID * obj_oid
)
function locator_allocate_and_unpack_lockhint¶
LC_LOCKHINT * locator_allocate_and_unpack_lockhint (
char * unpacked,
int unpacked_size,
bool unpack_classes,
bool reg_unpacked
)
function locator_allocate_and_unpack_lockset¶
LC_LOCKSET * locator_allocate_and_unpack_lockset (
char * unpacked,
int unpacked_size,
bool unpack_classes,
bool unpack_objects,
bool reg_unpacked
)
function locator_allocate_copy_area_by_length¶
function locator_allocate_copyarea¶
function locator_allocate_lockhint¶
function locator_allocate_lockset¶
LC_LOCKSET * locator_allocate_lockset (
int max_reqobjs,
LOCK reqobj_inst_lock,
LOCK reqobj_class_lock,
int quit_on_errors
)
function locator_allocate_lockset_by_length¶
function locator_clear_oid_set¶
function locator_dump_copy_area¶
function locator_dump_lockhint¶
function locator_dump_lockset¶
function locator_free_areas¶
function locator_free_copy_area¶
function locator_free_lockhint¶
function locator_free_lockset¶
function locator_free_oid_set¶
function locator_free_packed¶
function locator_get_packed_oid_set_size¶
function locator_initialize_areas¶
function locator_make_oid_set¶
function locator_manyobj_flag_is_set¶
function locator_manyobj_flag_remove¶
function locator_manyobj_flag_set¶
function locator_pack_copy_area_descriptor¶
char * locator_pack_copy_area_descriptor (
int num_objs,
LC_COPYAREA * copyarea,
char * desc,
int desc_len
)
function locator_pack_lockhint¶
function locator_pack_lockset¶
function locator_pack_oid_set¶
function locator_reallocate_copy_area_by_length¶
function locator_reallocate_lockhint¶
function locator_reallocate_lockset¶
function locator_recv_allocate_copyarea¶
LC_COPYAREA * locator_recv_allocate_copyarea (
int num_objs,
char ** contents_ptr,
int contents_length
)
function locator_send_copy_area¶
int locator_send_copy_area (
LC_COPYAREA * copyarea,
char ** contents_ptr,
int * contents_length,
char ** desc_ptr,
int * desc_length,
bool encode_endian
)
function locator_unpack_copy_area_descriptor¶
char * locator_unpack_copy_area_descriptor (
int num_objs,
LC_COPYAREA * copyarea,
char * desc,
int packed_desc_size
)
function locator_unpack_lockhint¶
function locator_unpack_lockset¶
function locator_unpack_oid_set_to_exist¶
function locator_unpack_oid_set_to_new¶
Macro Definition Documentation¶
define LC_AREA_ONEOBJ_PACKED_SIZE¶
define LC_CLASS_OF_REQOBJ_PACKED_SIZE¶
define LC_COPY_ONEOBJ¶
define LC_FETCH_IS_CURRENT_VERSION_NEEDED¶
#define LC_FETCH_IS_CURRENT_VERSION_NEEDED (
fetch_type
) `(( fetch_type ) == LC_FETCH_CURRENT_VERSION )`
define LC_FETCH_IS_DIRTY_VERSION_NEEDED¶
#define LC_FETCH_IS_DIRTY_VERSION_NEEDED (
fetch_type
) `(( fetch_type ) == LC_FETCH_DIRTY_VERSION )`
define LC_FETCH_IS_MVCC_VERSION_NEEDED¶
define LC_FIND_ONEOBJ_PTR_IN_COPYAREA¶
#define LC_FIND_ONEOBJ_PTR_IN_COPYAREA (
manyobjs_ptr,
obj_num
) `(&( manyobjs_ptr )->objs - ( obj_num ))`
define LC_FLAG_HAS_INDEX¶
define LC_FLAG_HAS_INDEX_MASK¶
define LC_FLAG_HAS_UNIQUE_INDEX¶
define LC_FLAG_TRIGGER_INVOLVED¶
#define LC_FLAG_TRIGGER_INVOLVED `0x08 /* Used for supplemental logging to know whether trigger is involved or not , set if do_Trigger_involved is true */`
define LC_FLAG_UPDATED_BY_ME¶
#define LC_FLAG_UPDATED_BY_ME `0x02 /* Used by MVCC to identify that an object was updated by current transaction. */`
define LC_IS_FLUSH_INSERT¶
define LC_IS_FLUSH_UPDATE¶
define LC_LAST_ONEOBJ_PTR_IN_COPYAREA¶
#define LC_LAST_ONEOBJ_PTR_IN_COPYAREA (
manyobjs_ptr
) `(&( manyobjs_ptr )->objs - (( manyobjs_ptr )->num_objs - 1))`
define LC_LOCKHINT_CLASS_PACKED_SIZE¶
define LC_LOCKHINT_PACKED_SIZE¶
#define LC_LOCKHINT_PACKED_SIZE (
lockhint
) `( OR_INT_SIZE * 4 + \ LC_LOCKHINT_CLASS_PACKED_SIZE * lockhint ->max_classes)`
define LC_LOCKSET_PACKED_SIZE¶
#define LC_LOCKSET_PACKED_SIZE (
req
) `( OR_INT_SIZE * 9 + \ LC_CLASS_OF_REQOBJ_PACKED_SIZE * req ->max_reqobjs + \ LC_REQOBJ_PACKED_SIZE * req ->max_reqobjs)`
define LC_MANYOBJS_PTR_IN_COPYAREA¶
define LC_NEXT_ONEOBJ_PTR_IN_COPYAREA¶
define LC_ONEOBJ_GET_INDEX_FLAG¶
define LC_ONEOBJ_IS_TRIGGER_INVOLVED¶
define LC_ONEOBJ_IS_UPDATED_BY_ME¶
define LC_ONEOBJ_SET_HAS_INDEX¶
define LC_ONEOBJ_SET_HAS_UNIQUE_INDEX¶
define LC_ONEOBJ_SET_TRIGGER_INVOLVED¶
define LC_ONEOBJ_SET_UPDATED_BY_ME¶
define LC_PRIOR_ONEOBJ_PTR_IN_COPYAREA¶
define LC_RECDES_IN_COPYAREA¶
define LC_RECDES_TO_GET_ONEOBJ¶
#define LC_RECDES_TO_GET_ONEOBJ (
copy_area_ptr,
oneobj_ptr,
recdes_ptr
) `/* multi line expression */`
define LC_REPL_RECDES_FOR_ONEOBJ¶
#define LC_REPL_RECDES_FOR_ONEOBJ (
copy_area_ptr,
oneobj_ptr,
key_length,
recdes_ptr
) `/* multi line expression */`
define LC_REQOBJ_PACKED_SIZE¶
define LC_START_ONEOBJ_PTR_IN_COPYAREA¶
The documentation for this class was generated from the following file cubrid/src/transaction/locator.h