CUBRID Engine  latest
locator.h File Reference
#include "object_representation_constants.h"
#include "oid.h"
#include "storage_common.h"
#include "thread_compat.hpp"
Include dependency graph for locator.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  lc_copyarea_oneobj
 
struct  lc_copyarea_manyobjs
 
struct  lc_copy_area
 
struct  lc_copyarea_desc
 
struct  lc_lockset_reqobj
 
struct  lc_lockset_classof
 
struct  lc_lock_set
 
struct  lc_lockhint_class
 
struct  lc_lock_hint
 
struct  lc_oidmap
 
struct  lc_class_oidset
 
struct  lc_oidset
 

Macros

#define LC_AREA_ONEOBJ_PACKED_SIZE
 
#define LC_MANYOBJS_PTR_IN_COPYAREA(copy_areaptr)
 
#define LC_START_ONEOBJ_PTR_IN_COPYAREA(manyobjs_ptr)   (&(manyobjs_ptr)->objs)
 
#define LC_LAST_ONEOBJ_PTR_IN_COPYAREA(manyobjs_ptr)   (&(manyobjs_ptr)->objs - ((manyobjs_ptr)->num_objs - 1))
 
#define LC_NEXT_ONEOBJ_PTR_IN_COPYAREA(oneobj_ptr)   ((oneobj_ptr) - 1)
 
#define LC_PRIOR_ONEOBJ_PTR_IN_COPYAREA(oneobj_ptr)   ((oneobj_ptr) + 1)
 
#define LC_FIND_ONEOBJ_PTR_IN_COPYAREA(manyobjs_ptr, obj_num)   (&(manyobjs_ptr)->objs - (obj_num))
 
#define LC_RECDES_TO_GET_ONEOBJ(copy_area_ptr, oneobj_ptr, recdes_ptr)
 
#define LC_REPL_RECDES_FOR_ONEOBJ(copy_area_ptr, oneobj_ptr, key_length, recdes_ptr)
 
#define LC_RECDES_IN_COPYAREA(copy_area_ptr, recdes_ptr)
 
#define LC_REQOBJ_PACKED_SIZE   (OR_OID_SIZE + OR_INT_SIZE * 2)
 
#define LC_CLASS_OF_REQOBJ_PACKED_SIZE   (OR_OID_SIZE + OR_INT_SIZE)
 
#define LC_LOCKSET_PACKED_SIZE(req)
 
#define LC_LOCKHINT_CLASS_PACKED_SIZE   (OR_OID_SIZE + OR_INT_SIZE * 3)
 
#define LC_LOCKHINT_PACKED_SIZE(lockhint)
 
#define LC_COPY_ONEOBJ(new_obj, old_obj)
 
#define LC_IS_FLUSH_INSERT(operation)
 
#define LC_IS_FLUSH_UPDATE(operation)
 
#define LC_FETCH_IS_MVCC_VERSION_NEEDED(fetch_type)   ((fetch_type) == LC_FETCH_MVCC_VERSION)
 
#define LC_FETCH_IS_DIRTY_VERSION_NEEDED(fetch_type)   ((fetch_type) == LC_FETCH_DIRTY_VERSION)
 
#define LC_FETCH_IS_CURRENT_VERSION_NEEDED(fetch_type)   ((fetch_type) == LC_FETCH_CURRENT_VERSION)
 
#define LC_FLAG_HAS_INDEX_MASK   0x05
 
#define LC_ONEOBJ_GET_INDEX_FLAG(obj)   ((obj)->flag & LC_FLAG_HAS_INDEX_MASK)
 
#define LC_FLAG_HAS_INDEX   0x01 /* Used for flushing, set if object has index */
 
#define LC_FLAG_UPDATED_BY_ME   0x02 /* Used by MVCC to identify that an object was updated by current transaction. */
 
#define LC_FLAG_HAS_UNIQUE_INDEX   0x04 /* Used for flushing, set if object has unique index */
 
#define LC_ONEOBJ_SET_HAS_INDEX(obj)   (obj)->flag |= LC_FLAG_HAS_INDEX
 
#define LC_ONEOBJ_SET_HAS_UNIQUE_INDEX(obj)   (obj)->flag |= LC_FLAG_HAS_UNIQUE_INDEX
 
#define LC_ONEOBJ_IS_UPDATED_BY_ME(obj)   (((obj)->flag & LC_FLAG_UPDATED_BY_ME) != 0)
 
#define LC_ONEOBJ_SET_UPDATED_BY_ME(obj)   (obj)->flag |= LC_FLAG_UPDATED_BY_ME
 

Typedefs

typedef struct lc_copyarea_oneobj LC_COPYAREA_ONEOBJ
 
typedef struct lc_copyarea_manyobjs LC_COPYAREA_MANYOBJS
 
typedef struct lc_copy_area LC_COPYAREA
 
typedef struct lc_copyarea_desc LC_COPYAREA_DESC
 
typedef struct lc_lockset_reqobj LC_LOCKSET_REQOBJ
 
typedef struct lc_lockset_classof LC_LOCKSET_CLASSOF
 
typedef struct lc_lock_set LC_LOCKSET
 
typedef struct lc_lockhint_class LC_LOCKHINT_CLASS
 
typedef struct lc_lock_hint LC_LOCKHINT
 
typedef enum lc_prefetch_flags LC_PREFETCH_FLAGS
 
typedef struct lc_oidmap LC_OIDMAP
 
typedef struct lc_class_oidset LC_CLASS_OIDSET
 
typedef struct lc_oidset LC_OIDSET
 

Enumerations

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 { LC_FETCH_CURRENT_VERSION = 0x01, LC_FETCH_MVCC_VERSION = 0x02, LC_FETCH_DIRTY_VERSION = 0x03, LC_FETCH_CURRENT_VERSION_NO_CHECK = 0x04 }
 
enum  MULTI_UPDATE_FLAG { IS_MULTI_UPDATE = 0x01, START_MULTI_UPDATE = 0x02, END_MULTI_UPDATE = 0x04 }
 
enum  lc_prefetch_flags { LC_PREF_FLAG_LOCK = 0x00000001, LC_PREF_FLAG_COUNT_OPTIM = 0x00000002 }
 

Functions

LC_COPYAREAlocator_allocate_copy_area_by_length (int length)
 
LC_COPYAREAlocator_reallocate_copy_area_by_length (LC_COPYAREA *old_area, int new_length)
 
void locator_free_copy_area (LC_COPYAREA *copyarea)
 
char * locator_pack_copy_area_descriptor (int num_objs, LC_COPYAREA *copyarea, char *desc, int desc_len)
 
char * locator_unpack_copy_area_descriptor (int num_objs, LC_COPYAREA *copyarea, char *desc)
 
int locator_send_copy_area (LC_COPYAREA *copyarea, char **contents_ptr, int *contents_length, char **desc_ptr, int *desc_length)
 
LC_COPYAREAlocator_recv_allocate_copyarea (int num_objs, char **packed_desc, int packed_desc_length, char **contents_ptr, int contents_length)
 
LC_LOCKSETlocator_allocate_lockset (int max_reqobjs, LOCK reqobj_inst_lock, LOCK reqobj_class_lock, int quit_on_errors)
 
LC_LOCKSETlocator_reallocate_lockset (LC_LOCKSET *lockset, int max_reqobjs)
 
void locator_free_lockset (LC_LOCKSET *lockset)
 
LC_LOCKSETlocator_allocate_and_unpack_lockset (char *unpacked, int unpacked_size, bool unpack_classes, bool unpack_objects, bool reg_unpacked)
 
int locator_pack_lockset (LC_LOCKSET *lockset, bool pack_classes, bool pack_objects)
 
int locator_unpack_lockset (LC_LOCKSET *lockset, bool unpack_classes, bool unpack_objects)
 
LC_LOCKHINTlocator_allocate_lockhint (int max_classes, bool quit_on_errors)
 
LC_LOCKHINTlocator_reallocate_lockhint (LC_LOCKHINT *lockhint, int max_classes)
 
void locator_free_lockhint (LC_LOCKHINT *lockhint)
 
int locator_pack_lockhint (LC_LOCKHINT *lockhint, bool pack_classes)
 
int locator_unpack_lockhint (LC_LOCKHINT *lockhint, bool unpack_classes)
 
LC_LOCKHINTlocator_allocate_and_unpack_lockhint (char *unpacked, int unpacked_size, bool unpack_classes, bool reg_unpacked)
 
void locator_initialize_areas (void)
 
void locator_free_areas (void)
 
LC_OIDSETlocator_make_oid_set (void)
 
void locator_clear_oid_set (THREAD_ENTRY *thrd, LC_OIDSET *oidset)
 
void locator_free_oid_set (THREAD_ENTRY *thread_p, LC_OIDSET *oidset)
 
LC_OIDMAPlocator_add_oid_set (THREAD_ENTRY *thrd, LC_OIDSET *set, HFID *heap, OID *class_oid, OID *obj_oid)
 
int locator_get_packed_oid_set_size (LC_OIDSET *oidset)
 
char * locator_pack_oid_set (char *buffer, LC_OIDSET *oidset)
 
LC_OIDSETlocator_unpack_oid_set_to_new (THREAD_ENTRY *thread_p, char *buffer)
 
bool locator_unpack_oid_set_to_exist (char *buffer, LC_OIDSET *use)
 
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)
 

Macro Definition Documentation

#define LC_AREA_ONEOBJ_PACKED_SIZE
Value:

Definition at line 35 of file locator.h.

Referenced by locator_send_copy_area().

#define LC_CLASS_OF_REQOBJ_PACKED_SIZE   (OR_OID_SIZE + OR_INT_SIZE)

Definition at line 82 of file locator.h.

#define LC_COPY_ONEOBJ (   new_obj,
  old_obj 
)
Value:
do { \
(new_obj)->operation = (old_obj)->operation; \
(new_obj)->flag = (old_obj)->flag; \
HFID_COPY(&((new_obj)->hfid), &((old_obj)->hfid)); \
COPY_OID(&((new_obj)->class_oid), &((old_obj)->class_oid)); \
COPY_OID(&((new_obj)->oid), &((old_obj)->oid)); \
(new_obj)->length = (old_obj)->length; \
(new_obj)->offset = (old_obj)->offset; \
} while(0)
#define COPY_OID(dest_oid_ptr, src_oid_ptr)
Definition: oid.h:63
flag()
Definition: base_flag.hpp:56
#define HFID_COPY(hfid_ptr1, hfid_ptr2)

Definition at line 95 of file locator.h.

Referenced by locator_reallocate_copy_area_by_length().

#define LC_FETCH_IS_CURRENT_VERSION_NEEDED (   fetch_type)    ((fetch_type) == LC_FETCH_CURRENT_VERSION)

Definition at line 192 of file locator.h.

#define LC_FETCH_IS_DIRTY_VERSION_NEEDED (   fetch_type)    ((fetch_type) == LC_FETCH_DIRTY_VERSION)

Definition at line 189 of file locator.h.

Referenced by locator_cache_lock().

#define LC_FETCH_IS_MVCC_VERSION_NEEDED (   fetch_type)    ((fetch_type) == LC_FETCH_MVCC_VERSION)

Definition at line 186 of file locator.h.

Referenced by xlocator_fetch().

#define LC_FIND_ONEOBJ_PTR_IN_COPYAREA (   manyobjs_ptr,
  obj_num 
)    (&(manyobjs_ptr)->objs - (obj_num))
#define LC_FLAG_HAS_INDEX   0x01 /* Used for flushing, set if object has index */

Definition at line 199 of file locator.h.

Referenced by locator_attribute_info_force().

#define LC_FLAG_HAS_INDEX_MASK   0x05

Definition at line 195 of file locator.h.

#define LC_FLAG_HAS_UNIQUE_INDEX   0x04 /* Used for flushing, set if object has unique index */

Definition at line 201 of file locator.h.

Referenced by locator_attribute_info_force(), and locator_update_force().

#define LC_FLAG_UPDATED_BY_ME   0x02 /* Used by MVCC to identify that an object was updated by current transaction. */

Definition at line 200 of file locator.h.

#define LC_IS_FLUSH_INSERT (   operation)
#define LC_LAST_ONEOBJ_PTR_IN_COPYAREA (   manyobjs_ptr)    (&(manyobjs_ptr)->objs - ((manyobjs_ptr)->num_objs - 1))

Definition at line 45 of file locator.h.

#define LC_LOCKHINT_CLASS_PACKED_SIZE   (OR_OID_SIZE + OR_INT_SIZE * 3)

Definition at line 89 of file locator.h.

#define LC_LOCKHINT_PACKED_SIZE (   lockhint)
Value:
(OR_INT_SIZE * 4 + \
LC_LOCKHINT_CLASS_PACKED_SIZE * lockhint->max_classes)
#define LC_LOCKHINT_CLASS_PACKED_SIZE
Definition: locator.h:89

Definition at line 91 of file locator.h.

Referenced by locator_pack_lockhint().

#define LC_LOCKSET_PACKED_SIZE (   req)
Value:
(OR_INT_SIZE * 9 + \
LC_CLASS_OF_REQOBJ_PACKED_SIZE * req->max_reqobjs + \
LC_REQOBJ_PACKED_SIZE * req->max_reqobjs)
#define LC_CLASS_OF_REQOBJ_PACKED_SIZE
Definition: locator.h:82
#define LC_REQOBJ_PACKED_SIZE
Definition: locator.h:81

Definition at line 84 of file locator.h.

Referenced by locator_pack_lockset().

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

Definition at line 196 of file locator.h.

Referenced by locator_force_for_multi_update(), xlocator_force(), and xlocator_repl_force().

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

Definition at line 209 of file locator.h.

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

Definition at line 203 of file locator.h.

Referenced by locator_mflush(), and locator_repl_mflush().

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

Definition at line 206 of file locator.h.

Referenced by locator_mflush().

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

Definition at line 212 of file locator.h.

#define LC_PRIOR_ONEOBJ_PTR_IN_COPYAREA (   oneobj_ptr)    ((oneobj_ptr) + 1)
#define LC_RECDES_IN_COPYAREA (   copy_area_ptr,
  recdes_ptr 
)
#define LC_RECDES_TO_GET_ONEOBJ (   copy_area_ptr,
  oneobj_ptr,
  recdes_ptr 
)
Value:
do { \
(recdes_ptr)->data = (char *) ((copy_area_ptr)->mem + \
(oneobj_ptr)->offset); \
(recdes_ptr)->length = (recdes_ptr)->area_size = (oneobj_ptr)->length; \
if (!OID_IS_ROOTOID (&((oneobj_ptr)->class_oid))) \
{ \
(recdes_ptr)->area_size += \
} \
} while (0)
#define OR_MVCC_MAX_HEADER_SIZE
#define OID_IS_ROOTOID(oidp)
Definition: oid.h:82
#define OR_MVCC_INSERT_HEADER_SIZE
if(extra_options)
Definition: dynamic_load.c:958

Definition at line 54 of file locator.h.

Referenced by locator_cache(), locator_force_for_multi_update(), process_class(), xlocator_force(), and xlocator_upgrade_instances_domain().

#define LC_REPL_RECDES_FOR_ONEOBJ (   copy_area_ptr,
  oneobj_ptr,
  key_length,
  recdes_ptr 
)
Value:
do { \
(recdes_ptr)->data = (char *)((copy_area_ptr)->mem \
+ (oneobj_ptr)->offset + (key_length)); \
(recdes_ptr)->length = (recdes_ptr)->area_size = (oneobj_ptr)->length \
- (key_length); \
} while (0)

Definition at line 66 of file locator.h.

Referenced by xlocator_repl_force().

#define LC_REQOBJ_PACKED_SIZE   (OR_OID_SIZE + OR_INT_SIZE * 2)

Definition at line 81 of file locator.h.

Typedef Documentation

Definition at line 362 of file locator.h.

typedef struct lc_copy_area LC_COPYAREA

Definition at line 244 of file locator.h.

Definition at line 251 of file locator.h.

Definition at line 235 of file locator.h.

Definition at line 216 of file locator.h.

typedef struct lc_lock_hint LC_LOCKHINT

Definition at line 318 of file locator.h.

Definition at line 309 of file locator.h.

typedef struct lc_lock_set LC_LOCKSET

Definition at line 278 of file locator.h.

Definition at line 271 of file locator.h.

Definition at line 263 of file locator.h.

typedef struct lc_oidmap LC_OIDMAP

Definition at line 343 of file locator.h.

typedef struct lc_oidset LC_OIDSET

Definition at line 381 of file locator.h.

Definition at line 339 of file locator.h.

Enumeration Type Documentation

Enumerator
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 

Definition at line 106 of file locator.h.

Enumerator
LC_FETCH_CURRENT_VERSION 
LC_FETCH_MVCC_VERSION 
LC_FETCH_DIRTY_VERSION 
LC_FETCH_CURRENT_VERSION_NO_CHECK 

Definition at line 178 of file locator.h.

Enumerator
LC_PREF_FLAG_LOCK 
LC_PREF_FLAG_COUNT_OPTIM 

Definition at line 334 of file locator.h.

Enumerator
IS_MULTI_UPDATE 
START_MULTI_UPDATE 
END_MULTI_UPDATE 

Definition at line 228 of file locator.h.

Function Documentation

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 
)
void locator_free_copy_area ( LC_COPYAREA copyarea)

Definition at line 534 of file locator.c.

References locator_global::locator_global_copyareas::areas, locator_global::copy_areas, free_and_init, lc_copy_area::length, LOCATOR_CACHED_COPYAREA_SIZE_LIMIT, LOCATOR_NKEEP_LIMIT, lc_copy_area::mem, MEM_REGION_SCRAMBLE, locator_global::locator_global_copyareas::number, pthread_mutex_lock, pthread_mutex_unlock, and rv.

Referenced by locator_allocate_copy_area_by_attr_info(), locator_attribute_info_force(), locator_force(), locator_fun_get_all_mops(), locator_get_rest_objects_classes(), locator_insert_force(), locator_lock(), locator_lock_and_doesexist(), locator_lock_class_of_instance(), locator_lock_nested(), locator_lockhint_classes(), locator_mflush_end(), locator_mflush_reallocate_copy_area(), locator_mvcc_reev_cond_assigns(), locator_reallocate_copy_area_by_length(), locator_recv_allocate_copyarea(), locator_repl_mflush_force(), locator_synch_isolation_incons(), locator_update_force(), net_client_request_recv_copyarea(), process_class(), qexec_execute_delete(), qexec_execute_update(), qexec_oid_of_duplicate_key_update(), qexec_remove_duplicates_for_replace(), slocator_does_exist(), slocator_fetch(), slocator_fetch_all(), slocator_fetch_all_reference_lockset(), slocator_fetch_lockhint_classes(), slocator_fetch_lockset(), slocator_find_lockhint_class_oids(), slocator_force(), slocator_get_class(), slocator_notify_isolation_incons(), slocator_repl_force(), xlocator_fetch(), xlocator_fetch_all(), xlocator_fetch_lockhint_classes(), xlocator_fetch_lockset(), xlocator_lock_and_fetch_all(), xlocator_notify_isolation_incons(), and xlocator_upgrade_instances_domain().

void locator_free_oid_set ( THREAD_ENTRY thread_p,
LC_OIDSET oidset 
)
int locator_get_packed_oid_set_size ( LC_OIDSET oidset)

Definition at line 2363 of file locator.c.

References lc_oidset::classes, cubregex::count(), lc_class_oidset::next, NULL, lc_oidset::num_classes, lc_class_oidset::num_oids, OR_HFID_SIZE, OR_INT_SIZE, and OR_OID_SIZE.

Referenced by locator_assign_oid_batch().

Here is the caller graph for this function:

LC_OIDSET* locator_make_oid_set ( void  )

Definition at line 2116 of file locator.c.

References db_private_alloc, and NULL.

Referenced by col_permanent_oids(), ldr_assign_all_perm_oids(), locator_assign_all_permanent_oids(), and tf_add_fixup().

Here is the caller graph for this function:

bool locator_manyobj_flag_is_set ( LC_COPYAREA_MANYOBJS copyarea,
enum MULTI_UPDATE_FLAG  muf 
)

Definition at line 2597 of file locator.c.

References lc_copyarea_manyobjs::multi_update_flags.

Referenced by locator_force(), locator_force_for_multi_update(), locator_manyobj_flag_remove(), and xlocator_force().

Here is the caller graph for this function:

void locator_manyobj_flag_remove ( LC_COPYAREA_MANYOBJS copyarea,
enum MULTI_UPDATE_FLAG  muf 
)

Definition at line 2603 of file locator.c.

References assert, locator_manyobj_flag_is_set(), and lc_copyarea_manyobjs::multi_update_flags.

Referenced by locator_force().

Here is the caller graph for this function:

void locator_manyobj_flag_set ( LC_COPYAREA_MANYOBJS copyarea,
enum MULTI_UPDATE_FLAG  muf 
)

Definition at line 2610 of file locator.c.

References lc_copyarea_manyobjs::multi_update_flags.

Referenced by locator_flush_for_multi_update().

Here is the caller graph for this function:

char* locator_pack_copy_area_descriptor ( int  num_objs,
LC_COPYAREA copyarea,
char *  desc,
int  desc_len 
)
LC_LOCKHINT* locator_reallocate_lockhint ( LC_LOCKHINT lockhint,
int  max_classes 
)

Definition at line 1731 of file locator.c.

References lc_lock_hint::classes, lc_lock_hint::length, lc_lock_hint::max_classes, lc_lock_hint::mem, and NULL.

Referenced by locator_guess_sub_classes().

Here is the caller graph for this function:

LC_LOCKSET* locator_reallocate_lockset ( LC_LOCKSET lockset,
int  max_reqobjs 
)

Definition at line 1091 of file locator.c.

References lc_lock_set::classes, lc_lock_set::length, lc_lock_set::max_reqobjs, lc_lock_set::mem, NULL, lc_lock_set::num_reqobjs, and lc_lock_set::objects.

Referenced by locator_all_reference_lockset().

Here is the caller graph for this function:

int locator_unpack_lockhint ( LC_LOCKHINT lockhint,
bool  unpack_classes 
)

Definition at line 2083 of file locator.c.

References CAST_BUFLEN, locator_unpack_lockhint_classes(), locator_unpack_lockhint_header(), and lc_lock_hint::packed.

Referenced by locator_allocate_and_unpack_lockhint(), and locator_fetch_lockhint_classes().

Here is the caller graph for this function:

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 
)