CUBRID Engine  latest
class_object.h File Reference
#include "object_domain.h"
#include "work_space.h"
#include "storage_common.h"
#include "statistics.h"
Include dependency graph for class_object.h:

Go to the source code of this file.

Classes

struct  sm_class_header
 
struct  sm_constraint
 
struct  sm_component
 
struct  sm_default_value
 
struct  sm_attribute
 
struct  sm_foreign_key_info
 
struct  sm_predicate_info
 
struct  sm_function_info
 
struct  sm_class_constraint
 
struct  sm_method_argument
 
struct  sm_method_signature
 
struct  sm_method
 
struct  sm_method_file
 
struct  sm_resolution
 
struct  sm_repr_attribute
 
struct  sm_representation
 
struct  sm_query_spec
 
struct  sm_partition
 
struct  sm_class
 
struct  sm_template
 
struct  sm_class_info
 
struct  sm_descriptor_list
 
struct  sm_validation
 
struct  sm_descriptor
 

Macros

#define SM_COMPARE_NAMES   intl_identifier_casecmp
 
#define SM_IS_ATTFLAG_AUTO_INCREMENT(c)   (c == SM_ATTFLAG_AUTO_INCREMENT)
 
#define SM_IS_ATTFLAG_UNIQUE_FAMILY(c)
 
#define SM_IS_ATTFLAG_INDEX_FAMILY(c)
 
#define SM_IS_ATTFLAG_REVERSE_INDEX_FAMILY(c)
 
#define SM_IS_ATTFLAG_UNIQUE_FAMILY_OR_FOREIGN_KEY(c)
 
#define SM_MAP_INDEX_ATTFLAG_TO_CONSTRAINT(c)
 
#define SM_MAP_CONSTRAINT_ATTFLAG_TO_PROPERTY(c)
 
#define SM_MAP_CONSTRAINT_TO_ATTFLAG(c)
 
#define SM_MAP_DB_INDEX_CONSTRAINT_TO_SM_CONSTRAINT(c)
 
#define SM_IS_CONSTRAINT_UNIQUE_FAMILY(c)
 
#define SM_IS_CONSTRAINT_INDEX_FAMILY(c)
 
#define SM_IS_CONSTRAINT_REVERSE_INDEX_FAMILY(c)
 
#define SM_IS_SHARE_WITH_FOREIGN_KEY(c)
 
#define SM_IS_CONSTRAINT_EXCEPT_INDEX_FAMILY(c)
 
#define SM_IS_INDEX_FAMILY(c)
 
#define SM_FIND_NAME_IN_COMPONENT_LIST(complist, name)   classobj_complist_search((SM_COMPONENT *)complist, name)
 
#define SM_MAX_CLASS_COMMENT_LENGTH   2048 /* max comment length for class */
 
#define SM_MAX_COMMENT_LENGTH   1024
 
#define SM_GET_CONSTRAINT_STRING(c)
 
#define SM_GET_FILTER_PRED_STREAM(filter)   ((filter) == NULL ? NULL : (filter)->pred_stream)
 
#define SM_GET_FILTER_PRED_STREAM_SIZE(filter)   ((filter) == NULL ? 0 : (filter)->pred_stream_size)
 
#define classobj_free_threaded_array_and_init(list, clear)
 
#define classobj_free_prop_and_init(properties)
 
#define classobj_free_class_constraints_and_init(constraints)
 

Typedefs

typedef void(* METHOD_FUNCTION) ()
 
typedef void(* METHOD_FUNC_ARG4) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG5) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG6) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG7) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG8) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG9) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG10) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG11) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG12) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG13) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG14) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG15) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG16) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG17) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG18) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG19) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG20) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG21) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG22) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG23) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG24) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG25) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG26) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG27) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG28) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG29) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG30) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG31) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG32) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
 
typedef void(* METHOD_FUNC_ARG33) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE_LIST *)
 
typedef struct tp_domain SM_DOMAIN
 
typedef struct sm_class_header SM_CLASS_HEADER
 
typedef struct sm_constraint SM_CONSTRAINT
 
typedef struct sm_component SM_COMPONENT
 
typedef struct sm_default_value SM_DEFAULT_VALUE
 
typedef struct sm_attribute SM_ATTRIBUTE
 
typedef struct sm_foreign_key_info SM_FOREIGN_KEY_INFO
 
typedef struct sm_predicate_info SM_PREDICATE_INFO
 
typedef struct sm_function_info SM_FUNCTION_INFO
 
typedef struct sm_class_constraint SM_CLASS_CONSTRAINT
 
typedef struct sm_method_argument SM_METHOD_ARGUMENT
 
typedef struct sm_method_signature SM_METHOD_SIGNATURE
 
typedef struct sm_method SM_METHOD
 
typedef struct sm_method_file SM_METHOD_FILE
 
typedef struct sm_resolution SM_RESOLUTION
 
typedef struct sm_repr_attribute SM_REPR_ATTRIBUTE
 
typedef struct sm_representation SM_REPRESENTATION
 
typedef struct sm_query_spec SM_QUERY_SPEC
 
typedef struct sm_partition SM_PARTITION
 
typedef struct sm_class SM_CLASS
 
typedef struct sm_templateSMT
 
typedef struct sm_template SM_TEMPLATE
 
typedef struct sm_class_info SM_CLASS_INFO
 
typedef struct sm_descriptor_list SM_DESCRIPTOR_LIST
 
typedef struct sm_validation SM_VALIDATION
 
typedef struct sm_descriptor SM_DESCRIPTOR
 

Enumerations

enum  SM_CONSTRAINT_TYPE {
  SM_CONSTRAINT_UNIQUE, SM_CONSTRAINT_INDEX, SM_CONSTRAINT_NOT_NULL, SM_CONSTRAINT_REVERSE_UNIQUE,
  SM_CONSTRAINT_REVERSE_INDEX, SM_CONSTRAINT_PRIMARY_KEY, SM_CONSTRAINT_FOREIGN_KEY
}
 
enum  SM_CLASS_TYPE { SM_CLASS_CT, SM_VCLASS_CT, SM_ADT_CT }
 
enum  SM_CLASS_FLAG { SM_CLASSFLAG_SYSTEM = 1, SM_CLASSFLAG_WITHCHECKOPTION = 2, SM_CLASSFLAG_LOCALCHECKOPTION = 4, SM_CLASSFLAG_REUSE_OID = 8 }
 
enum  SM_METATYPE { SM_META_ROOT, SM_META_CLASS }
 
enum  SM_CONSTRAINT_FAMILY { SM_CONSTRAINT_NAME, SM_INDEX_NAME }
 
enum  SM_CONSTRAINT_EXTRA_FLAG { SM_FLAG_NORMALLY_INITIALIZED, SM_FLAG_TO_BE_REINTIALIZED }
 
enum  SM_INDEX_STATUS {
  SM_NO_INDEX = 0, SM_NORMAL_INDEX = 1, SM_INVISIBLE_INDEX = 2, SM_ONLINE_INDEX_BUILDING_IN_PROGRESS = 3,
  SM_RESERVED_INDEX_STATUS1 = 4, SM_RESERVED_INDEX_STATUS2 = 5, SM_RESERVED_INDEX_STATUS3 = 6, SM_RESERVED_INDEX_STATUS4 = 7,
  SM_RESERVED_INDEX_STATUS5 = 8, SM_RESERVED_INDEX_STATUS6 = 9, SM_LAST_INDEX_STATUS = 10
}
 

Functions

int classobj_area_init (void)
 
void classobj_area_final (void)
 
DB_LISTclassobj_alloc_threaded_array (int size, int count)
 
void classobj_free_threaded_array (DB_LIST *array, LFREEER clear)
 
DB_SEQclassobj_make_prop (void)
 
int classobj_copy_props (DB_SEQ *properties, MOP filter_class, DB_SEQ **new_)
 
void classobj_free_prop (DB_SEQ *properties)
 
int classobj_put_prop (DB_SEQ *properties, const char *name, DB_VALUE *pvalue)
 
int classobj_drop_prop (DB_SEQ *properties, const char *name)
 
int classobj_put_index (DB_SEQ **properties, SM_CONSTRAINT_TYPE type, const char *constraint_name, SM_ATTRIBUTE **atts, const int *asc_desc, const int *attr_prefix_length, const BTID *id, SM_PREDICATE_INFO *filter_index_info, SM_FOREIGN_KEY_INFO *fk_info, char *shared_cons_name, SM_FUNCTION_INFO *func_index_info, const char *comment, SM_INDEX_STATUS index_status, bool attr_name_instead_of_id)
 
int classobj_find_prop_constraint (DB_SEQ *properties, const char *prop_name, const char *cnstr_name, DB_VALUE *cnstr_val)
 
int classobj_change_constraint_comment (DB_SEQ *properties, SM_CLASS_CONSTRAINT *cons, const char *comment)
 
int classobj_get_cached_constraint (SM_CONSTRAINT *constraints, SM_CONSTRAINT_TYPE type, BTID *id)
 
bool classobj_has_class_unique_constraint (SM_CLASS_CONSTRAINT *constraints)
 
bool classobj_has_unique_constraint (SM_CONSTRAINT *constraints)
 
bool classobj_has_function_constraint (SM_CONSTRAINT *constraints)
 
int classobj_btid_from_property_value (DB_VALUE *value, BTID *btid, char **shared_cons_name)
 
int classobj_oid_from_property_value (DB_VALUE *value, OID *oid)
 
bool classobj_cache_constraints (SM_CLASS *class_)
 
int classobj_make_class_constraints (DB_SET *props, SM_ATTRIBUTE *attributes, SM_CLASS_CONSTRAINT **con_ptr)
 
void classobj_free_foreign_key_ref (SM_FOREIGN_KEY_INFO *fk_info)
 
void classobj_free_class_constraints (SM_CLASS_CONSTRAINT *constraints)
 
void classobj_decache_class_constraints (SM_CLASS *class_)
 
int classobj_cache_class_constraints (SM_CLASS *class_)
 
void classobj_free_function_index_ref (SM_FUNCTION_INFO *func_index_info)
 
SM_CLASS_CONSTRAINTclassobj_find_class_constraint (SM_CLASS_CONSTRAINT *constraints, SM_CONSTRAINT_TYPE type, const char *name)
 
SM_CLASS_CONSTRAINTclassobj_find_class_constraint_by_btid (SM_CLASS_CONSTRAINT *constraints, SM_CONSTRAINT_TYPE type, BTID btid)
 
SM_CLASS_CONSTRAINTclassobj_find_class_index (SM_CLASS *class_, const char *name)
 
SM_CLASS_CONSTRAINTclassobj_find_constraint_by_name (SM_CLASS_CONSTRAINT *cons_list, const char *name)
 
SM_CLASS_CONSTRAINTclassobj_find_constraint_by_attrs (SM_CLASS_CONSTRAINT *cons_list, DB_CONSTRAINT_TYPE new_cons, const char **att_names, const int *asc_desc)
 
TP_DOMAINclassobj_find_cons_index2_col_type_list (SM_CLASS_CONSTRAINT *cons, OID *root_oid)
 
void classobj_remove_class_constraint_node (SM_CLASS_CONSTRAINT **constraints, SM_CLASS_CONSTRAINT *node)
 
int classobj_populate_class_properties (DB_SET **properties, SM_CLASS_CONSTRAINT *constraints, SM_CONSTRAINT_TYPE type)
 
bool classobj_class_has_indexes (SM_CLASS *class_)
 
SM_ATTRIBUTEclassobj_make_attribute (const char *name, struct pr_type *type, SM_NAME_SPACE name_space)
 
SM_ATTRIBUTEclassobj_copy_attribute (SM_ATTRIBUTE *src, const char *alias)
 
int classobj_copy_attlist (SM_ATTRIBUTE *attlist, MOP filter_class, int ordered, SM_ATTRIBUTE **copy_ptr)
 
void classobj_free_attribute (SM_ATTRIBUTE *att)
 
SM_METHOD_ARGUMENTclassobj_make_method_arg (int index)
 
SM_METHOD_ARGUMENTclassobj_find_method_arg (SM_METHOD_ARGUMENT **arglist, int index, int create)
 
SM_METHOD_SIGNATUREclassobj_make_method_signature (const char *name)
 
void classobj_free_method_signature (SM_METHOD_SIGNATURE *sig)
 
SM_METHODclassobj_make_method (const char *name, SM_NAME_SPACE name_space)
 
SM_METHODclassobj_copy_method (SM_METHOD *src, const char *alias)
 
void classobj_free_method (SM_METHOD *method)
 
SM_RESOLUTIONclassobj_make_resolution (MOP class_mop, const char *name, const char *alias, SM_NAME_SPACE name_space)
 
int classobj_copy_reslist (SM_RESOLUTION *src, SM_NAME_SPACE resspace, SM_RESOLUTION **copy_ptr)
 
void classobj_free_resolution (SM_RESOLUTION *res)
 
SM_RESOLUTIONclassobj_find_resolution (SM_RESOLUTION *reslist, MOP class_mop, const char *name, SM_NAME_SPACE name_space)
 
SM_METHOD_FILEclassobj_make_method_file (const char *name)
 
int classobj_copy_methfiles (SM_METHOD_FILE *files, MOP filter_class, SM_METHOD_FILE **copy_ptr)
 
void classobj_free_method_file (SM_METHOD_FILE *file)
 
SM_REPR_ATTRIBUTEclassobj_make_repattribute (int attid, DB_TYPE typeid_, TP_DOMAIN *domain)
 
SM_REPRESENTATIONclassobj_make_representation (void)
 
void classobj_free_representation (SM_REPRESENTATION *rep)
 
SM_QUERY_SPECclassobj_make_query_spec (const char *)
 
SM_QUERY_SPECclassobj_copy_query_spec_list (SM_QUERY_SPEC *)
 
void classobj_free_query_spec (SM_QUERY_SPEC *)
 
SM_TEMPLATEclassobj_make_template (const char *name, MOP op, SM_CLASS *class_)
 
SM_TEMPLATEclassobj_make_template_like (const char *name, SM_CLASS *class_)
 
void classobj_free_template (SM_TEMPLATE *template_ptr)
 
SM_CLASSclassobj_make_class (const char *name)
 
void classobj_free_class (SM_CLASS *class_)
 
int classobj_class_size (SM_CLASS *class_)
 
int classobj_install_template (SM_CLASS *class_, SM_TEMPLATE *flat, int saverep)
 
SM_REPRESENTATIONclassobj_find_representation (SM_CLASS *class_, int id)
 
void classobj_fixup_loaded_class (SM_CLASS *class_)
 
SM_COMPONENTclassobj_filter_components (SM_COMPONENT **complist, SM_NAME_SPACE name_space)
 
int classobj_annotate_method_files (SM_CLASS *class_, MOP classmop)
 
SM_ATTRIBUTEclassobj_find_attribute (SM_CLASS *class_, const char *name, int class_attribute)
 
SM_ATTRIBUTEclassobj_find_attribute_id (SM_CLASS *class_, int id, int class_attribute)
 
SM_ATTRIBUTEclassobj_find_attribute_list (SM_ATTRIBUTE *attlist, const char *name, int id)
 
SM_METHODclassobj_find_method (SM_CLASS *class_, const char *name, int class_method)
 
SM_COMPONENTclassobj_find_component (SM_CLASS *class_, const char *name, int class_component)
 
SM_COMPONENTclassobj_complist_search (SM_COMPONENT *list, const char *name)
 
const char ** classobj_point_at_att_names (SM_CLASS_CONSTRAINT *constraint, int *count_ref)
 
SM_DESCRIPTORclassobj_make_descriptor (MOP class_mop, SM_CLASS *classobj, SM_COMPONENT *comp, int write_access)
 
SM_DESCRIPTOR_LISTclassobj_make_desclist (MOP class_mop, SM_CLASS *classobj, SM_COMPONENT *comp, int write_access)
 
void classobj_free_desclist (SM_DESCRIPTOR_LIST *dl)
 
void classobj_free_descriptor (SM_DESCRIPTOR *desc)
 
SM_CLASS_CONSTRAINTclassobj_find_class_primary_key (SM_CLASS *class_)
 
SM_CLASS_CONSTRAINTclassobj_find_cons_primary_key (SM_CLASS_CONSTRAINT *cons_list)
 
const char * classobj_map_constraint_to_property (SM_CONSTRAINT_TYPE constraint)
 
char * classobj_describe_foreign_key_action (SM_FOREIGN_KEY_ACTION action)
 
bool classobj_is_pk_referred (MOP clsop, SM_FOREIGN_KEY_INFO *fk_info, bool include_self_ref, char **fk_name)
 
int classobj_check_index_exist (SM_CLASS_CONSTRAINT *constraints, char **out_shared_cons_name, const char *class_name, DB_CONSTRAINT_TYPE constraint_type, const char *constraint_name, const char **att_names, const int *asc_desc, const SM_PREDICATE_INFO *filter_index, const SM_FUNCTION_INFO *func_index_info)
 
void classobj_initialize_attributes (SM_ATTRIBUTE *attributes)
 
int classobj_copy_default_expr (DB_DEFAULT_EXPR *dest, const DB_DEFAULT_EXPR *src)
 
void classobj_initialize_methods (SM_METHOD *methods)
 
SM_PARTITIONclassobj_make_partition_info (void)
 
void classobj_free_partition_info (SM_PARTITION *partition_info)
 
SM_PARTITIONclassobj_copy_partition_info (SM_PARTITION *partition_info)
 
int classobj_change_constraint_status (DB_SEQ *properties, SM_CLASS_CONSTRAINT *cons, SM_INDEX_STATUS index_status)
 

Macro Definition Documentation

#define classobj_free_class_constraints_and_init (   constraints)
Value:
do \
{ \
(constraints) = NULL; \
} \
while (0)
void classobj_free_class_constraints(SM_CLASS_CONSTRAINT *constraints)
#define NULL
Definition: freelistheap.h:34
while(1)
Definition: cnvlex.c:816

Definition at line 924 of file class_object.h.

Referenced by classobj_free_class().

#define classobj_free_prop_and_init (   properties)
Value:
do \
{ \
classobj_free_prop ((properties)); \
(properties) = NULL; \
} \
while (0)
void classobj_free_prop(DB_SEQ *properties)
Definition: class_object.c:292
#define NULL
Definition: freelistheap.h:34
while(1)
Definition: cnvlex.c:816

Definition at line 916 of file class_object.h.

Referenced by classobj_free_class().

#define classobj_free_threaded_array_and_init (   list,
  clear 
)
Value:
do \
{ \
(list) = NULL; \
} \
while (0)
void(* LFREEER)(void *)
Definition: work_space.h:562
#define NULL
Definition: freelistheap.h:34
while(1)
Definition: cnvlex.c:816
void classobj_free_threaded_array(DB_LIST *array, LFREEER clear)
Definition: class_object.c:248
void clear(cub_regex_object *&regex, char *&pattern)

Definition at line 908 of file class_object.h.

Referenced by classobj_free_class().

#define SM_FIND_NAME_IN_COMPONENT_LIST (   complist,
  name 
)    classobj_complist_search((SM_COMPONENT *)complist, name)
#define SM_GET_CONSTRAINT_STRING (   c)
Value:
((c) == DB_CONSTRAINT_UNIQUE ? "UNIQUE": \
(c) == DB_CONSTRAINT_PRIMARY_KEY ? "PRIMARY KEY": \
(c) == DB_CONSTRAINT_FOREIGN_KEY ? "FOREIGN KEY": \
(c) == DB_CONSTRAINT_REVERSE_UNIQUE ? "REVERSE_UNIQUE": \
"REVERSE_INDEX")

Definition at line 156 of file class_object.h.

Referenced by smt_add_constraint().

#define SM_GET_FILTER_PRED_STREAM (   filter)    ((filter) == NULL ? NULL : (filter)->pred_stream)

Definition at line 162 of file class_object.h.

Referenced by allocate_index(), and sm_load_online_index().

#define SM_GET_FILTER_PRED_STREAM_SIZE (   filter)    ((filter) == NULL ? 0 : (filter)->pred_stream_size)

Definition at line 165 of file class_object.h.

Referenced by allocate_index(), and sm_load_online_index().

#define SM_IS_ATTFLAG_AUTO_INCREMENT (   c)    (c == SM_ATTFLAG_AUTO_INCREMENT)

Definition at line 53 of file class_object.h.

#define SM_IS_ATTFLAG_INDEX_FAMILY (   c)
Value:

Definition at line 61 of file class_object.h.

Referenced by sm_att_constrained(), and smt_add_constraint().

#define SM_IS_ATTFLAG_REVERSE_INDEX_FAMILY (   c)
Value:

Definition at line 68 of file class_object.h.

#define SM_IS_ATTFLAG_UNIQUE_FAMILY (   c)
#define SM_IS_ATTFLAG_UNIQUE_FAMILY_OR_FOREIGN_KEY (   c)
Value:
? true : false)
#define SM_IS_ATTFLAG_UNIQUE_FAMILY(c)
Definition: class_object.h:55

Definition at line 73 of file class_object.h.

Referenced by smt_drop_constraint(), and smt_drop_constraint_from_property().

#define SM_IS_CONSTRAINT_EXCEPT_INDEX_FAMILY (   c)
Value:
? true : false )
#define SM_IS_CONSTRAINT_UNIQUE_FAMILY(c)
Definition: class_object.h:111

Definition at line 134 of file class_object.h.

Referenced by do_drop_saved_indexes(), and smt_rename_any().

#define SM_IS_INDEX_FAMILY (   c)
#define SM_IS_SHARE_WITH_FOREIGN_KEY (   c)
Value:

Definition at line 129 of file class_object.h.

Referenced by classobj_check_index_compatibility().

#define SM_MAP_CONSTRAINT_ATTFLAG_TO_PROPERTY (   c)
#define SM_MAX_CLASS_COMMENT_LENGTH   2048 /* max comment length for class */

Definition at line 149 of file class_object.h.

Referenced by class_description::init().

#define SM_MAX_COMMENT_LENGTH   1024

Definition at line 151 of file class_object.h.

Typedef Documentation

typedef void(* METHOD_FUNC_ARG10) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 179 of file class_object.h.

typedef void(* METHOD_FUNC_ARG11) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 181 of file class_object.h.

typedef void(* METHOD_FUNC_ARG12) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 183 of file class_object.h.

typedef void(* METHOD_FUNC_ARG13) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 185 of file class_object.h.

typedef void(* METHOD_FUNC_ARG14) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 188 of file class_object.h.

typedef void(* METHOD_FUNC_ARG15) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 191 of file class_object.h.

typedef void(* METHOD_FUNC_ARG16) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 194 of file class_object.h.

typedef void(* METHOD_FUNC_ARG17) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 197 of file class_object.h.

typedef void(* METHOD_FUNC_ARG18) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 200 of file class_object.h.

typedef void(* METHOD_FUNC_ARG19) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 203 of file class_object.h.

typedef void(* METHOD_FUNC_ARG20) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 206 of file class_object.h.

typedef void(* METHOD_FUNC_ARG21) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 210 of file class_object.h.

typedef void(* METHOD_FUNC_ARG22) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 214 of file class_object.h.

typedef void(* METHOD_FUNC_ARG23) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 218 of file class_object.h.

typedef void(* METHOD_FUNC_ARG24) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 222 of file class_object.h.

Definition at line 226 of file class_object.h.

Definition at line 230 of file class_object.h.

Definition at line 234 of file class_object.h.

Definition at line 239 of file class_object.h.

Definition at line 244 of file class_object.h.

Definition at line 249 of file class_object.h.

Definition at line 254 of file class_object.h.

Definition at line 259 of file class_object.h.

Definition at line 264 of file class_object.h.

typedef void(* METHOD_FUNC_ARG4) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 169 of file class_object.h.

typedef void(* METHOD_FUNC_ARG5) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 170 of file class_object.h.

typedef void(* METHOD_FUNC_ARG6) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 171 of file class_object.h.

typedef void(* METHOD_FUNC_ARG7) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 173 of file class_object.h.

typedef void(* METHOD_FUNC_ARG8) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 175 of file class_object.h.

typedef void(* METHOD_FUNC_ARG9) (DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)

Definition at line 177 of file class_object.h.

typedef void(* METHOD_FUNCTION) ()

Definition at line 168 of file class_object.h.

typedef struct sm_attribute SM_ATTRIBUTE

Definition at line 398 of file class_object.h.

typedef struct sm_class SM_CLASS

Definition at line 701 of file class_object.h.

Definition at line 526 of file class_object.h.

Definition at line 343 of file class_object.h.

typedef struct sm_class_info SM_CLASS_INFO

Definition at line 827 of file class_object.h.

typedef struct sm_component SM_COMPONENT

Definition at line 379 of file class_object.h.

typedef struct sm_constraint SM_CONSTRAINT

Definition at line 362 of file class_object.h.

Definition at line 390 of file class_object.h.

typedef struct sm_descriptor SM_DESCRIPTOR

Definition at line 893 of file class_object.h.

Definition at line 863 of file class_object.h.

typedef struct tp_domain SM_DOMAIN

Definition at line 271 of file class_object.h.

Definition at line 470 of file class_object.h.

Definition at line 498 of file class_object.h.

typedef struct sm_method SM_METHOD

Definition at line 587 of file class_object.h.

Definition at line 552 of file class_object.h.

Definition at line 611 of file class_object.h.

Definition at line 564 of file class_object.h.

typedef struct sm_partition SM_PARTITION

Definition at line 689 of file class_object.h.

Definition at line 487 of file class_object.h.

typedef struct sm_query_spec SM_QUERY_SPEC

Definition at line 679 of file class_object.h.

Definition at line 644 of file class_object.h.

Definition at line 663 of file class_object.h.

typedef struct sm_resolution SM_RESOLUTION

Definition at line 636 of file class_object.h.

typedef struct sm_template SM_TEMPLATE

Definition at line 703 of file class_object.h.

typedef struct sm_validation SM_VALIDATION

Definition at line 876 of file class_object.h.

typedef struct sm_template* SMT

Definition at line 702 of file class_object.h.

Enumeration Type Documentation

Enumerator
SM_CLASSFLAG_SYSTEM 
SM_CLASSFLAG_WITHCHECKOPTION 
SM_CLASSFLAG_LOCALCHECKOPTION 
SM_CLASSFLAG_REUSE_OID 

Definition at line 300 of file class_object.h.

Enumerator
SM_CLASS_CT 
SM_VCLASS_CT 
SM_ADT_CT 

Definition at line 289 of file class_object.h.

Enumerator
SM_FLAG_NORMALLY_INITIALIZED 
SM_FLAG_TO_BE_REINTIALIZED 

Definition at line 330 of file class_object.h.

Enumerator
SM_CONSTRAINT_NAME 
SM_INDEX_NAME 

Definition at line 321 of file class_object.h.

Enumerator
SM_CONSTRAINT_UNIQUE 
SM_CONSTRAINT_INDEX 
SM_CONSTRAINT_NOT_NULL 
SM_CONSTRAINT_REVERSE_UNIQUE 
SM_CONSTRAINT_REVERSE_INDEX 
SM_CONSTRAINT_PRIMARY_KEY 
SM_CONSTRAINT_FOREIGN_KEY 

Definition at line 274 of file class_object.h.

Enumerator
SM_NO_INDEX 
SM_NORMAL_INDEX 
SM_INVISIBLE_INDEX 
SM_ONLINE_INDEX_BUILDING_IN_PROGRESS 
SM_RESERVED_INDEX_STATUS1 
SM_RESERVED_INDEX_STATUS2 
SM_RESERVED_INDEX_STATUS3 
SM_RESERVED_INDEX_STATUS4 
SM_RESERVED_INDEX_STATUS5 
SM_RESERVED_INDEX_STATUS6 
SM_LAST_INDEX_STATUS 

Definition at line 510 of file class_object.h.

Enumerator
SM_META_ROOT 
SM_META_CLASS 

Definition at line 312 of file class_object.h.

Function Documentation

DB_LIST* classobj_alloc_threaded_array ( int  size,
int  count 
)

Definition at line 211 of file class_object.c.

References db_ws_alloc(), i, db_list::next, and NULL.

Referenced by classobj_install_template(), and disk_to_class().

Here is the caller graph for this function:

int classobj_annotate_method_files ( SM_CLASS class_,
MOP  classmop 
)
void classobj_area_final ( void  )

Definition at line 184 of file class_object.c.

References area_destroy(), and NULL.

Referenced by ws_init().

Here is the caller graph for this function:

int classobj_area_init ( void  )

Definition at line 167 of file class_object.c.

References area_create(), assert, er_errid(), NO_ERROR, and NULL.

Referenced by ws_init().

Here is the caller graph for this function:

int classobj_check_index_exist ( SM_CLASS_CONSTRAINT constraints,
char **  out_shared_cons_name,
const char *  class_name,
DB_CONSTRAINT_TYPE  constraint_type,
const char *  constraint_name,
const char **  att_names,
const int *  asc_desc,
const SM_PREDICATE_INFO filter_index,
const SM_FUNCTION_INFO func_index_info 
)
bool classobj_class_has_indexes ( SM_CLASS class_)

Definition at line 4212 of file class_object.c.

References sm_class::constraints, sm_class_constraint::next, NULL, SM_IS_CONSTRAINT_INDEX_FAMILY, and sm_class_constraint::type.

Referenced by desc_obj_to_disk(), la_repl_add_object(), and tf_mem_to_disk().

Here is the caller graph for this function:

SM_COMPONENT* classobj_complist_search ( SM_COMPONENT list,
const char *  name 
)
int classobj_copy_attlist ( SM_ATTRIBUTE attlist,
MOP  filter_class,
int  ordered,
SM_ATTRIBUTE **  copy_ptr 
)
SM_ATTRIBUTE* classobj_copy_attribute ( SM_ATTRIBUTE src,
const char *  alias 
)
int classobj_copy_methfiles ( SM_METHOD_FILE files,
MOP  filter_class,
SM_METHOD_FILE **  copy_ptr 
)

Definition at line 5647 of file class_object.c.

References assert, sm_method_file::class_mop, classobj_copy_methfile(), er_errid(), sm_method_file::next, NO_ERROR, and NULL.

Referenced by classobj_make_template(), and flatten_method_files().

Here is the caller graph for this function:

SM_METHOD* classobj_copy_method ( SM_METHOD src,
const char *  alias 
)
SM_QUERY_SPEC* classobj_copy_query_spec_list ( SM_QUERY_SPEC )

Definition at line 5871 of file class_object.c.

References classobj_make_query_spec(), sm_query_spec::next, NULL, p, and sm_query_spec::specification.

Referenced by classobj_make_template(), and flatten_query_spec_lists().

Here is the caller graph for this function:

int classobj_copy_reslist ( SM_RESOLUTION src,
SM_NAME_SPACE  resspace,
SM_RESOLUTION **  copy_ptr 
)
void classobj_decache_class_constraints ( SM_CLASS class_)

Definition at line 3552 of file class_object.c.

References assert, classobj_free_class_constraints(), sm_class::constraints, sm_class::dont_decache_constraints_or_flush, and NULL.

Referenced by classobj_cache_class_constraints(), and sm_exist_index().

Here is the caller graph for this function:

char* classobj_describe_foreign_key_action ( SM_FOREIGN_KEY_ACTION  action)
SM_ATTRIBUTE* classobj_find_attribute_id ( SM_CLASS class_,
int  id,
int  class_attribute 
)

Definition at line 7568 of file class_object.c.

References sm_class::attributes, sm_class::class_attributes, sm_attribute::header, sm_attribute::id, sm_component::next, NULL, and sm_class::shared.

Referenced by classobj_cache_constraint_entry(), and sm_get_att_name().

Here is the caller graph for this function:

SM_ATTRIBUTE* classobj_find_attribute_list ( SM_ATTRIBUTE attlist,
const char *  name,
int  id 
)

Definition at line 2569 of file class_object.c.

References sm_attribute::header, sm_attribute::id, intl_identifier_casecmp(), sm_component::name, sm_component::next, and NULL.

Referenced by classobj_make_class_constraints(), and retain_former_ids().

Here is the caller graph for this function:

SM_CLASS_CONSTRAINT* classobj_find_class_constraint_by_btid ( SM_CLASS_CONSTRAINT constraints,
SM_CONSTRAINT_TYPE  type,
BTID  btid 
)

Definition at line 3763 of file class_object.c.

References BTID_IS_EQUAL, sm_class_constraint::index_btid, sm_class_constraint::next, NULL, and sm_class_constraint::type.

Referenced by transfer_disk_structures().

Here is the caller graph for this function:

SM_COMPONENT* classobj_find_component ( SM_CLASS class_,
const char *  name,
int  class_component 
)
SM_CLASS_CONSTRAINT* classobj_find_constraint_by_attrs ( SM_CLASS_CONSTRAINT cons_list,
DB_CONSTRAINT_TYPE  new_cons,
const char **  att_names,
const int *  asc_desc 
)
SM_METHOD_ARGUMENT* classobj_find_method_arg ( SM_METHOD_ARGUMENT **  arglist,
int  index,
int  create 
)

Definition at line 4896 of file class_object.c.

References classobj_make_method_arg(), sm_method_argument::index, sm_method_argument::next, and NULL.

Referenced by find_argument(), and ldr_act_add_argument().

Here is the caller graph for this function:

int classobj_find_prop_constraint ( DB_SEQ properties,
const char *  prop_name,
const char *  cnstr_name,
DB_VALUE cnstr_val 
)
SM_REPRESENTATION* classobj_find_representation ( SM_CLASS class_,
int  id 
)

Definition at line 7347 of file class_object.c.

References sm_representation::id, sm_representation::next, NULL, and sm_class::representations.

Referenced by get_desc_old(), and get_old().

Here is the caller graph for this function:

SM_RESOLUTION* classobj_find_resolution ( SM_RESOLUTION reslist,
MOP  class_mop,
const char *  name,
SM_NAME_SPACE  name_space 
)

Definition at line 5508 of file class_object.c.

References sm_resolution::class_mop, ID_NULL, sm_resolution::name, sm_resolution::name_space, sm_resolution::next, and NULL.

Referenced by add_candidate(), check_invalid_resolutions(), and delete_resolution().

Here is the caller graph for this function:

void classobj_free_attribute ( SM_ATTRIBUTE att)
void classobj_free_desclist ( SM_DESCRIPTOR_LIST dl)

Definition at line 7756 of file class_object.c.

References sm_descriptor_list::classobj, free_and_init, sm_descriptor_list::next, and NULL.

Referenced by classobj_free_descriptor(), and sm_reset_descriptors().

Here is the caller graph for this function:

void classobj_free_descriptor ( SM_DESCRIPTOR desc)
void classobj_free_foreign_key_ref ( SM_FOREIGN_KEY_INFO fk_info)

Definition at line 2635 of file class_object.c.

References db_ws_free(), free_and_init, sm_foreign_key_info::name, sm_foreign_key_info::next, and p.

Referenced by classobj_free_class_constraints(), and classobj_make_foreign_key_ref_list().

Here is the caller graph for this function:

void classobj_free_function_index_ref ( SM_FUNCTION_INFO func_index_info)

Definition at line 8249 of file class_object.c.

References sm_function_info::expr_str, sm_function_info::expr_stream, sm_function_info::fi_domain, NULL, tp_domain_free(), and ws_free_string().

Referenced by classobj_free_class_constraints().

Here is the caller graph for this function:

void classobj_free_method ( SM_METHOD method)

Definition at line 5321 of file class_object.c.

References classobj_clear_method(), db_ws_free(), and NULL.

Referenced by classobj_free_template(), make_component_from_candidate(), and smt_delete_any().

Here is the caller graph for this function:

void classobj_free_prop ( DB_SEQ properties)
void classobj_free_query_spec ( SM_QUERY_SPEC )
void classobj_free_representation ( SM_REPRESENTATION rep)
void classobj_free_threaded_array ( DB_LIST array,
LFREEER  clear 
)

Definition at line 248 of file class_object.c.

References db_ws_free(), db_list::next, and NULL.

Referenced by classobj_install_template().

Here is the caller graph for this function:

int classobj_get_cached_constraint ( SM_CONSTRAINT constraints,
SM_CONSTRAINT_TYPE  type,
BTID id 
)

Definition at line 2147 of file class_object.c.

References sm_constraint::index, sm_constraint::next, NULL, and sm_constraint::type.

Referenced by find_unique(), obt_make_assignment(), pt_to_pred_expr(), and sm_att_constrained().

Here is the caller graph for this function:

bool classobj_has_class_unique_constraint ( SM_CLASS_CONSTRAINT constraints)

Definition at line 2178 of file class_object.c.

References sm_class_constraint::next, NULL, SM_IS_CONSTRAINT_UNIQUE_FAMILY, and sm_class_constraint::type.

Referenced by sm_class_has_unique_constraint().

Here is the caller graph for this function:

bool classobj_has_function_constraint ( SM_CONSTRAINT constraints)

Definition at line 2222 of file class_object.c.

References sm_constraint::has_function, sm_constraint::next, and NULL.

Referenced by obt_make_assignment().

Here is the caller graph for this function:

bool classobj_has_unique_constraint ( SM_CONSTRAINT constraints)

Definition at line 2200 of file class_object.c.

References sm_constraint::next, NULL, SM_IS_CONSTRAINT_UNIQUE_FAMILY, and sm_constraint::type.

Referenced by check_for_cons(), obj_set_att(), obt_make_assignment(), and sm_att_unique_constrained().

Here is the caller graph for this function:

void classobj_initialize_methods ( SM_METHOD methods)

Definition at line 4360 of file class_object.c.

References sm_method::function, sm_method::header, sm_component::name, sm_component::next, NULL, sm_method::properties, and sm_method::signatures.

Referenced by disk_to_class().

Here is the caller graph for this function:

int classobj_install_template ( SM_CLASS class_,
SM_TEMPLATE flat,
int  saverep 
)

Definition at line 7087 of file class_object.c.

References assert, sm_class::att_count, sm_class::attributes, sm_class::class_attribute_count, sm_class::class_attributes, sm_template::class_attributes, class_atts, sm_class::class_method_count, sm_class::class_methods, sm_template::class_methods, sm_template::class_resolutions, sm_class::class_type, sm_template::class_type, classobj_alloc_threaded_array(), classobj_cache_class_constraints(), classobj_cache_constraints(), classobj_capture_representation(), classobj_clear_attribute(), classobj_clear_method(), classobj_fixup_loaded_class(), classobj_free_method_file(), classobj_free_partition_info(), classobj_free_prop(), classobj_free_query_spec(), classobj_free_resolution(), classobj_free_threaded_array(), classobj_init_attribute(), classobj_init_method(), classobj_sort_attlist(), classobj_sort_methlist(), DB_ATT_ALIGN, sm_attribute::domain, sm_class::dont_decache_constraints_or_flush, er_errid(), sm_class::fixed_count, sm_class::fixed_size, sm_attribute::header, sm_method::header, i, sm_class::inheritance, sm_template::inheritance, sm_template::instance_attributes, sm_class::loader_commands, sm_template::loader_commands, sm_class::method_count, sm_class::method_files, sm_template::method_files, sm_class::methods, sm_template::methods, ml_free(), sm_component::next, sm_representation::next, NO_ERROR, NULL, sm_class::partition, sm_template::partition, sm_class::properties, sm_template::properties, sm_class::query_spec, sm_template::query_spec, sm_class::recache_constraints, sm_class::repid, sm_class::representations, sm_class::resolutions, sm_template::resolutions, sm_class::shared, sm_template::shared_attributes, sm_class::shared_count, tp_domain_disk_size(), tr_free_schema_cache(), sm_class::triggers, sm_template::triggers, tp_domain::type, sm_class::variable_count, pr_type::variable_p, ws_free_string(), ws_list_free(), ws_list_length(), and WS_LIST_NCONC.

Referenced by install_new_representation().

Here is the caller graph for this function:

bool classobj_is_pk_referred ( MOP  clsop,
SM_FOREIGN_KEY_INFO fk_info,
bool  include_self_ref,
char **  fk_name 
)
SM_CLASS* classobj_make_class ( const char *  name)

Definition at line 6571 of file class_object.c.

References sm_class::att_count, sm_class::att_ids, sm_class::attributes, sm_class::auth_cache, boot_User_volid, sm_class_header::ch_heap, sm_class_header::ch_name, sm_class_header::ch_obj_header, sm_class_header::ch_rep_dir, sm_class_header::ch_type, ws_object_header::chn, sm_class::class_attribute_count, sm_class::class_attributes, sm_class::class_method_count, sm_class::class_methods, sm_class::class_type, sm_class::collation_id, sm_class::comment, sm_class::constraints, db_ws_alloc(), db_ws_free(), sm_class::dont_decache_constraints_or_flush, sm_class::fixed_count, sm_class::fixed_size, sm_class::flags, sm_class::has_active_triggers, sm_class::header, HFID_SET_NULL, sm_class::inheritance, LANG_SYS_COLLATION, sm_class::loader_commands, sm_class::method_count, sm_class::method_files, sm_class::method_ids, sm_class::methods, sm_class::methods_loaded, sm_class::new_, NULL, NULL_CHN, sm_class::object_size, OID_SET_NULL, sm_class::ordered_attributes, sm_class::owner, sm_class::partition, sm_class::post_load_cleanup, sm_class::properties, sm_class::query_spec, sm_class::recache_constraints, sm_class::repid, sm_class::representations, sm_class::resolutions, sm_class::shared, sm_class::shared_count, SM_CLASS_CT, SM_META_CLASS, sm_class::stats, sm_class::tde_algorithm, TDE_ALGORITHM_NONE, sm_class::triggers, sm_class::triggers_validated, sm_class::users, sm_class::variable_count, hfid::vfid, sm_class::virtual_cache_global_schema_id, sm_class::virtual_cache_local_schema_id, sm_class::virtual_cache_snapshot_version, sm_class::virtual_query_cache, vfid::volid, and ws_copy_string().

Referenced by disk_to_class(), and update_class().

Here is the caller graph for this function:

int classobj_make_class_constraints ( DB_SET props,
SM_ATTRIBUTE attributes,
SM_CLASS_CONSTRAINT **  con_ptr 
)

Definition at line 3114 of file class_object.c.

References ARG_FILE_LINE, sm_class_constraint::asc_desc, assert, sm_class_constraint::attributes, sm_class_constraint::attrs_prefix_length, classobj_btid_from_property_value(), classobj_find_attribute_list(), classobj_free_class_constraints(), classobj_get_prop(), classobj_make_class_constraint(), classobj_make_foreign_key_info(), classobj_make_foreign_key_ref_list(), classobj_make_function_index_info(), classobj_make_index_filter_pred_info(), classobj_make_index_prefix_info(), sm_class_constraint::comment, Constraint_properties, Constraint_types, db_get_int(), db_get_set(), db_get_string(), DB_IS_NULL, db_make_null(), DB_TYPE_INTEGER, DB_TYPE_SEQUENCE, DB_TYPE_STRING, DB_VALUE_TYPE, db_ws_alloc(), er_errid(), ER_ERROR_SEVERITY, er_set(), ER_SM_INVALID_PROPERTY, sm_class_constraint::filter_predicate, sm_class_constraint::fk_info, for(), sm_class_constraint::func_index_info, i, sm_class_constraint::index_btid, sm_class_constraint::index_status, sm_class_constraint::name, sm_class_constraint::next, NO_ERROR, NULL, NUM_CONSTRAINT_TYPES, pr_clear_value(), set_get_element(), set_size(), sm_class_constraint::shared_cons_name, SM_CONSTRAINT_FOREIGN_KEY, SM_CONSTRAINT_PRIMARY_KEY, SM_CONSTRAINT_REVERSE_INDEX, SM_CONSTRAINT_REVERSE_UNIQUE, SM_FILTER_INDEX_ID, SM_FUNCTION_INDEX_ID, and SM_PREFIX_INDEX_ID.

Referenced by classobj_cache_class_constraints(), classobj_copy_props(), collect_hier_class_info(), filter_local_constraints(), flatten_properties(), smt_check_foreign_key(), smt_check_index_exist(), smt_find_owner_of_constraint(), smt_rename_any(), transfer_disk_structures(), and update_fk_ref_partitioned_class().

Here is the caller graph for this function:

SM_DESCRIPTOR_LIST* classobj_make_desclist ( MOP  class_mop,
SM_CLASS classobj,
SM_COMPONENT comp,
int  write_access 
)
SM_METHOD* classobj_make_method ( const char *  name,
SM_NAME_SPACE  name_space 
)
SM_METHOD_ARGUMENT* classobj_make_method_arg ( int  index)
SM_PARTITION* classobj_make_partition_info ( void  )
DB_SEQ* classobj_make_prop ( void  )

Definition at line 280 of file class_object.c.

References set_create_sequence().

Referenced by classobj_put_index(), tf_attribute_default_expr_to_property(), and vid_att_in_obj_id().

Here is the caller graph for this function:

SM_QUERY_SPEC* classobj_make_query_spec ( const char *  )
SM_REPR_ATTRIBUTE* classobj_make_repattribute ( int  attid,
DB_TYPE  typeid_,
TP_DOMAIN domain 
)
SM_REPRESENTATION* classobj_make_representation ( void  )
SM_RESOLUTION* classobj_make_resolution ( MOP  class_mop,
const char *  name,
const char *  alias,
SM_NAME_SPACE  name_space 
)
SM_TEMPLATE* classobj_make_template ( const char *  name,
MOP  op,
SM_CLASS class_ 
)

Definition at line 6029 of file class_object.c.

References area_alloc(), sm_template::attributes, sm_class::class_attributes, sm_template::class_attributes, sm_class::class_methods, sm_template::class_methods, sm_template::class_resolutions, sm_class::class_type, sm_template::class_type, classobj_copy_attlist(), classobj_copy_methfiles(), classobj_copy_methlist(), classobj_copy_partition_info(), classobj_copy_props(), classobj_copy_query_spec_list(), classobj_copy_reslist(), classobj_free_template(), sm_template::current, error(), sm_template::ext_references, ID_CLASS, ID_INSTANCE, sm_class::inheritance, sm_template::inheritance, sm_template::instance_attributes, sm_class::loader_commands, sm_template::loader_commands, sm_class::method_files, sm_template::method_files, sm_class::methods, sm_template::methods, ml_copy(), sm_template::name, NO_ERROR, NULL, sm_template::op, sm_class::ordered_attributes, sm_class::partition, sm_template::partition, sm_template::partition_parent_atts, sm_class::properties, sm_template::properties, sm_class::query_spec, sm_template::query_spec, sm_class::resolutions, sm_template::resolutions, sm_template::shared_attributes, SM_CLASS_CT, sm_template::super_id_map, tm_Tran_index, tr_copy_schema_cache(), sm_template::tran_index, sm_class::triggers, sm_template::triggers, and ws_copy_string().

Referenced by def_class_internal(), flatten_subclasses(), flatten_template(), sm_delete_class_mop(), and smt_edit_class_mop().

Here is the caller graph for this function:

const char** classobj_point_at_att_names ( SM_CLASS_CONSTRAINT constraint,
int *  count_ref 
)

Definition at line 6358 of file class_object.c.

References ARG_FILE_LINE, sm_class_constraint::attributes, cubregex::count(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), i, and NULL.

Referenced by classobj_copy_constraint_like(), and do_copy_indexes().

Here is the caller graph for this function:

int classobj_put_index ( DB_SEQ **  properties,
SM_CONSTRAINT_TYPE  type,
const char *  constraint_name,
SM_ATTRIBUTE **  atts,
const int *  asc_desc,
const int *  attr_prefix_length,
const BTID id,
SM_PREDICATE_INFO filter_index_info,
SM_FOREIGN_KEY_INFO fk_info,
char *  shared_cons_name,
SM_FUNCTION_INFO func_index_info,
const char *  comment,
SM_INDEX_STATUS  index_status,
bool  attr_name_instead_of_id 
)
void classobj_remove_class_constraint_node ( SM_CLASS_CONSTRAINT **  constraints,
SM_CLASS_CONSTRAINT node 
)

Definition at line 4124 of file class_object.c.

References sm_class_constraint::next, and NULL.

Referenced by sm_drop_index().

Here is the caller graph for this function: