Skip to content

File class_object.c

FileList > cubrid > src > object > class_object.c

Go to the source code of this file

  • #include "config.h"
  • #include <stdlib.h>
  • #include <string.h>
  • #include <assert.h>
  • #include "language_support.h"
  • #include "area_alloc.h"
  • #include "work_space.h"
  • #include "object_representation.h"
  • #include "object_primitive.h"
  • #include "class_object.h"
  • #include "boot_cl.h"
  • #include "locator_cl.h"
  • #include "authenticate.h"
  • #include "set_object.h"
  • #include "object_accessor.h"
  • #include "object_print.h"
  • #include "parser.h"
  • #include "trigger_manager.h"
  • #include "schema_manager.h"
  • #include "dbi.h"
  • #include "dbtype.h"
  • #include "printer.hpp"
  • #include "string_opfunc.h"

Public Types

Type Name
enum SM_CONSTRAINT_COMPATIBILITY

Public Attributes

Type Name
const int SM_MAX_STRING_LENGTH = 1073741823

Public Static Attributes

Type Name
const char * Constraint_properties = /* multi line expression */
SM_CONSTRAINT_TYPE Constraint_types = /* multi line expression */
AREA * Template_area = [**NULL**](freelistheap_8h.md#define-null)

Public Functions

Type Name
int classobj_add_template_reference (SM_TEMPLATE * template_ptr, MOP obj)
DB_LIST * classobj_alloc_threaded_array (int size, int count)
void classobj_area_final (void)
int classobj_area_init (void)
int classobj_btid_from_property_value (DB_VALUE * value, BTID * btid, char ** shared_cons_name)
int classobj_cache_class_constraints (SM_CLASS * class_)
bool classobj_cache_constraints (SM_CLASS * class_)
int classobj_change_constraint_comment (DB_SEQ * properties, SM_CLASS_CONSTRAINT * cons, const char * comment)
int classobj_change_constraint_status (DB_SEQ * properties, SM_CLASS_CONSTRAINT * cons, SM_INDEX_STATUS index_status)
bool classobj_check_attr_in_unique_constraint (SM_CLASS_CONSTRAINT * cons_list, char ** att_names, SM_FUNCTION_INFO * func_index_info)
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_)
int classobj_class_size (SM_CLASS * class_)
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_default_expr (DB_DEFAULT_EXPR * dest, const DB_DEFAULT_EXPR * src)
int classobj_copy_methfiles (SM_METHOD_FILE * files, MOP filter_class, SM_METHOD_FILE ** copy_ptr)
SM_METHOD * classobj_copy_method (SM_METHOD * src, const char * alias)
SM_PARTITION * classobj_copy_partition_info (SM_PARTITION * partition_info)
int classobj_copy_props (DB_SEQ * properties, MOP filter_class, DB_SEQ ** new_properties)
SM_QUERY_SPEC * classobj_copy_query_spec_list (SM_QUERY_SPEC * query_spec)
int classobj_copy_reslist (SM_RESOLUTION * src, SM_NAME_SPACE resspace, SM_RESOLUTION ** copy_ptr)
int classobj_count_class_foreign_key (SM_CLASS * class_)
int classobj_count_cons_attributes (SM_CLASS_CONSTRAINT * cons)
void classobj_decache_class_constraints (SM_CLASS * class_)
char * classobj_describe_foreign_key_action (SM_FOREIGN_KEY_ACTION action)
int classobj_drop_foreign_key_ref (DB_SEQ ** properties, const BTID * btid, const char * name)
int classobj_drop_prop (DB_SEQ * properties, const char * name)
SM_COMPONENT * classobj_filter_components (SM_COMPONENT ** complist, SM_NAME_SPACE name_space)
SM_ATTRIBUTE * classobj_find_attribute (SM_CLASS * class_, const char * name, int class_attribute)
SM_ATTRIBUTE * classobj_find_attribute_id (SM_CLASS * class_, int id, int class_attribute)
SM_CLASS_CONSTRAINT * classobj_find_class_constraint (SM_CLASS_CONSTRAINT * constraints, SM_CONSTRAINT_TYPE type, const char * name)
SM_CLASS_CONSTRAINT * classobj_find_class_constraint_by_btid (SM_CLASS_CONSTRAINT * constraints, SM_CONSTRAINT_TYPE type, BTID btid)
SM_CLASS_CONSTRAINT * classobj_find_class_index (SM_CLASS * class_, const char * name)
SM_CLASS_CONSTRAINT * classobj_find_class_primary_key (SM_CLASS * class_)
SM_COMPONENT * classobj_find_component (SM_CLASS * class_, const char * name, int class_component)
TP_DOMAIN * classobj_find_cons_index2_col_type_list (SM_CLASS_CONSTRAINT * cons, OID * root_oid)
SM_CLASS_CONSTRAINT * classobj_find_cons_primary_key (SM_CLASS_CONSTRAINT * cons_list)
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, const SM_PREDICATE_INFO * filter_predicate, const SM_FUNCTION_INFO * func_index_info)
SM_CLASS_CONSTRAINT * classobj_find_constraint_by_name (SM_CLASS_CONSTRAINT * cons_list, const char * name)
SM_METHOD * classobj_find_method (SM_CLASS * class_, const char * name, int class_method)
SM_METHOD_ARGUMENT * classobj_find_method_arg (SM_METHOD_ARGUMENT ** arglist, int index, int create)
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)
SM_RESOLUTION * classobj_find_resolution (SM_RESOLUTION * reslist, MOP class_mop, const char * name, SM_NAME_SPACE name_space)
void classobj_fixup_loaded_class (SM_CLASS * class_)
void classobj_free_attribute (SM_ATTRIBUTE * att)
void classobj_free_class (SM_CLASS * class_)
void classobj_free_class_constraints (SM_CLASS_CONSTRAINT * constraints)
void classobj_free_desclist (SM_DESCRIPTOR_LIST * dl)
void classobj_free_descriptor (SM_DESCRIPTOR * desc)
void classobj_free_foreign_key_ref (SM_FOREIGN_KEY_INFO * fk_info)
void classobj_free_function_index_ref (SM_FUNCTION_INFO * func_index_info)
void classobj_free_method (SM_METHOD * meth)
void classobj_free_method_file (SM_METHOD_FILE * file)
void classobj_free_method_signature (SM_METHOD_SIGNATURE * sig)
void classobj_free_partition_info (SM_PARTITION * partition_info)
void classobj_free_prop (DB_SEQ * properties)
void classobj_free_query_spec (SM_QUERY_SPEC * query_spec)
void classobj_free_representation (SM_REPRESENTATION * rep)
void classobj_free_resolution (SM_RESOLUTION * res)
void classobj_free_template (SM_TEMPLATE * template_ptr)
void classobj_free_threaded_array (DB_LIST * array, LFREEER clear)
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_function_constraint (SM_CONSTRAINT * constraints)
bool classobj_has_unique_constraint (SM_CONSTRAINT * constraints)
void classobj_initialize_attributes (SM_ATTRIBUTE * attributes)
void classobj_initialize_methods (SM_METHOD * methods)
int classobj_install_template (SM_CLASS * class_, SM_TEMPLATE * flat, int saverep)
bool classobj_is_exist_foreign_key_ref (MOP refop, SM_FOREIGN_KEY_INFO * fk_info)
bool classobj_is_pk_referred (MOP clsop, SM_FOREIGN_KEY_INFO * fk_info, bool include_self_ref, char ** fk_name)
SM_ATTRIBUTE * classobj_make_attribute (const char * name, const PR_TYPE * type, SM_NAME_SPACE name_space)
SM_CLASS * classobj_make_class (const char * name)
int classobj_make_class_constraints (DB_SET * class_props, SM_ATTRIBUTE * attributes, SM_CLASS_CONSTRAINT ** con_ptr)
SM_DESCRIPTOR_LIST * classobj_make_desclist (MOP classobj, SM_CLASS * class_, SM_COMPONENT * comp, int write_access)
SM_DESCRIPTOR * classobj_make_descriptor (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_METHOD_FILE * classobj_make_method_file (const char * name)
SM_METHOD_SIGNATURE * classobj_make_method_signature (const char * name)
SM_PARTITION * classobj_make_partition_info (void)
DB_SEQ * classobj_make_prop ()
SM_QUERY_SPEC * classobj_make_query_spec (const char * specification)
SM_REPR_ATTRIBUTE * classobj_make_repattribute (int attid, DB_TYPE type_id, TP_DOMAIN * domain)
SM_REPRESENTATION * classobj_make_representation ()
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_)
SM_TEMPLATE * classobj_make_template_like (const char * name, SM_CLASS * class_)
const char * classobj_map_constraint_to_property (SM_CONSTRAINT_TYPE constraint)
int classobj_oid_from_property_value (DB_VALUE * value, OID * oid)
const char ** classobj_point_at_att_names (SM_CLASS_CONSTRAINT * constraint, int * count_ref)
int classobj_populate_class_properties (DB_SET ** properties, SM_CLASS_CONSTRAINT * constraints, SM_CONSTRAINT_TYPE type)
void classobj_print (SM_CLASS * class_)
int classobj_put_foreign_key_ref (DB_SEQ ** properties, SM_FOREIGN_KEY_INFO * fk_info)
int classobj_put_index (DB_SEQ ** properties, SM_CLASS_CONSTRAINT * con, const BTID * id, SM_FOREIGN_KEY_INFO * fk_info, char * shared_cons_name, bool attr_name_instead_of_id)
int classobj_put_prop (DB_SEQ * properties, const char * name, DB_VALUE * pvalue)
void classobj_remove_class_constraint_node (SM_CLASS_CONSTRAINT ** constraints, SM_CLASS_CONSTRAINT * node)

Public Static Functions

Type Name
int classobj_attribute_size (SM_ATTRIBUTE * att)
bool classobj_cache_constraint_entry (const char * name, DB_SEQ * constraint_seq, SM_CLASS * class_, SM_CONSTRAINT_TYPE constraint_type)
bool classobj_cache_constraint_list (DB_SEQ * seq, SM_CLASS * class_, SM_CONSTRAINT_TYPE constraint_type)
int classobj_cache_not_null_constraints (const char * class_name, SM_ATTRIBUTE * attributes, SM_CLASS_CONSTRAINT ** con_ptr)
SM_REPRESENTATION * classobj_capture_representation (SM_CLASS * class_)
int classobj_check_function_constraint_info (DB_SEQ * constraint_seq, bool * has_function_constraint)
SM_CONSTRAINT_COMPATIBILITY classobj_check_index_compatibility (SM_CLASS_CONSTRAINT * constraints, const DB_CONSTRAINT_TYPE constraint_type, const SM_CLASS_CONSTRAINT * existing_con, SM_CLASS_CONSTRAINT ** primary_con)
void classobj_clear_attribute (SM_ATTRIBUTE * att)
void classobj_clear_attribute_value (DB_VALUE * value)
void classobj_clear_method (SM_METHOD * meth)
int classobj_constraint_size (SM_CONSTRAINT * constraint)
int classobj_copy_attribute_like (DB_CTMPL * ctemplate, SM_ATTRIBUTE * attribute, const char *const like_class_name)
int classobj_copy_constraint_like (DB_CTMPL * ctemplate, SM_CLASS_CONSTRAINT * constraint, const char *const like_class_name)
SM_METHOD_FILE * classobj_copy_methfile (SM_METHOD_FILE * src)
int classobj_copy_methlist (SM_METHOD * methlist, MOP filter_class, SM_METHOD ** copy_ptr)
SM_METHOD_ARGUMENT * classobj_copy_method_arg (SM_METHOD_ARGUMENT * src)
SM_METHOD_SIGNATURE * classobj_copy_method_signature (SM_METHOD_SIGNATURE * sig)
int classobj_domain_size (TP_DOMAIN * domain)
void classobj_filter_attribute_props (DB_SEQ * props)
SM_ATTRIBUTE * classobj_find_attribute_list (SM_ATTRIBUTE * attlist, const char * name, int id)
void classobj_free_constraint (SM_CONSTRAINT * constraint)
void classobj_free_method_arg (SM_METHOD_ARGUMENT * arg)
void classobj_free_repattribute (SM_REPR_ATTRIBUTE * rat)
int classobj_init_attribute (SM_ATTRIBUTE * src, SM_ATTRIBUTE * dest, int copy)
int classobj_init_method (SM_METHOD * src, SM_METHOD * dest, int copy)
void classobj_insert_ordered_attribute (SM_ATTRIBUTE ** attlist, SM_ATTRIBUTE * att)
bool classobj_is_possible_constraint (SM_CONSTRAINT_TYPE existed, DB_CONSTRAINT_TYPE new_)
SM_CLASS_CONSTRAINT * classobj_make_class_constraint (const char * name, SM_CONSTRAINT_TYPE type)
SM_CONSTRAINT * classobj_make_constraint (const char * name, SM_CONSTRAINT_TYPE type, BTID * id, bool has_function_constraint)
SM_FOREIGN_KEY_INFO * classobj_make_foreign_key_info (DB_SEQ * fk_seq, const char * cons_name, SM_ATTRIBUTE * attributes)
DB_SEQ * classobj_make_foreign_key_info_seq (SM_FOREIGN_KEY_INFO * fk_info)
SM_FOREIGN_KEY_INFO * classobj_make_foreign_key_ref (DB_SEQ * fk_seq)
SM_FOREIGN_KEY_INFO * classobj_make_foreign_key_ref_list (DB_SEQ * fk_container)
DB_SEQ * classobj_make_foreign_key_ref_seq (SM_FOREIGN_KEY_INFO * fk_info)
SM_FUNCTION_INFO * classobj_make_function_index_info (DB_SEQ * func_seq)
DB_SEQ * classobj_make_function_index_info_seq (SM_FUNCTION_INFO * func_index_info)
DB_SEQ * classobj_make_index_attr_prefix_seq (int num_attrs, const int * attrs_prefix_length)
SM_PREDICATE_INFO * classobj_make_index_filter_pred_info (DB_SEQ * pred_seq)
DB_SEQ * classobj_make_index_filter_pred_seq (SM_PREDICATE_INFO * filter_index_info)
int * classobj_make_index_prefix_info (DB_SEQ * prefix_seq, int num_attrs)
int classobj_method_arg_size (SM_METHOD_ARGUMENT * arg)
int classobj_method_file_size (SM_METHOD_FILE * file)
int classobj_method_signature_size (SM_METHOD_SIGNATURE * sig)
int classobj_method_size (SM_METHOD * meth)
int classobj_partition_info_size (SM_PARTITION * partition_info)
void classobj_print_props (DB_SEQ * properties)
int classobj_put_seq_and_iterate (DB_SEQ * destination, int & index, DB_SEQ * element)
int classobj_put_seq_with_name_and_iterate (DB_SEQ * destination, int & index, const char * name, DB_SEQ * seq)
void classobj_put_value_and_iterate (DB_SEQ * destination, int & index, DB_VALUE & value)
int classobj_query_spec_size (SM_QUERY_SPEC * query_spec)
int classobj_repattribute_size (void)
int classobj_representation_size (SM_REPRESENTATION * rep)
int classobj_resolution_size (SM_RESOLUTION * res)
void classobj_sort_attlist (SM_ATTRIBUTE ** source)
void classobj_sort_methlist (SM_METHOD ** source)

Macros

Type Name
define NUM_CONSTRAINT_PROPERTIES (([**int**](broker__monitor_8c.md#function-timeout))([**sizeof**](broker__monitor_8c.md#function-timeout)([**Constraint\_properties**](class__object_8c.md#variable-constraint_properties))/[**sizeof**](broker__monitor_8c.md#function-timeout)([**Constraint\_properties**](class__object_8c.md#variable-constraint_properties)[0])))
define NUM_CONSTRAINT_TYPES (([**int**](broker__monitor_8c.md#function-timeout))([**sizeof**](broker__monitor_8c.md#function-timeout)([**Constraint\_types**](class__object_8c.md#variable-constraint_types))/[**sizeof**](broker__monitor_8c.md#function-timeout)([**Constraint\_types**](class__object_8c.md#variable-constraint_types)[0])))
define SM_SPRINTF_UNIQUE_PROPERTY_VALUE (buffer, volid, fileid, pageid) [**sprintf**](broker__monitor_8c.md#function-timeout)(buffer, "%d\|%d\|%[**d"**](broker__monitor_8c.md#function-timeout), ([**int**](broker__monitor_8c.md#function-timeout))volid, ([**int**](broker__monitor_8c.md#function-timeout))fileid, ([**int**](broker__monitor_8c.md#function-timeout))pageid)

Public Types Documentation

enum SM_CONSTRAINT_COMPATIBILITY

enum SM_CONSTRAINT_COMPATIBILITY {
    SM_CREATE_NEW_INDEX = 0,
    SM_SHARE_INDEX = 1,
    SM_NOT_SHARE_INDEX_AND_WARNING = 2,
    SM_NOT_SHARE_PRIMARY_KEY_AND_WARNING = 3
};

Public Attributes Documentation

variable SM_MAX_STRING_LENGTH

const int SM_MAX_STRING_LENGTH;

Public Static Attributes Documentation

variable Constraint_properties

const char* Constraint_properties[];

variable Constraint_types

SM_CONSTRAINT_TYPE Constraint_types[];

variable Template_area

AREA* Template_area;

Public Functions Documentation

function classobj_add_template_reference

int classobj_add_template_reference (
    SM_TEMPLATE * template_ptr,
    MOP obj
) 

function classobj_alloc_threaded_array

DB_LIST * classobj_alloc_threaded_array (
    int size,
    int count
) 

function classobj_area_final

void classobj_area_final (
    void
) 

function classobj_area_init

int classobj_area_init (
    void
) 

function classobj_btid_from_property_value

int classobj_btid_from_property_value (
    DB_VALUE * value,
    BTID * btid,
    char ** shared_cons_name
) 

function classobj_cache_class_constraints

int classobj_cache_class_constraints (
    SM_CLASS * class_
) 

function classobj_cache_constraints

bool classobj_cache_constraints (
    SM_CLASS * class_
) 

function classobj_change_constraint_comment

int classobj_change_constraint_comment (
    DB_SEQ * properties,
    SM_CLASS_CONSTRAINT * cons,
    const  char * comment
) 

function classobj_change_constraint_status

int classobj_change_constraint_status (
    DB_SEQ * properties,
    SM_CLASS_CONSTRAINT * cons,
    SM_INDEX_STATUS index_status
) 

function classobj_check_attr_in_unique_constraint

bool classobj_check_attr_in_unique_constraint (
    SM_CLASS_CONSTRAINT * cons_list,
    char ** att_names,
    SM_FUNCTION_INFO * func_index_info
) 

function classobj_check_index_exist

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
) 

function classobj_class_has_indexes

bool classobj_class_has_indexes (
    SM_CLASS * class_
) 

function classobj_class_size

int classobj_class_size (
    SM_CLASS * class_
) 

SM_COMPONENT * classobj_complist_search (
    SM_COMPONENT * list,
    const  char * name
) 

function classobj_copy_attlist

int classobj_copy_attlist (
    SM_ATTRIBUTE * attlist,
    MOP filter_class,
    int ordered,
    SM_ATTRIBUTE ** copy_ptr
) 

function classobj_copy_attribute

SM_ATTRIBUTE * classobj_copy_attribute (
    SM_ATTRIBUTE * src,
    const  char * alias
) 

function classobj_copy_default_expr

int classobj_copy_default_expr (
    DB_DEFAULT_EXPR * dest,
    const  DB_DEFAULT_EXPR * src
) 

function classobj_copy_methfiles

int classobj_copy_methfiles (
    SM_METHOD_FILE * files,
    MOP filter_class,
    SM_METHOD_FILE ** copy_ptr
) 

function classobj_copy_method

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

function classobj_copy_partition_info

SM_PARTITION * classobj_copy_partition_info (
    SM_PARTITION * partition_info
) 

function classobj_copy_props

int classobj_copy_props (
    DB_SEQ * properties,
    MOP filter_class,
    DB_SEQ ** new_properties
) 

function classobj_copy_query_spec_list

SM_QUERY_SPEC * classobj_copy_query_spec_list (
    SM_QUERY_SPEC * query_spec
) 

function classobj_copy_reslist

int classobj_copy_reslist (
    SM_RESOLUTION * src,
    SM_NAME_SPACE resspace,
    SM_RESOLUTION ** copy_ptr
) 

function classobj_count_class_foreign_key

int classobj_count_class_foreign_key (
    SM_CLASS * class_
) 

function classobj_count_cons_attributes

int classobj_count_cons_attributes (
    SM_CLASS_CONSTRAINT * cons
) 

function classobj_decache_class_constraints

void classobj_decache_class_constraints (
    SM_CLASS * class_
) 

function classobj_describe_foreign_key_action

char * classobj_describe_foreign_key_action (
    SM_FOREIGN_KEY_ACTION action
) 

function classobj_drop_foreign_key_ref

int classobj_drop_foreign_key_ref (
    DB_SEQ ** properties,
    const  BTID * btid,
    const  char * name
) 

function classobj_drop_prop

int classobj_drop_prop (
    DB_SEQ * properties,
    const  char * name
) 

function classobj_filter_components

SM_COMPONENT * classobj_filter_components (
    SM_COMPONENT ** complist,
    SM_NAME_SPACE name_space
) 

function classobj_find_attribute

SM_ATTRIBUTE * classobj_find_attribute (
    SM_CLASS * class_,
    const  char * name,
    int class_attribute
) 

function classobj_find_attribute_id

SM_ATTRIBUTE * classobj_find_attribute_id (
    SM_CLASS * class_,
    int id,
    int class_attribute
) 

function classobj_find_class_constraint

SM_CLASS_CONSTRAINT * classobj_find_class_constraint (
    SM_CLASS_CONSTRAINT * constraints,
    SM_CONSTRAINT_TYPE type,
    const  char * name
) 

function classobj_find_class_constraint_by_btid

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

function classobj_find_class_index

SM_CLASS_CONSTRAINT * classobj_find_class_index (
    SM_CLASS * class_,
    const  char * name
) 

function classobj_find_class_primary_key

SM_CLASS_CONSTRAINT * classobj_find_class_primary_key (
    SM_CLASS * class_
) 

function classobj_find_component

SM_COMPONENT * classobj_find_component (
    SM_CLASS * class_,
    const  char * name,
    int class_component
) 

function classobj_find_cons_index2_col_type_list

TP_DOMAIN * classobj_find_cons_index2_col_type_list (
    SM_CLASS_CONSTRAINT * cons,
    OID * root_oid
) 

function classobj_find_cons_primary_key

SM_CLASS_CONSTRAINT * classobj_find_cons_primary_key (
    SM_CLASS_CONSTRAINT * cons_list
) 

function classobj_find_constraint_by_attrs

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,
    const  SM_PREDICATE_INFO * filter_predicate,
    const  SM_FUNCTION_INFO * func_index_info
) 

function classobj_find_constraint_by_name

SM_CLASS_CONSTRAINT * classobj_find_constraint_by_name (
    SM_CLASS_CONSTRAINT * cons_list,
    const  char * name
) 

function classobj_find_method

SM_METHOD * classobj_find_method (
    SM_CLASS * class_,
    const  char * name,
    int class_method
) 

function classobj_find_method_arg

SM_METHOD_ARGUMENT * classobj_find_method_arg (
    SM_METHOD_ARGUMENT ** arglist,
    int index,
    int create
) 

function classobj_find_prop_constraint

int classobj_find_prop_constraint (
    DB_SEQ * properties,
    const  char * prop_name,
    const  char * cnstr_name,
    DB_VALUE * cnstr_val
) 

function classobj_find_representation

SM_REPRESENTATION * classobj_find_representation (
    SM_CLASS * class_,
    int id
) 

function classobj_find_resolution

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

function classobj_fixup_loaded_class

void classobj_fixup_loaded_class (
    SM_CLASS * class_
) 

function classobj_free_attribute

void classobj_free_attribute (
    SM_ATTRIBUTE * att
) 

function classobj_free_class

void classobj_free_class (
    SM_CLASS * class_
) 

function classobj_free_class_constraints

void classobj_free_class_constraints (
    SM_CLASS_CONSTRAINT * constraints
) 

function classobj_free_desclist

void classobj_free_desclist (
    SM_DESCRIPTOR_LIST * dl
) 

function classobj_free_descriptor

void classobj_free_descriptor (
    SM_DESCRIPTOR * desc
) 

function classobj_free_foreign_key_ref

void classobj_free_foreign_key_ref (
    SM_FOREIGN_KEY_INFO * fk_info
) 

function classobj_free_function_index_ref

void classobj_free_function_index_ref (
    SM_FUNCTION_INFO * func_index_info
) 

function classobj_free_method

void classobj_free_method (
    SM_METHOD * meth
) 

function classobj_free_method_file

void classobj_free_method_file (
    SM_METHOD_FILE * file
) 

function classobj_free_method_signature

void classobj_free_method_signature (
    SM_METHOD_SIGNATURE * sig
) 

function classobj_free_partition_info

void classobj_free_partition_info (
    SM_PARTITION * partition_info
) 

function classobj_free_prop

void classobj_free_prop (
    DB_SEQ * properties
) 

function classobj_free_query_spec

void classobj_free_query_spec (
    SM_QUERY_SPEC * query_spec
) 

function classobj_free_representation

void classobj_free_representation (
    SM_REPRESENTATION * rep
) 

function classobj_free_resolution

void classobj_free_resolution (
    SM_RESOLUTION * res
) 

function classobj_free_template

void classobj_free_template (
    SM_TEMPLATE * template_ptr
) 

function classobj_free_threaded_array

void classobj_free_threaded_array (
    DB_LIST * array,
    LFREEER clear
) 

function classobj_get_cached_constraint

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

function classobj_has_class_unique_constraint

bool classobj_has_class_unique_constraint (
    SM_CLASS_CONSTRAINT * constraints
) 

function classobj_has_function_constraint

bool classobj_has_function_constraint (
    SM_CONSTRAINT * constraints
) 

function classobj_has_unique_constraint

bool classobj_has_unique_constraint (
    SM_CONSTRAINT * constraints
) 

function classobj_initialize_attributes

void classobj_initialize_attributes (
    SM_ATTRIBUTE * attributes
) 

function classobj_initialize_methods

void classobj_initialize_methods (
    SM_METHOD * methods
) 

function classobj_install_template

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

function classobj_is_exist_foreign_key_ref

bool classobj_is_exist_foreign_key_ref (
    MOP refop,
    SM_FOREIGN_KEY_INFO * fk_info
) 

function classobj_is_pk_referred

bool classobj_is_pk_referred (
    MOP clsop,
    SM_FOREIGN_KEY_INFO * fk_info,
    bool include_self_ref,
    char ** fk_name
) 

function classobj_make_attribute

SM_ATTRIBUTE * classobj_make_attribute (
    const  char * name,
    const  PR_TYPE * type,
    SM_NAME_SPACE name_space
) 

function classobj_make_class

SM_CLASS * classobj_make_class (
    const  char * name
) 

function classobj_make_class_constraints

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

function classobj_make_desclist

SM_DESCRIPTOR_LIST * classobj_make_desclist (
    MOP classobj,
    SM_CLASS * class_,
    SM_COMPONENT * comp,
    int write_access
) 

function classobj_make_descriptor

SM_DESCRIPTOR * classobj_make_descriptor (
    MOP class_mop,
    SM_CLASS * classobj,
    SM_COMPONENT * comp,
    int write_access
) 

function classobj_make_method

SM_METHOD * classobj_make_method (
    const  char * name,
    SM_NAME_SPACE name_space
) 

function classobj_make_method_arg

SM_METHOD_ARGUMENT * classobj_make_method_arg (
    int index
) 

function classobj_make_method_file

SM_METHOD_FILE * classobj_make_method_file (
    const  char * name
) 

function classobj_make_method_signature

SM_METHOD_SIGNATURE * classobj_make_method_signature (
    const  char * name
) 

function classobj_make_partition_info

SM_PARTITION * classobj_make_partition_info (
    void
) 

function classobj_make_prop

DB_SEQ * classobj_make_prop () 

function classobj_make_query_spec

SM_QUERY_SPEC * classobj_make_query_spec (
    const  char * specification
) 

function classobj_make_repattribute

SM_REPR_ATTRIBUTE * classobj_make_repattribute (
    int attid,
    DB_TYPE type_id,
    TP_DOMAIN * domain
) 

function classobj_make_representation

SM_REPRESENTATION * classobj_make_representation () 

function classobj_make_resolution

SM_RESOLUTION * classobj_make_resolution (
    MOP class_mop,
    const  char * name,
    const  char * alias,
    SM_NAME_SPACE name_space
) 

function classobj_make_template

SM_TEMPLATE * classobj_make_template (
    const  char * name,
    MOP op,
    SM_CLASS * class_
) 

function classobj_make_template_like

SM_TEMPLATE * classobj_make_template_like (
    const  char * name,
    SM_CLASS * class_
) 

function classobj_map_constraint_to_property

const  char * classobj_map_constraint_to_property (
    SM_CONSTRAINT_TYPE constraint
) 

function classobj_oid_from_property_value

int classobj_oid_from_property_value (
    DB_VALUE * value,
    OID * oid
) 

function classobj_point_at_att_names

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

function classobj_populate_class_properties

int classobj_populate_class_properties (
    DB_SET ** properties,
    SM_CLASS_CONSTRAINT * constraints,
    SM_CONSTRAINT_TYPE type
) 

function classobj_print

void classobj_print (
    SM_CLASS * class_
) 

function classobj_put_foreign_key_ref

int classobj_put_foreign_key_ref (
    DB_SEQ ** properties,
    SM_FOREIGN_KEY_INFO * fk_info
) 

function classobj_put_index

int classobj_put_index (
    DB_SEQ ** properties,
    SM_CLASS_CONSTRAINT * con,
    const  BTID * id,
    SM_FOREIGN_KEY_INFO * fk_info,
    char * shared_cons_name,
    bool attr_name_instead_of_id
) 

function classobj_put_prop

int classobj_put_prop (
    DB_SEQ * properties,
    const  char * name,
    DB_VALUE * pvalue
) 

function classobj_remove_class_constraint_node

void classobj_remove_class_constraint_node (
    SM_CLASS_CONSTRAINT ** constraints,
    SM_CLASS_CONSTRAINT * node
) 

Public Static Functions Documentation

function classobj_attribute_size

static int classobj_attribute_size (
    SM_ATTRIBUTE * att
) 

function classobj_cache_constraint_entry

static bool classobj_cache_constraint_entry (
    const  char * name,
    DB_SEQ * constraint_seq,
    SM_CLASS * class_,
    SM_CONSTRAINT_TYPE constraint_type
) 

function classobj_cache_constraint_list

static bool classobj_cache_constraint_list (
    DB_SEQ * seq,
    SM_CLASS * class_,
    SM_CONSTRAINT_TYPE constraint_type
) 

function classobj_cache_not_null_constraints

static int classobj_cache_not_null_constraints (
    const  char * class_name,
    SM_ATTRIBUTE * attributes,
    SM_CLASS_CONSTRAINT ** con_ptr
) 

function classobj_capture_representation

static SM_REPRESENTATION * classobj_capture_representation (
    SM_CLASS * class_
) 

function classobj_check_function_constraint_info

static int classobj_check_function_constraint_info (
    DB_SEQ * constraint_seq,
    bool * has_function_constraint
) 

function classobj_check_index_compatibility

static SM_CONSTRAINT_COMPATIBILITY classobj_check_index_compatibility (
    SM_CLASS_CONSTRAINT * constraints,
    const  DB_CONSTRAINT_TYPE constraint_type,
    const  SM_CLASS_CONSTRAINT * existing_con,
    SM_CLASS_CONSTRAINT ** primary_con
) 

function classobj_clear_attribute

static void classobj_clear_attribute (
    SM_ATTRIBUTE * att
) 

function classobj_clear_attribute_value

static void classobj_clear_attribute_value (
    DB_VALUE * value
) 

function classobj_clear_method

static void classobj_clear_method (
    SM_METHOD * meth
) 

function classobj_constraint_size

static int classobj_constraint_size (
    SM_CONSTRAINT * constraint
) 

function classobj_copy_attribute_like

static int classobj_copy_attribute_like (
    DB_CTMPL * ctemplate,
    SM_ATTRIBUTE * attribute,
    const  char * const like_class_name
) 

function classobj_copy_constraint_like

static int classobj_copy_constraint_like (
    DB_CTMPL * ctemplate,
    SM_CLASS_CONSTRAINT * constraint,
    const  char * const like_class_name
) 

function classobj_copy_methfile

static SM_METHOD_FILE * classobj_copy_methfile (
    SM_METHOD_FILE * src
) 

function classobj_copy_methlist

static int classobj_copy_methlist (
    SM_METHOD * methlist,
    MOP filter_class,
    SM_METHOD ** copy_ptr
) 

function classobj_copy_method_arg

static SM_METHOD_ARGUMENT * classobj_copy_method_arg (
    SM_METHOD_ARGUMENT * src
) 

function classobj_copy_method_signature

static SM_METHOD_SIGNATURE * classobj_copy_method_signature (
    SM_METHOD_SIGNATURE * sig
) 

function classobj_domain_size

static int classobj_domain_size (
    TP_DOMAIN * domain
) 

function classobj_filter_attribute_props

static void classobj_filter_attribute_props (
    DB_SEQ * props
) 

function classobj_find_attribute_list

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

function classobj_free_constraint

static void classobj_free_constraint (
    SM_CONSTRAINT * constraint
) 

function classobj_free_method_arg

static void classobj_free_method_arg (
    SM_METHOD_ARGUMENT * arg
) 

function classobj_free_repattribute

static void classobj_free_repattribute (
    SM_REPR_ATTRIBUTE * rat
) 

function classobj_init_attribute

static int classobj_init_attribute (
    SM_ATTRIBUTE * src,
    SM_ATTRIBUTE * dest,
    int copy
) 

function classobj_init_method

static int classobj_init_method (
    SM_METHOD * src,
    SM_METHOD * dest,
    int copy
) 

function classobj_insert_ordered_attribute

static void classobj_insert_ordered_attribute (
    SM_ATTRIBUTE ** attlist,
    SM_ATTRIBUTE * att
) 

function classobj_is_possible_constraint

static bool classobj_is_possible_constraint (
    SM_CONSTRAINT_TYPE existed,
    DB_CONSTRAINT_TYPE new_
) 

function classobj_make_class_constraint

static SM_CLASS_CONSTRAINT * classobj_make_class_constraint (
    const  char * name,
    SM_CONSTRAINT_TYPE type
) 

function classobj_make_constraint

static SM_CONSTRAINT * classobj_make_constraint (
    const  char * name,
    SM_CONSTRAINT_TYPE type,
    BTID * id,
    bool has_function_constraint
) 

function classobj_make_foreign_key_info

static SM_FOREIGN_KEY_INFO * classobj_make_foreign_key_info (
    DB_SEQ * fk_seq,
    const  char * cons_name,
    SM_ATTRIBUTE * attributes
) 

function classobj_make_foreign_key_info_seq

static DB_SEQ * classobj_make_foreign_key_info_seq (
    SM_FOREIGN_KEY_INFO * fk_info
) 

function classobj_make_foreign_key_ref

static SM_FOREIGN_KEY_INFO * classobj_make_foreign_key_ref (
    DB_SEQ * fk_seq
) 

function classobj_make_foreign_key_ref_list

static SM_FOREIGN_KEY_INFO * classobj_make_foreign_key_ref_list (
    DB_SEQ * fk_container
) 

function classobj_make_foreign_key_ref_seq

static DB_SEQ * classobj_make_foreign_key_ref_seq (
    SM_FOREIGN_KEY_INFO * fk_info
) 

function classobj_make_function_index_info

static SM_FUNCTION_INFO * classobj_make_function_index_info (
    DB_SEQ * func_seq
) 

function classobj_make_function_index_info_seq

static DB_SEQ * classobj_make_function_index_info_seq (
    SM_FUNCTION_INFO * func_index_info
) 

function classobj_make_index_attr_prefix_seq

static DB_SEQ * classobj_make_index_attr_prefix_seq (
    int num_attrs,
    const  int * attrs_prefix_length
) 

function classobj_make_index_filter_pred_info

static SM_PREDICATE_INFO * classobj_make_index_filter_pred_info (
    DB_SEQ * pred_seq
) 

function classobj_make_index_filter_pred_seq

static DB_SEQ * classobj_make_index_filter_pred_seq (
    SM_PREDICATE_INFO * filter_index_info
) 

function classobj_make_index_prefix_info

static int * classobj_make_index_prefix_info (
    DB_SEQ * prefix_seq,
    int num_attrs
) 

function classobj_method_arg_size

static int classobj_method_arg_size (
    SM_METHOD_ARGUMENT * arg
) 

function classobj_method_file_size

static int classobj_method_file_size (
    SM_METHOD_FILE * file
) 

function classobj_method_signature_size

static int classobj_method_signature_size (
    SM_METHOD_SIGNATURE * sig
) 

function classobj_method_size

static int classobj_method_size (
    SM_METHOD * meth
) 

function classobj_partition_info_size

static int classobj_partition_info_size (
    SM_PARTITION * partition_info
) 

function classobj_print_props

static void classobj_print_props (
    DB_SEQ * properties
) 

function classobj_put_seq_and_iterate

static int classobj_put_seq_and_iterate (
    DB_SEQ * destination,
    int & index,
    DB_SEQ * element
) 

function classobj_put_seq_with_name_and_iterate

static int classobj_put_seq_with_name_and_iterate (
    DB_SEQ * destination,
    int & index,
    const  char * name,
    DB_SEQ * seq
) 

function classobj_put_value_and_iterate

static void classobj_put_value_and_iterate (
    DB_SEQ * destination,
    int & index,
    DB_VALUE & value
) 

function classobj_query_spec_size

static int classobj_query_spec_size (
    SM_QUERY_SPEC * query_spec
) 

function classobj_repattribute_size

static int classobj_repattribute_size (
    void
) 

function classobj_representation_size

static int classobj_representation_size (
    SM_REPRESENTATION * rep
) 

function classobj_resolution_size

static int classobj_resolution_size (
    SM_RESOLUTION * res
) 

function classobj_sort_attlist

static void classobj_sort_attlist (
    SM_ATTRIBUTE ** source
) 

function classobj_sort_methlist

static void classobj_sort_methlist (
    SM_METHOD ** source
) 

Macro Definition Documentation

define NUM_CONSTRAINT_PROPERTIES

#define NUM_CONSTRAINT_PROPERTIES `(( int )( sizeof ( Constraint_properties )/ sizeof ( Constraint_properties [0])))`

define NUM_CONSTRAINT_TYPES

#define NUM_CONSTRAINT_TYPES `(( int )( sizeof ( Constraint_types )/ sizeof ( Constraint_types [0])))`

define SM_SPRINTF_UNIQUE_PROPERTY_VALUE

#define SM_SPRINTF_UNIQUE_PROPERTY_VALUE (
    buffer,
    volid,
    fileid,
    pageid
) `sprintf (buffer, "%d|%d|% d" , ( int )volid, ( int )fileid, ( int )pageid)`


The documentation for this class was generated from the following file cubrid/src/object/class_object.c