Skip to content

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

Type Name
LC_OIDMAP * locator_add_oid_set (THREAD_ENTRY * thrd, LC_OIDSET * set, HFID * heap, OID * class_oid, OID * obj_oid)
LC_LOCKHINT * locator_allocate_and_unpack_lockhint (char * unpacked, int unpacked_size, bool unpack_classes, bool reg_unpacked)
LC_LOCKSET * locator_allocate_and_unpack_lockset (char * unpacked, int unpacked_size, bool unpack_classes, bool unpack_objects, bool reg_unpacked)
LC_COPYAREA * locator_allocate_copy_area_by_length (int length)
LC_COPYAREA * locator_allocate_copyarea (DKNPAGES npages)
LC_LOCKHINT * locator_allocate_lockhint (int max_classes, bool quit_on_errors)
LC_LOCKSET * locator_allocate_lockset (int max_reqobjs, LOCK reqobj_inst_lock, LOCK reqobj_class_lock, int quit_on_errors)
LC_LOCKSET * locator_allocate_lockset_by_length (int length)
void locator_clear_oid_set (THREAD_ENTRY * thrd, LC_OIDSET * oidset)
void locator_dump_copy_area (FILE * out_fp, const LC_COPYAREA * copyarea, int print_rec)
void locator_dump_lockhint (FILE * out_fp, LC_LOCKHINT * lockhint)
void locator_dump_lockset (FILE * out_fp, LC_LOCKSET * lockset)
void locator_free_areas (void)
void locator_free_copy_area (LC_COPYAREA * copyarea)
void locator_free_lockhint (LC_LOCKHINT * lockhint)
void locator_free_lockset (LC_LOCKSET * lockset)
void locator_free_oid_set (THREAD_ENTRY * thread_p, LC_OIDSET * oidset)
void locator_free_packed (char * packed_area, int packed_size)
int locator_get_packed_oid_set_size (LC_OIDSET * oidset)
void locator_initialize_areas (void)
LC_OIDSET * locator_make_oid_set (void)
bool locator_manyobj_flag_is_set (LC_COPYAREA_MANYOBJS * copyarea, enum MULTI_UPDATE_FLAG muf)
void locator_manyobj_flag_remove (LC_COPYAREA_MANYOBJS * copyarea, enum MULTI_UPDATE_FLAG muf)
void locator_manyobj_flag_set (LC_COPYAREA_MANYOBJS * copyarea, enum MULTI_UPDATE_FLAG muf)
char * locator_pack_copy_area_descriptor (int num_objs, LC_COPYAREA * copyarea, char * desc, int desc_len)
int locator_pack_lockhint (LC_LOCKHINT * lockhint, bool pack_classes)
int locator_pack_lockset (LC_LOCKSET * lockset, bool pack_classes, bool pack_objects)
char * locator_pack_oid_set (char * buffer, LC_OIDSET * oidset)
LC_COPYAREA * locator_reallocate_copy_area_by_length (LC_COPYAREA * old_area, int new_length)
LC_LOCKHINT * locator_reallocate_lockhint (LC_LOCKHINT * lockhint, int max_classes)
LC_LOCKSET * locator_reallocate_lockset (LC_LOCKSET * lockset, int max_reqobjs)
LC_COPYAREA * locator_recv_allocate_copyarea (int num_objs, char ** contents_ptr, int contents_length)
int locator_send_copy_area (LC_COPYAREA * copyarea, char ** contents_ptr, int * contents_length, char ** desc_ptr, int * desc_length, bool encode_endian)
char * locator_unpack_copy_area_descriptor (int num_objs, LC_COPYAREA * copyarea, char * desc, int packed_desc_size)
int locator_unpack_lockhint (LC_LOCKHINT * lockhint, bool unpack_classes)
int locator_unpack_lockset (LC_LOCKSET * lockset, bool unpack_classes, bool unpack_objects)
bool locator_unpack_oid_set_to_exist (char * buffer, LC_OIDSET * use)
LC_OIDSET * locator_unpack_oid_set_to_new (THREAD_ENTRY * thread_p, char * buffer)

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 struct lc_class_oidset LC_CLASS_OIDSET;

typedef LC_COPYAREA

typedef struct lc_copy_area LC_COPYAREA;

typedef LC_COPYAREA_DESC

typedef struct lc_copyarea_desc LC_COPYAREA_DESC;

typedef LC_COPYAREA_MANYOBJS

typedef struct lc_copyarea_manyobjs LC_COPYAREA_MANYOBJS;

typedef LC_COPYAREA_ONEOBJ

typedef struct lc_copyarea_oneobj 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 struct lc_lock_hint LC_LOCKHINT;

typedef LC_LOCKHINT_CLASS

typedef struct lc_lockhint_class LC_LOCKHINT_CLASS;

typedef LC_LOCKSET

typedef struct lc_lock_set LC_LOCKSET;

typedef LC_LOCKSET_CLASSOF

typedef struct lc_lockset_classof LC_LOCKSET_CLASSOF;

typedef LC_LOCKSET_REQOBJ

typedef struct lc_lockset_reqobj LC_LOCKSET_REQOBJ;

typedef LC_OIDMAP

typedef struct lc_oidmap LC_OIDMAP;

typedef LC_OIDSET

typedef struct lc_oidset LC_OIDSET;

typedef LC_PREFETCH_FLAGS

typedef enum lc_prefetch_flags 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

enum lc_prefetch_flags {
    LC_PREF_FLAG_LOCK = 0x00000001,
    LC_PREF_FLAG_COUNT_OPTIM = 0x00000002
};

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

LC_COPYAREA * locator_allocate_copy_area_by_length (
    int length
) 

function locator_allocate_copyarea

LC_COPYAREA * locator_allocate_copyarea (
    DKNPAGES npages
) 

function locator_allocate_lockhint

LC_LOCKHINT * locator_allocate_lockhint (
    int max_classes,
    bool quit_on_errors
) 

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

LC_LOCKSET * locator_allocate_lockset_by_length (
    int length
) 

function locator_clear_oid_set

void locator_clear_oid_set (
    THREAD_ENTRY * thrd,
    LC_OIDSET * oidset
) 

function locator_dump_copy_area

void locator_dump_copy_area (
    FILE * out_fp,
    const  LC_COPYAREA * copyarea,
    int print_rec
) 

function locator_dump_lockhint

void locator_dump_lockhint (
    FILE * out_fp,
    LC_LOCKHINT * lockhint
) 

function locator_dump_lockset

void locator_dump_lockset (
    FILE * out_fp,
    LC_LOCKSET * lockset
) 

function locator_free_areas

void locator_free_areas (
    void
) 

function locator_free_copy_area

void locator_free_copy_area (
    LC_COPYAREA * copyarea
) 

function locator_free_lockhint

void locator_free_lockhint (
    LC_LOCKHINT * lockhint
) 

function locator_free_lockset

void locator_free_lockset (
    LC_LOCKSET * lockset
) 

function locator_free_oid_set

void locator_free_oid_set (
    THREAD_ENTRY * thread_p,
    LC_OIDSET * oidset
) 

function locator_free_packed

void locator_free_packed (
    char * packed_area,
    int packed_size
) 

function locator_get_packed_oid_set_size

int locator_get_packed_oid_set_size (
    LC_OIDSET * oidset
) 

function locator_initialize_areas

void locator_initialize_areas (
    void
) 

function locator_make_oid_set

LC_OIDSET * locator_make_oid_set (
    void
) 

function locator_manyobj_flag_is_set

bool locator_manyobj_flag_is_set (
    LC_COPYAREA_MANYOBJS * copyarea,
    enum  MULTI_UPDATE_FLAG muf
) 

function locator_manyobj_flag_remove

void locator_manyobj_flag_remove (
    LC_COPYAREA_MANYOBJS * copyarea,
    enum  MULTI_UPDATE_FLAG muf
) 

function locator_manyobj_flag_set

void locator_manyobj_flag_set (
    LC_COPYAREA_MANYOBJS * copyarea,
    enum  MULTI_UPDATE_FLAG muf
) 

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

int locator_pack_lockhint (
    LC_LOCKHINT * lockhint,
    bool pack_classes
) 

function locator_pack_lockset

int locator_pack_lockset (
    LC_LOCKSET * lockset,
    bool pack_classes,
    bool pack_objects
) 

function locator_pack_oid_set

char * locator_pack_oid_set (
    char * buffer,
    LC_OIDSET * oidset
) 

function locator_reallocate_copy_area_by_length

LC_COPYAREA * locator_reallocate_copy_area_by_length (
    LC_COPYAREA * old_area,
    int new_length
) 

function locator_reallocate_lockhint

LC_LOCKHINT * locator_reallocate_lockhint (
    LC_LOCKHINT * lockhint,
    int max_classes
) 

function locator_reallocate_lockset

LC_LOCKSET * locator_reallocate_lockset (
    LC_LOCKSET * lockset,
    int max_reqobjs
) 

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

int locator_unpack_lockhint (
    LC_LOCKHINT * lockhint,
    bool unpack_classes
) 

function locator_unpack_lockset

int locator_unpack_lockset (
    LC_LOCKSET * lockset,
    bool unpack_classes,
    bool unpack_objects
) 

function locator_unpack_oid_set_to_exist

bool locator_unpack_oid_set_to_exist (
    char * buffer,
    LC_OIDSET * use
) 

function locator_unpack_oid_set_to_new

LC_OIDSET * locator_unpack_oid_set_to_new (
    THREAD_ENTRY * thread_p,
    char * buffer
) 

Macro Definition Documentation

define LC_AREA_ONEOBJ_PACKED_SIZE

#define LC_AREA_ONEOBJ_PACKED_SIZE `( OR_INT_SIZE * 4 + \ OR_HFID_SIZE + \ OR_OID_SIZE * 2)`

define LC_CLASS_OF_REQOBJ_PACKED_SIZE

#define LC_CLASS_OF_REQOBJ_PACKED_SIZE `( OR_OID_SIZE + OR_INT_SIZE )`

define LC_COPY_ONEOBJ

#define LC_COPY_ONEOBJ (
    new_obj,
    old_obj
) `/* multi line expression */`

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_FETCH_IS_MVCC_VERSION_NEEDED (
    fetch_type
) `(( fetch_type ) == LC_FETCH_MVCC_VERSION )`

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 `0x01 /* Used  for  flushing , set if object has index */`

define LC_FLAG_HAS_INDEX_MASK

#define LC_FLAG_HAS_INDEX_MASK `0x05`

define LC_FLAG_HAS_UNIQUE_INDEX

#define LC_FLAG_HAS_UNIQUE_INDEX `0x04  /* Used  for  flushing , set if object 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_INSERT (
    operation
) `/* multi line expression */`

define LC_IS_FLUSH_UPDATE

#define LC_IS_FLUSH_UPDATE (
    operation
) `/* multi line expression */`

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_CLASS_PACKED_SIZE `( OR_OID_SIZE + OR_INT_SIZE * 3)`

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_MANYOBJS_PTR_IN_COPYAREA (
    copy_areaptr
) `/* multi line expression */`

define LC_NEXT_ONEOBJ_PTR_IN_COPYAREA

#define LC_NEXT_ONEOBJ_PTR_IN_COPYAREA (
    oneobj_ptr
) `(( oneobj_ptr ) - 1)`

define LC_ONEOBJ_GET_INDEX_FLAG

#define LC_ONEOBJ_GET_INDEX_FLAG (
    obj
) `((obj)-> flag & LC_FLAG_HAS_INDEX_MASK )`

define LC_ONEOBJ_IS_TRIGGER_INVOLVED

#define LC_ONEOBJ_IS_TRIGGER_INVOLVED (
    obj
) `(((obj)-> flag & LC_FLAG_TRIGGER_INVOLVED ) != 0)`

define LC_ONEOBJ_IS_UPDATED_BY_ME

#define LC_ONEOBJ_IS_UPDATED_BY_ME (
    obj
) `(((obj)-> flag & LC_FLAG_UPDATED_BY_ME ) != 0)`

define LC_ONEOBJ_SET_HAS_INDEX

#define LC_ONEOBJ_SET_HAS_INDEX (
    obj
) `(obj)-> flag |= LC_FLAG_HAS_INDEX`

define LC_ONEOBJ_SET_HAS_UNIQUE_INDEX

#define LC_ONEOBJ_SET_HAS_UNIQUE_INDEX (
    obj
) `(obj)-> flag |= LC_FLAG_HAS_UNIQUE_INDEX`

define LC_ONEOBJ_SET_TRIGGER_INVOLVED

#define LC_ONEOBJ_SET_TRIGGER_INVOLVED (
    obj
) `(obj)-> flag |= LC_FLAG_TRIGGER_INVOLVED`

define LC_ONEOBJ_SET_UPDATED_BY_ME

#define LC_ONEOBJ_SET_UPDATED_BY_ME (
    obj
) `(obj)-> flag |= LC_FLAG_UPDATED_BY_ME`

define LC_PRIOR_ONEOBJ_PTR_IN_COPYAREA

#define LC_PRIOR_ONEOBJ_PTR_IN_COPYAREA (
    oneobj_ptr
) `(( oneobj_ptr ) + 1)`

define LC_RECDES_IN_COPYAREA

#define LC_RECDES_IN_COPYAREA (
    copy_area_ptr,
    recdes_ptr
) `/* multi line expression */`

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_REQOBJ_PACKED_SIZE `( OR_OID_SIZE + OR_INT_SIZE * 2)`

define LC_START_ONEOBJ_PTR_IN_COPYAREA

#define LC_START_ONEOBJ_PTR_IN_COPYAREA (
    manyobjs_ptr
) `(&( manyobjs_ptr )->objs)`


The documentation for this class was generated from the following file cubrid/src/transaction/locator.h