CUBRID Engine
latest
|
#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"
Go to the source code of this file.
Macros | |
#define | SM_SPRINTF_UNIQUE_PROPERTY_VALUE(buffer, volid, fileid, pageid) sprintf(buffer, "%d|%d|%d", (int)volid, (int)fileid, (int)pageid) |
#define | NUM_CONSTRAINT_TYPES ((int)(sizeof(Constraint_types)/sizeof(Constraint_types[0]))) |
#define | NUM_CONSTRAINT_PROPERTIES ((int)(sizeof(Constraint_properties)/sizeof(Constraint_properties[0]))) |
Enumerations | |
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 } |
Variables | |
const int | SM_MAX_STRING_LENGTH = 1073741823 |
static SM_CONSTRAINT_TYPE | Constraint_types [] |
static const char * | Constraint_properties [] |
static AREA * | Template_area = NULL |
#define NUM_CONSTRAINT_PROPERTIES ((int)(sizeof(Constraint_properties)/sizeof(Constraint_properties[0]))) |
Definition at line 91 of file class_object.c.
#define NUM_CONSTRAINT_TYPES ((int)(sizeof(Constraint_types)/sizeof(Constraint_types[0]))) |
Definition at line 89 of file class_object.c.
Referenced by classobj_cache_constraints(), and classobj_make_class_constraints().
#define SM_SPRINTF_UNIQUE_PROPERTY_VALUE | ( | buffer, | |
volid, | |||
fileid, | |||
pageid | |||
) | sprintf(buffer, "%d|%d|%d", (int)volid, (int)fileid, (int)pageid) |
Definition at line 58 of file class_object.c.
Enumerator | |
---|---|
SM_CREATE_NEW_INDEX | |
SM_SHARE_INDEX | |
SM_NOT_SHARE_INDEX_AND_WARNING | |
SM_NOT_SHARE_PRIMARY_KEY_AND_WARNING |
Definition at line 61 of file class_object.c.
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().
void classobj_area_final | ( | void | ) |
Definition at line 184 of file class_object.c.
References area_destroy(), and NULL.
Referenced by ws_init().
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().
|
static |
Definition at line 4751 of file class_object.c.
References classobj_constraint_size(), classobj_domain_size(), sm_attribute::comment, sm_attribute::constraints, sm_attribute::default_value, sm_attribute::domain, sm_attribute::header, sm_component::name, NULL, sm_default_value::original_value, pr_value_mem_size(), strlen, sm_default_value::value, and ws_list_total().
Referenced by classobj_class_size().
Definition at line 2046 of file class_object.c.
References ARG_FILE_LINE, classobj_decompose_property_oid(), db_get_string(), DB_TYPE_STRING, DB_VALUE_TYPE, er_errid(), ER_ERROR_SEVERITY, er_set(), ER_SM_INVALID_PROPERTY, vfid::fileid, NO_ERROR, NULL, btid::root_pageid, strdup(), btid::vfid, and vfid::volid.
Referenced by classobj_cache_constraint_entry(), classobj_make_class_constraints(), classobj_make_foreign_key_info(), classobj_make_foreign_key_ref(), and flatten_properties().
int classobj_cache_class_constraints | ( | SM_CLASS * | class_ | ) |
Definition at line 3697 of file class_object.c.
References sm_class::attributes, classobj_cache_not_null_constraints(), classobj_decache_class_constraints(), classobj_make_class_constraints(), sm_class::constraints, error(), NO_ERROR, sm_class::properties, and sm_ch_name().
Referenced by allocate_disk_structures(), classobj_fixup_loaded_class(), classobj_install_template(), sm_drop_index(), and sm_exist_index().
|
static |
Definition at line 2334 of file class_object.c.
References classobj_btid_from_property_value(), classobj_check_function_constraint_info(), classobj_find_attribute(), classobj_find_attribute_id(), classobj_make_constraint(), sm_attribute::constraints, db_get_int(), db_get_string(), DB_TYPE_INTEGER, DB_TYPE_STRING, DB_VALUE_TYPE, error(), i, sm_constraint::next, NO_ERROR, NULL, pr_clear_value(), set_get_element(), set_size(), SM_CONSTRAINT_INDEX, SM_CONSTRAINT_REVERSE_INDEX, SM_CONSTRAINT_REVERSE_UNIQUE, and SM_CONSTRAINT_UNIQUE.
Referenced by classobj_cache_constraint_list().
|
static |
Definition at line 2454 of file class_object.c.
References classobj_cache_constraint_entry(), db_get_set(), db_get_string(), db_make_null(), DB_TYPE_SEQUENCE, DB_VALUE_TYPE, error(), i, max, NO_ERROR, pr_clear_value(), set_get_element(), and set_size().
Referenced by classobj_cache_constraints().
Definition at line 2513 of file class_object.c.
References sm_class::attributes, classobj_cache_constraint_list(), classobj_free_constraint(), classobj_get_prop(), Constraint_properties, Constraint_types, sm_attribute::constraints, db_get_set(), DB_TYPE_SEQUENCE, DB_VALUE_TYPE, sm_attribute::header, i, sm_component::next, NULL, NUM_CONSTRAINT_TYPES, pr_clear_value(), and sm_class::properties.
Referenced by allocate_disk_structures(), classobj_fixup_loaded_class(), classobj_install_template(), sm_drop_index(), and sm_exist_index().
|
static |
Definition at line 3574 of file class_object.c.
References assert, sm_class_constraint::attributes, classobj_free_class_constraints(), classobj_make_class_constraint(), DB_CONSTRAINT_NOT_NULL, db_ws_alloc(), db_ws_free(), er_errid(), sm_attribute::flags, free_and_init, sm_attribute::header, sm_component::name, sm_component::next, sm_class_constraint::next, NO_ERROR, NULL, SM_ATTFLAG_NON_NULL, SM_CONSTRAINT_NOT_NULL, sm_produce_constraint_name(), and ws_copy_string().
Referenced by classobj_cache_class_constraints().
|
static |
Definition at line 6946 of file class_object.c.
References sm_representation::attributes, sm_class::attributes, classobj_free_representation(), classobj_make_repattribute(), classobj_make_representation(), sm_attribute::domain, sm_representation::fixed_count, sm_class::fixed_count, sm_attribute::header, sm_attribute::id, sm_representation::id, sm_component::next, sm_repr_attribute::next, sm_representation::next, NULL, sm_class::repid, sm_class::representations, TP_DOMAIN_TYPE, sm_representation::variable_count, and sm_class::variable_count.
Referenced by classobj_install_template().
int classobj_change_constraint_comment | ( | DB_SEQ * | properties, |
SM_CLASS_CONSTRAINT * | cons, | ||
const char * | comment | ||
) |
Definition at line 1954 of file class_object.c.
References ARG_FILE_LINE, assert, classobj_get_prop(), classobj_map_constraint_to_property(), classobj_put_prop(), db_get_set(), DB_IS_NULL, db_make_null(), db_make_sequence(), db_make_string(), DB_TYPE_STRING, DB_VALUE_TYPE, ER_ERROR_SEVERITY, er_set(), ER_SM_INVALID_PROPERTY, error(), sm_class_constraint::name, NO_ERROR, NULL, pr_clear_value(), set_get_element(), set_put_element(), set_size(), and sm_class_constraint::type.
Referenced by change_constraints_comment_partitioned_class(), and smt_change_constraint_comment().
int classobj_change_constraint_status | ( | DB_SEQ * | properties, |
SM_CLASS_CONSTRAINT * | cons, | ||
SM_INDEX_STATUS | index_status | ||
) |
Definition at line 8527 of file class_object.c.
References ARG_FILE_LINE, assert, classobj_get_prop(), classobj_map_constraint_to_property(), classobj_put_prop(), db_get_set(), DB_IS_NULL, db_make_int(), db_make_null(), db_make_sequence(), DB_TYPE_INTEGER, DB_VALUE_TYPE, ER_ERROR_SEVERITY, er_set(), ER_SM_INVALID_PROPERTY, error(), sm_class_constraint::name, NO_ERROR, NULL, pr_clear_value(), set_get_element(), set_put_element(), set_size(), and sm_class_constraint::type.
Referenced by change_constraints_status_partitioned_class(), and smt_change_constraint_status().
|
static |
Definition at line 8265 of file class_object.c.
References ARG_FILE_LINE, assert, db_get_set(), db_get_string(), DB_IS_NULL, db_make_null(), DB_TYPE_INTEGER, DB_TYPE_SEQUENCE, DB_TYPE_STRING, DB_VALUE_TYPE, er_errid(), ER_ERROR_SEVERITY, er_set(), ER_SM_INVALID_PROPERTY, NO_ERROR, NULL, pr_clear_value(), set_get_element(), set_size(), and SM_FUNCTION_INDEX_ID.
Referenced by classobj_cache_constraint_entry().
|
static |
Definition at line 7924 of file class_object.c.
References assert, sm_function_info::attr_index_start, classobj_find_cons_primary_key(), sm_function_info::col_id, DB_CONSTRAINT_FOREIGN_KEY, DB_CONSTRAINT_INDEX, DB_CONSTRAINT_PRIMARY_KEY, DB_IS_CONSTRAINT_UNIQUE_FAMILY, sm_function_info::expr_str, sm_function_info::fi_domain, sm_class_constraint::filter_predicate, sm_class_constraint::func_index_info, tp_domain::is_desc, NULL, SM_CONSTRAINT_FOREIGN_KEY, SM_CREATE_NEW_INDEX, SM_IS_CONSTRAINT_UNIQUE_FAMILY, SM_IS_SHARE_WITH_FOREIGN_KEY, SM_NOT_SHARE_INDEX_AND_WARNING, SM_NOT_SHARE_PRIMARY_KEY_AND_WARNING, SM_SHARE_INDEX, and sm_class_constraint::type.
Referenced by 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 | ||
) |
Definition at line 8026 of file class_object.c.
References assert, classobj_check_index_compatibility(), classobj_find_constraint_by_attrs(), classobj_find_constraint_by_name(), ER_REGU_NOT_IMPLEMENTED, ER_SM_INDEX_EXISTS, ER_SM_PRIMARY_KEY_EXISTS, error(), ERROR1, ERROR2, sm_class_constraint::name, NO_ERROR, NULL, rel_major_release_string(), SM_CREATE_NEW_INDEX, SM_NOT_SHARE_INDEX_AND_WARNING, SM_NOT_SHARE_PRIMARY_KEY_AND_WARNING, SM_SHARE_INDEX, strdup(), and TEXT_CONSTRAINT_PREFIX.
Referenced by sm_check_index_exist(), and smt_check_index_exist().
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().
int classobj_class_size | ( | SM_CLASS * | class_ | ) |
Definition at line 6740 of file class_object.c.
References classobj_attribute_size(), classobj_method_file_size(), classobj_method_size(), classobj_partition_info_size(), classobj_query_spec_size(), classobj_representation_size(), classobj_resolution_size(), sm_attribute::header, sm_method::header, ml_size(), sm_component::next, NULL, sm_ch_name(), strlen, and ws_list_total().
Referenced by ws_dump().
|
static |
Definition at line 4674 of file class_object.c.
References classobj_clear_attribute_value(), classobj_free_constraint(), classobj_free_prop(), sm_attribute::comment, sm_attribute::constraints, sm_default_value::default_expr, db_default_expr::default_expr_format, sm_attribute::default_value, sm_attribute::domain, sm_attribute::header, sm_component::name, NULL, sm_default_value::original_value, sm_attribute::properties, tp_domain_free(), tr_free_schema_cache(), sm_attribute::triggers, sm_default_value::value, and ws_free_string().
Referenced by classobj_free_attribute(), classobj_free_class(), and classobj_install_template().
|
static |
Definition at line 4634 of file class_object.c.
References db_get_set(), DB_IS_NULL, DB_VALUE_TYPE, NULL, pr_clear_value(), db_set::set, set_free(), setobj_free(), and TP_IS_SET_TYPE.
Referenced by classobj_clear_attribute().
|
static |
Definition at line 5125 of file class_object.c.
References classobj_free_method_signature(), classobj_free_prop(), sm_method::header, sm_component::name, NULL, sm_method::properties, sm_method::signatures, ws_free_string(), and ws_list_free().
Referenced by classobj_free_class(), classobj_free_method(), classobj_init_method(), and classobj_install_template().
SM_COMPONENT* classobj_complist_search | ( | SM_COMPONENT * | list, |
const char * | name | ||
) |
Definition at line 7704 of file class_object.c.
References intl_identifier_casecmp(), sm_component::name, sm_component::next, and NULL.
|
static |
Definition at line 2310 of file class_object.c.
Referenced by classobj_attribute_size().
int classobj_copy_attlist | ( | SM_ATTRIBUTE * | attlist, |
MOP | filter_class, | ||
int | ordered, | ||
SM_ATTRIBUTE ** | copy_ptr | ||
) |
Definition at line 4571 of file class_object.c.
References assert, sm_attribute::class_mop, classobj_copy_attribute(), er_errid(), sm_attribute::header, sm_component::next, NO_ERROR, NULL, and sm_attribute::order_link.
Referenced by classobj_make_template(), and do_promote_partition().
SM_ATTRIBUTE* classobj_copy_attribute | ( | SM_ATTRIBUTE * | src, |
const char * | alias | ||
) |
Definition at line 4527 of file class_object.c.
References classobj_init_attribute(), db_ws_alloc(), db_ws_free(), sm_attribute::header, sm_component::name, sm_component::next, NULL, ws_copy_string(), and ws_free_string().
Referenced by allocate_disk_structures(), classobj_copy_attlist(), and make_component_from_candidate().
|
static |
Definition at line 6305 of file class_object.c.
References ARG_FILE_LINE, assert, sm_attribute::comment, DB_CONSTRAINT_NOT_NULL, dbt_add_constraint(), sm_default_value::default_expr, sm_attribute::default_value, sm_attribute::domain, er_errid(), ER_ERROR_SEVERITY, er_set(), ER_SM_CANT_COPY_WITH_FEATURE, error(), sm_attribute::flags, sm_attribute::header, ID_CLASS_ATTRIBUTE, sm_component::name, sm_template::name, sm_component::name_space, NO_ERROR, NULL, sm_attribute::on_update_default_expr, SM_ATTFLAG_AUTO_INCREMENT, SM_ATTFLAG_NON_NULL, smt_add_attribute_w_dflt(), and sm_default_value::value.
Referenced by classobj_make_template_like().
|
static |
Definition at line 6402 of file class_object.c.
References ARG_FILE_LINE, sm_class_constraint::asc_desc, assert, au_fetch_class_force(), AU_FETCH_READ, classobj_find_cons_primary_key(), classobj_point_at_att_names(), sm_class_constraint::comment, sm_class::constraints, cubregex::count(), DB_CONSTRAINT_FOREIGN_KEY, DB_CONSTRAINT_INDEX, DB_CONSTRAINT_NOT_NULL, DB_CONSTRAINT_REVERSE_INDEX, db_constraint_type(), DB_CONSTRAINT_UNIQUE, dbt_add_foreign_key(), sm_foreign_key_info::delete_action, er_errid(), ER_ERROR_SEVERITY, ER_FK_REF_CLASS_HAS_NOT_PK, er_set(), error(), sm_template::ext_references, sm_class_constraint::filter_predicate, sm_class_constraint::fk_info, free_and_init, sm_class_constraint::func_index_info, sm_class_constraint::index_status, ml_ext_add(), sm_class_constraint::name, NO_ERROR, NULL, sm_foreign_key_info::ref_class_oid, sm_ch_name(), sm_produce_constraint_name(), sm_produce_constraint_name_tmpl(), smt_add_constraint(), sm_foreign_key_info::update_action, and ws_mop().
Referenced by classobj_make_template_like().
int classobj_copy_default_expr | ( | DB_DEFAULT_EXPR * | dest, |
const DB_DEFAULT_EXPR * | src | ||
) |
Definition at line 8503 of file class_object.c.
References ARG_FILE_LINE, assert, db_default_expr::default_expr_format, db_default_expr::default_expr_op, db_default_expr::default_expr_type, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), NO_ERROR, NULL, strlen, and ws_copy_string().
Referenced by classobj_init_attribute(), smt_set_attribute_default(), and smt_set_attribute_orig_default_value().
|
static |
Definition at line 5595 of file class_object.c.
References sm_method_file::class_mop, classobj_free_method_file(), classobj_make_method_file(), sm_method_file::expanded_name, sm_method_file::name, NULL, sm_method_file::source_name, and ws_copy_string().
Referenced by classobj_copy_methfiles().
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().
|
static |
Definition at line 5277 of file class_object.c.
References assert, sm_method::class_mop, classobj_copy_method(), er_errid(), sm_method::header, sm_component::next, NO_ERROR, and NULL.
Referenced by classobj_make_template().
Definition at line 5234 of file class_object.c.
References classobj_init_method(), db_ws_alloc(), db_ws_free(), sm_method::header, sm_component::name, sm_component::next, NULL, ws_copy_string(), and ws_free_string().
Referenced by classobj_copy_methlist(), and make_component_from_candidate().
|
static |
Definition at line 4839 of file class_object.c.
References classobj_free_method_arg(), classobj_make_method_arg(), sm_method_argument::domain, sm_method_argument::index, NULL, tp_domain_copy(), and sm_method_argument::type.
Referenced by classobj_copy_method_signature().
|
static |
Definition at line 4995 of file class_object.c.
References sm_method_signature::args, classobj_copy_method_arg(), classobj_free_method_arg(), classobj_free_method_signature(), classobj_make_method_signature(), sm_method_signature::function, sm_method_signature::function_name, NULL, sm_method_signature::num_args, sm_method_signature::sql_definition, sm_method_signature::value, ws_copy_string(), and ws_list_copy().
Referenced by classobj_init_method().
SM_PARTITION* classobj_copy_partition_info | ( | SM_PARTITION * | partition_info | ) |
Definition at line 8439 of file class_object.c.
References ARG_FILE_LINE, classobj_free_partition_info(), classobj_make_partition_info(), sm_partition::comment, db_seq_copy(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), sm_partition::expr, NULL, sm_partition::partition_type, sm_partition::pname, sm_partition::values, and ws_copy_string().
Referenced by classobj_make_template(), and flatten_partition_info().
Definition at line 549 of file class_object.c.
References ARG_FILE_LINE, sm_class_constraint::asc_desc, assert, sm_class_constraint::attributes, sm_class::attributes, sm_class_constraint::attrs_prefix_length, au_fetch_class_force(), AU_FETCH_READ, sm_attribute::class_mop, classobj_drop_prop(), classobj_free_class_constraints(), classobj_free_prop(), classobj_make_class_constraints(), classobj_put_index(), sm_class_constraint::comment, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, er_set(), ER_SM_INVALID_PROPERTY, error(), sm_class_constraint::filter_predicate, sm_class_constraint::fk_info, sm_class_constraint::func_index_info, sm_class_constraint::index_btid, sm_class_constraint::index_status, is_global, sm_class_constraint::name, sm_class_constraint::next, NO_ERROR, NULL, set_copy(), sm_class_constraint::shared_cons_name, SM_CONSTRAINT_FOREIGN_KEY, SM_CONSTRAINT_INDEX, SM_CONSTRAINT_REVERSE_INDEX, SM_IS_CONSTRAINT_UNIQUE_FAMILY, sm_is_global_only_constraint(), SM_PROPERTY_FOREIGN_KEY, SM_PROPERTY_INDEX, SM_PROPERTY_NOT_NULL, SM_PROPERTY_PRIMARY_KEY, SM_PROPERTY_REVERSE_INDEX, SM_PROPERTY_REVERSE_UNIQUE, SM_PROPERTY_UNIQUE, and sm_class_constraint::type.
Referenced by classobj_init_attribute(), classobj_init_method(), classobj_make_template(), and flatten_properties().
SM_QUERY_SPEC* classobj_copy_query_spec_list | ( | SM_QUERY_SPEC * | 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().
int classobj_copy_reslist | ( | SM_RESOLUTION * | src, |
SM_NAME_SPACE | resspace, | ||
SM_RESOLUTION ** | copy_ptr | ||
) |
Definition at line 5439 of file class_object.c.
References sm_resolution::alias, assert, sm_resolution::class_mop, classobj_make_resolution(), er_errid(), ID_NULL, sm_resolution::name, sm_resolution::name_space, sm_resolution::next, NO_ERROR, and NULL.
Referenced by classobj_make_template(), and filter_resolutions().
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().
char* classobj_describe_foreign_key_action | ( | SM_FOREIGN_KEY_ACTION | action | ) |
Definition at line 748 of file class_object.c.
References SM_FOREIGN_KEY_CASCADE, SM_FOREIGN_KEY_NO_ACTION, SM_FOREIGN_KEY_RESTRICT, and SM_FOREIGN_KEY_SET_NULL.
Referenced by db_get_foreign_key_action(), object_printer::describe_constraint(), and emit_foreign_key().
|
static |
Definition at line 4240 of file class_object.c.
References tp_domain::setdomain, and ws_list_total().
Referenced by classobj_attribute_size(), and classobj_method_arg_size().
Definition at line 1709 of file class_object.c.
References ARG_FILE_LINE, assert, classobj_decompose_property_oid(), classobj_get_prop(), classobj_put_prop(), db_get_set(), db_get_string(), db_make_null(), DB_TYPE_SEQUENCE, DB_TYPE_STRING, DB_VALUE_TYPE, er_errid(), ER_ERROR_SEVERITY, er_set(), ER_SM_INVALID_PROPERTY, err, vfid::fileid, i, NO_ERROR, NULL, pr_clear_value(), btid::root_pageid, set_drop_seq_element(), set_get_element(), set_get_element_nocopy(), set_put_element(), set_size(), SM_COMPARE_NAMES, SM_PROPERTY_PRIMARY_KEY, btid::vfid, and vfid::volid.
Referenced by drop_foreign_key_ref_internal(), and update_fk_ref_partitioned_class().
Definition at line 394 of file class_object.c.
References ARG_FILE_LINE, db_get_string(), DB_TYPE_STRING, DB_VALUE_TYPE, ER_ERROR_SEVERITY, er_set(), ER_SM_INVALID_PROPERTY, error(), i, max, NO_ERROR, NULL, pr_clear_value(), set_drop_seq_element(), set_get_element(), and set_size().
Referenced by classobj_copy_props(), classobj_filter_attribute_props(), classobj_populate_class_properties(), do_change_att_schema_only(), do_promote_partition(), filter_local_constraints(), smt_drop_constraint_from_property(), tf_attribute_default_expr_to_property(), and transfer_disk_structures().
|
static |
Definition at line 4318 of file class_object.c.
References classobj_drop_prop(), SM_PROPERTY_INDEX, and SM_PROPERTY_REVERSE_INDEX.
Referenced by classobj_init_attribute().
SM_COMPONENT* classobj_filter_components | ( | SM_COMPONENT ** | complist, |
SM_NAME_SPACE | name_space | ||
) |
Definition at line 7372 of file class_object.c.
References classobj_print_props(), sm_attribute::comment, sm_attribute::domain, sm_attribute::header, sm_method::header, help_print_describe_comment(), sm_attribute::id, pr_type::name, sm_component::name, sm_component::name_space, sm_component::next, NULL, sm_attribute::offset, sm_attribute::order, sm_attribute::order_link, sm_attribute::properties, sm_method::properties, sm_ch_name(), sm_attribute::storage_order, and tp_domain::type.
Referenced by build_storage_order().
SM_ATTRIBUTE* classobj_find_attribute | ( | SM_CLASS * | class_, |
const char * | name, | ||
int | class_attribute | ||
) |
Definition at line 7525 of file class_object.c.
References sm_class::attributes, sm_class::class_attributes, sm_attribute::header, intl_identifier_casecmp(), sm_component::name, sm_component::next, NULL, and sm_class::shared.
Referenced by alter_trigger_cache(), alter_trigger_hierarchy(), api_rmeta_get_info(), classobj_cache_constraint_entry(), db_get_attribute(), db_get_attribute_domain(), db_get_attribute_force(), db_get_class_attribute(), db_get_shared_attribute(), db_seq_create(), db_set_create(), db_set_create_basic(), db_set_create_multi(), find_any(), find_attribute(), find_attribute_op(), find_shared_attribute(), obj_find_unique(), obj_inst_lock(), obt_find_attribute(), pt_to_pred_expr(), sm_att_info(), sm_exist_index(), sm_find_index(), sm_get_attribute_descriptor(), sm_get_index(), sm_get_trigger_cache(), smt_check_foreign_key(), and smt_find_attribute().
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().
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().
SM_CLASS_CONSTRAINT* classobj_find_class_constraint | ( | SM_CLASS_CONSTRAINT * | constraints, |
SM_CONSTRAINT_TYPE | type, | ||
const char * | name | ||
) |
Definition at line 3738 of file class_object.c.
References intl_identifier_casecmp(), sm_class_constraint::name, sm_class_constraint::next, NULL, and sm_class_constraint::type.
Referenced by allocate_unique_constraint(), collect_hier_class_info(), db_find_class_of_index(), drop_foreign_key_ref(), filter_local_constraints(), inherit_constraint(), sm_drop_index(), and transfer_disk_structures().
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().
SM_CLASS_CONSTRAINT* classobj_find_class_index | ( | SM_CLASS * | class_, |
const char * | name | ||
) |
Definition at line 3808 of file class_object.c.
References classobj_find_constraint_by_name(), and sm_class::constraints.
Referenced by do_alter_index_rebuild(), do_alter_one_clause_with_template(), emit_index_def(), pt_bind_names_post(), pt_resolve_using_index(), qo_check_coll_optimization(), qo_check_type_index_covering(), qo_is_prefix_index(), sm_drop_constraint(), sm_exist_index(), and util_get_class_oids_and_index_btid().
SM_CLASS_CONSTRAINT* classobj_find_class_primary_key | ( | SM_CLASS * | class_ | ) |
Definition at line 3842 of file class_object.c.
References sm_class_constraint::attributes, classobj_find_cons_primary_key(), sm_class::constraints, cubregex::count(), i, sm_class_constraint::next, NULL, SM_CONSTRAINT_FOREIGN_KEY, and sm_class_constraint::type.
Referenced by classobj_is_exist_foreign_key_ref(), do_alter_one_clause_with_template(), obj_find_object_by_pkey(), sl_print_pk(), and smt_check_foreign_key().
SM_COMPONENT* classobj_find_component | ( | SM_CLASS * | class_, |
const char * | name, | ||
int | class_component | ||
) |
Definition at line 7647 of file class_object.c.
References sm_class::attributes, sm_class::class_attributes, sm_class::class_methods, intl_identifier_casecmp(), sm_class::methods, sm_component::name, sm_component::next, NULL, and sm_class::shared.
Referenced by check_resolution_name(), check_resolution_target(), and sm_get_descriptor_component().
TP_DOMAIN* classobj_find_cons_index2_col_type_list | ( | SM_CLASS_CONSTRAINT * | cons, |
OID * | root_oid | ||
) |
Definition at line 3996 of file class_object.c.
References class_stats::attr_stats, attr_stats::bt_stats, btree_stats::btid, BTID_IS_EQUAL, DB_TYPE_MIDXKEY, err, i, sm_class_constraint::index_btid, btree_stats::key_type, class_stats::n_attrs, attr_stats::n_btstats, NO_ERROR, NULL, OID_ISNULL, tp_domain::setdomain, SM_IS_CONSTRAINT_INDEX_FAMILY, stats_free_statistics(), stats_get_statistics(), TP_DOMAIN_TYPE, and sm_class_constraint::type.
Referenced by do_create_partition_constraint().
SM_CLASS_CONSTRAINT* classobj_find_cons_primary_key | ( | SM_CLASS_CONSTRAINT * | cons_list | ) |
Definition at line 3820 of file class_object.c.
References sm_class_constraint::next, NULL, SM_CONSTRAINT_PRIMARY_KEY, and sm_class_constraint::type.
Referenced by allocate_foreign_key(), classobj_check_index_compatibility(), classobj_copy_constraint_like(), classobj_find_class_primary_key(), do_alter_partitioning_pre(), drop_foreign_key_ref_internal(), sm_delete_class_mop(), sm_drop_cascade_foreign_key(), sm_save_constraint_info(), sm_truncate_class(), smt_check_foreign_key(), smt_drop_constraint(), truncate_need_repl_log(), update_fk_ref_partitioned_class(), and update_foreign_key_ref().
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 | ||
) |
Definition at line 4064 of file class_object.c.
References sm_class_constraint::asc_desc, assert, sm_class_constraint::attributes, classobj_is_possible_constraint(), i, intl_identifier_casecmp(), sm_class_constraint::next, SM_IS_CONSTRAINT_INDEX_FAMILY, and sm_class_constraint::type.
Referenced by classobj_check_index_exist().
SM_CLASS_CONSTRAINT* classobj_find_constraint_by_name | ( | SM_CLASS_CONSTRAINT * | cons_list, |
const char * | name | ||
) |
Definition at line 3785 of file class_object.c.
References sm_class_constraint::name, sm_class_constraint::next, SM_COMPARE_NAMES, SM_IS_CONSTRAINT_INDEX_FAMILY, and sm_class_constraint::type.
Referenced by allocate_foreign_key(), allocate_unique_constraint(), classobj_check_index_exist(), classobj_find_class_index(), get_index_type_qualifiers(), pt_check_show_index(), sm_exist_index(), sm_load_online_index(), smt_find_constraint(), and smt_rename_any().
Definition at line 7611 of file class_object.c.
References sm_class::class_methods, sm_method::header, intl_identifier_casecmp(), sm_class::methods, sm_component::name, sm_component::next, and NULL.
Referenced by db_get_class_method(), db_get_method(), db_get_method_function(), find_any(), find_method(), obj_send_array(), obj_send_list(), obj_send_va(), sm_get_method_descriptor(), and sm_get_method_source_file().
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().
int classobj_find_prop_constraint | ( | DB_SEQ * | properties, |
const char * | prop_name, | ||
const char * | cnstr_name, | ||
DB_VALUE * | cnstr_val | ||
) |
Definition at line 1864 of file class_object.c.
References ARG_FILE_LINE, classobj_get_prop(), classobj_put_prop(), db_get_set(), db_make_null(), db_make_string(), ER_ERROR_SEVERITY, er_set(), ER_SM_INVALID_PROPERTY, error(), NO_ERROR, pr_clear_value(), and set_put_element().
Referenced by flatten_properties(), and smt_add_constraint_to_property().
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().
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().
void classobj_fixup_loaded_class | ( | SM_CLASS * | class_ | ) |
Definition at line 6847 of file class_object.c.
References sm_class::attributes, sm_class::class_attributes, sm_class::class_methods, classobj_cache_class_constraints(), classobj_cache_constraints(), classobj_insert_ordered_attribute(), DB_ATT_ALIGN, sm_attribute::domain, sm_class::dont_decache_constraints_or_flush, sm_attribute::header, sm_method::header, i, sm_class::methods, sm_component::next, NULL, OBJ_BOUND_BIT_BYTES, sm_class::object_size, sm_attribute::offset, sm_attribute::order, sm_method::order, sm_attribute::order_link, sm_class::ordered_attributes, sm_class::recache_constraints, sm_class::shared, sm_attribute::storage_order, tp_domain_memory_size(), tp_domain::type, and pr_type::variable_p.
Referenced by classobj_install_template(), and disk_to_class().
void classobj_free_attribute | ( | SM_ATTRIBUTE * | att | ) |
Definition at line 4734 of file class_object.c.
References classobj_clear_attribute(), db_ws_free(), and NULL.
Referenced by classobj_free_template(), free_db_attribute_list(), init_db_attribute_list(), make_component_from_candidate(), smt_add_attribute_any(), and smt_delete_any().
void classobj_free_class | ( | SM_CLASS * | class_ | ) |
Definition at line 6666 of file class_object.c.
References sm_class::attributes, au_free_authorization_cache_and_init, sm_class::auth_cache, sm_class_header::ch_name, sm_class::class_attributes, sm_class::class_methods, classobj_clear_attribute(), classobj_clear_method(), classobj_free_class_constraints_and_init, classobj_free_method_file(), classobj_free_partition_info(), classobj_free_prop_and_init, classobj_free_query_spec(), classobj_free_representation(), classobj_free_resolution(), classobj_free_template(), classobj_free_threaded_array_and_init, sm_class::comment, sm_class::constraints, db_ws_free_and_init, sm_class::header, sm_class::inheritance, sm_class::loader_commands, sm_class::method_files, sm_class::methods, ml_free_and_init, mq_free_virtual_query_cache_and_init, sm_class::new_, NULL, sm_class::partition, sm_class::properties, sm_class::query_spec, sm_class::representations, sm_class::resolutions, sm_class::shared, sm_class::stats, stats_free_statistics_and_init, tr_free_schema_cache_and_init, sm_class::triggers, sm_class::users, sm_class::virtual_query_cache, ws_free_string_and_init, and ws_list_free_and_init.
Referenced by disk_to_class(), tf_disk_to_class(), update_class(), ws_cache(), and ws_decache().
void classobj_free_class_constraints | ( | SM_CLASS_CONSTRAINT * | constraints | ) |
Definition at line 2658 of file class_object.c.
References sm_class_constraint::asc_desc, sm_predicate_info::att_ids, sm_class_constraint::attributes, sm_class_constraint::attrs_prefix_length, classobj_free_foreign_key_ref(), classobj_free_function_index_ref(), sm_class_constraint::comment, db_ws_free(), sm_class_constraint::filter_predicate, sm_class_constraint::fk_info, free_and_init, sm_class_constraint::func_index_info, sm_class_constraint::name, sm_class_constraint::next, NULL, sm_predicate_info::pred_stream, sm_predicate_info::pred_string, sm_class_constraint::shared_cons_name, SM_CONSTRAINT_FOREIGN_KEY, SM_CONSTRAINT_PRIMARY_KEY, sm_class_constraint::type, and ws_free_string().
Referenced by classobj_cache_not_null_constraints(), classobj_copy_props(), classobj_decache_class_constraints(), classobj_make_class_constraints(), collect_hier_class_info(), dbt_add_foreign_key(), filter_local_constraints(), flatten_properties(), sm_drop_index(), 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().
|
static |
Definition at line 2282 of file class_object.c.
References db_ws_free(), sm_constraint::name, sm_constraint::next, and NULL.
Referenced by classobj_cache_constraints(), classobj_clear_attribute(), and classobj_make_constraint().
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().
void classobj_free_descriptor | ( | SM_DESCRIPTOR * | desc | ) |
Definition at line 7777 of file class_object.c.
References classobj_free_desclist(), free_and_init, sm_descriptor::map, ml_ext_free(), sm_descriptor::name, NULL, sm_descriptor::valid, and sm_validation::validated_classes.
Referenced by classobj_make_descriptor(), and sm_free_descriptor().
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().
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().
void classobj_free_method | ( | SM_METHOD * | meth | ) |
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().
|
static |
Definition at line 4819 of file class_object.c.
References db_ws_free(), sm_method_argument::domain, NULL, and tp_domain_free().
Referenced by classobj_copy_method_arg(), classobj_copy_method_signature(), and classobj_free_method_signature().
void classobj_free_method_file | ( | SM_METHOD_FILE * | file | ) |
Definition at line 5532 of file class_object.c.
References db_ws_free(), sm_method_file::expanded_name, sm_method_file::name, NULL, sm_method_file::source_name, and ws_free_string().
Referenced by classobj_copy_methfile(), classobj_free_class(), classobj_free_template(), classobj_install_template(), smt_drop_method_file(), and smt_reset_method_files().
void classobj_free_method_signature | ( | SM_METHOD_SIGNATURE * | sig | ) |
Definition at line 4975 of file class_object.c.
References sm_method_signature::args, classobj_free_method_arg(), db_ws_free(), sm_method_signature::function_name, NULL, sm_method_signature::sql_definition, sm_method_signature::value, ws_free_string(), and ws_list_free().
Referenced by classobj_clear_method(), classobj_copy_method_signature(), and classobj_init_method().
void classobj_free_partition_info | ( | SM_PARTITION * | partition_info | ) |
Definition at line 8406 of file class_object.c.
References sm_partition::comment, db_ws_free(), sm_partition::expr, NULL, sm_partition::pname, set_free(), sm_partition::values, and ws_free_string().
Referenced by classobj_copy_partition_info(), classobj_free_class(), classobj_free_template(), classobj_install_template(), disk_to_partition_info(), do_promote_partition(), do_promote_partition_list(), do_remove_partition_pre(), and pt_node_to_partition_info().
void classobj_free_prop | ( | DB_SEQ * | properties | ) |
Definition at line 292 of file class_object.c.
References NULL, and set_free().
Referenced by classobj_clear_attribute(), classobj_clear_method(), classobj_copy_props(), classobj_free_template(), classobj_install_template(), tf_attribute_default_expr_to_property(), and tf_class_to_disk().
void classobj_free_query_spec | ( | SM_QUERY_SPEC * | query_spec | ) |
Definition at line 5907 of file class_object.c.
References db_ws_free(), NULL, sm_query_spec::specification, and ws_free_string().
Referenced by classobj_free_class(), classobj_free_template(), classobj_install_template(), smt_change_query_spec(), smt_drop_query_spec(), and smt_reset_query_spec().
|
static |
Definition at line 5744 of file class_object.c.
References db_ws_free(), and NULL.
Referenced by classobj_free_representation().
void classobj_free_representation | ( | SM_REPRESENTATION * | rep | ) |
Definition at line 5799 of file class_object.c.
References sm_representation::attributes, classobj_free_repattribute(), db_ws_free(), NULL, and ws_list_free().
Referenced by classobj_capture_representation(), classobj_free_class(), and sm_destroy_representations().
void classobj_free_resolution | ( | SM_RESOLUTION * | res | ) |
Definition at line 5356 of file class_object.c.
References sm_resolution::alias, db_ws_free(), sm_resolution::name, NULL, and ws_free_string().
Referenced by add_resolution(), check_alias_delete(), check_invalid_resolutions(), classobj_free_class(), classobj_free_template(), classobj_install_template(), classobj_make_resolution(), delete_resolution(), filter_component_resolutions(), and filter_reslist().
void classobj_free_template | ( | SM_TEMPLATE * | template_ptr | ) |
Definition at line 5977 of file class_object.c.
References area_free(), sm_template::attributes, sm_template::class_attributes, sm_template::class_methods, sm_template::class_resolutions, classobj_free_attribute(), classobj_free_method(), classobj_free_method_file(), classobj_free_partition_info(), classobj_free_prop(), classobj_free_query_spec(), classobj_free_resolution(), db_ws_free(), sm_template::ext_references, sm_template::inheritance, sm_template::instance_attributes, sm_template::loader_commands, sm_template::method_files, sm_template::methods, ml_ext_free(), ml_free(), sm_template::name, NULL, sm_template::partition, sm_template::properties, sm_template::query_spec, sm_template::resolutions, sm_template::shared_attributes, sm_template::super_id_map, tr_free_schema_cache(), sm_template::triggers, ws_free_string(), and ws_list_free().
Referenced by abort_subclasses(), classobj_free_class(), classobj_make_template(), classobj_make_template_like(), flatten_subclasses(), flatten_template(), sm_delete_class_mop(), smt_quit(), update_class(), and update_subclasses().
Definition at line 248 of file class_object.c.
References db_ws_free(), db_list::next, and NULL.
Referenced by classobj_install_template().
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().
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().
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().
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().
|
static |
Definition at line 4390 of file class_object.c.
References assert, sm_attribute::auto_increment, sm_attribute::class_mop, classobj_copy_default_expr(), classobj_copy_props(), classobj_filter_attribute_props(), sm_attribute::comment, sm_attribute::constraints, db_value_put_null(), sm_default_value::default_expr, sm_attribute::default_value, sm_attribute::domain, er_errid(), error(), sm_attribute::flags, sm_attribute::header, sm_attribute::id, sm_component::name, sm_component::name_space, NO_ERROR, NULL, sm_attribute::offset, sm_attribute::on_update_default_expr, sm_attribute::order, sm_attribute::order_link, sm_default_value::original_value, pr_clone_value(), sm_attribute::properties, sm_attribute::storage_order, tp_domain_copy(), tr_copy_schema_cache(), sm_attribute::triggers, sm_attribute::type, sm_default_value::value, and ws_copy_string().
Referenced by classobj_copy_attribute(), and classobj_install_template().
Definition at line 5165 of file class_object.c.
References assert, sm_method::class_mop, classobj_clear_method(), classobj_copy_method_signature(), classobj_copy_props(), classobj_free_method_signature(), er_errid(), error(), sm_method::function, sm_method::header, sm_method::id, sm_component::name, sm_component::name_space, NO_ERROR, NULL, sm_method::properties, sm_method::signatures, ws_copy_string(), and ws_list_copy().
Referenced by classobj_copy_method(), and classobj_install_template().
void classobj_initialize_attributes | ( | SM_ATTRIBUTE * | attributes | ) |
Definition at line 4333 of file class_object.c.
References classobj_initialize_default_expr(), sm_attribute::comment, sm_attribute::constraints, DB_DEFAULT_NONE, db_value_put_null(), sm_default_value::default_expr, sm_attribute::default_value, sm_attribute::domain, sm_attribute::header, sm_component::name, sm_component::next, NULL, sm_attribute::on_update_default_expr, sm_attribute::order_link, sm_default_value::original_value, sm_attribute::properties, sm_attribute::triggers, and sm_default_value::value.
Referenced by disk_to_class().
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().
|
static |
Definition at line 6810 of file class_object.c.
References NULL, sm_attribute::order, and sm_attribute::order_link.
Referenced by classobj_fixup_loaded_class().
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().
bool classobj_is_exist_foreign_key_ref | ( | MOP | refop, |
SM_FOREIGN_KEY_INFO * | fk_info | ||
) |
Definition at line 1281 of file class_object.c.
References au_fetch_class_force(), AU_FETCH_READ, BTID_IS_EQUAL, classobj_find_class_primary_key(), error(), sm_class_constraint::fk_info, sm_foreign_key_info::next, NO_ERROR, NULL, OID_EQ, btid::root_pageid, sm_foreign_key_info::self_btid, and sm_foreign_key_info::self_oid.
Referenced by allocate_foreign_key().
bool classobj_is_pk_referred | ( | MOP | clsop, |
SM_FOREIGN_KEY_INFO * | fk_info, | ||
bool | include_self_ref, | ||
char ** | fk_name | ||
) |
Definition at line 1326 of file class_object.c.
References sm_foreign_key_info::name, sm_foreign_key_info::next, NULL, OID_EQ, sm_foreign_key_info::self_oid, and ws_oid().
Referenced by do_alter_partitioning_pre(), sm_delete_class_mop(), sm_truncate_class(), and smt_drop_constraint().
|
static |
Definition at line 3893 of file class_object.c.
References DB_CONSTRAINT_FOREIGN_KEY, DB_CONSTRAINT_INDEX, DB_CONSTRAINT_PRIMARY_KEY, DB_CONSTRAINT_REVERSE_INDEX, DB_CONSTRAINT_REVERSE_UNIQUE, DB_CONSTRAINT_UNIQUE, SM_CONSTRAINT_FOREIGN_KEY, SM_CONSTRAINT_INDEX, SM_CONSTRAINT_PRIMARY_KEY, SM_CONSTRAINT_REVERSE_INDEX, SM_CONSTRAINT_REVERSE_UNIQUE, and SM_CONSTRAINT_UNIQUE.
Referenced by classobj_find_constraint_by_attrs().
SM_ATTRIBUTE* classobj_make_attribute | ( | const char * | name, |
struct pr_type * | type, | ||
SM_NAME_SPACE | name_space | ||
) |
Definition at line 4260 of file class_object.c.
References sm_attribute::class_mop, classobj_initialize_default_expr(), sm_attribute::comment, sm_attribute::constraints, DB_DEFAULT_NONE, db_make_null(), db_ws_alloc(), db_ws_free(), sm_default_value::default_expr, sm_attribute::default_value, sm_attribute::domain, sm_attribute::flags, sm_attribute::header, sm_attribute::id, sm_component::name, sm_component::name_space, sm_component::next, NULL, sm_attribute::offset, sm_attribute::on_update_default_expr, sm_attribute::order, sm_attribute::order_link, sm_default_value::original_value, sm_attribute::properties, sm_attribute::storage_order, sm_attribute::triggers, sm_attribute::type, sm_default_value::value, and ws_copy_string().
Referenced by init_db_attribute_list(), and smt_add_attribute_any().
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().
|
static |
Definition at line 2599 of file class_object.c.
References sm_class_constraint::asc_desc, sm_class_constraint::attributes, sm_class_constraint::attrs_prefix_length, BTID_SET_NULL, sm_class_constraint::comment, db_ws_alloc(), sm_class_constraint::extra_status, sm_class_constraint::filter_predicate, sm_class_constraint::fk_info, sm_class_constraint::func_index_info, sm_class_constraint::index_btid, sm_class_constraint::index_status, sm_class_constraint::name, sm_class_constraint::next, NULL, sm_class_constraint::shared_cons_name, SM_FLAG_NORMALLY_INITIALIZED, SM_NO_INDEX, and sm_class_constraint::type.
Referenced by classobj_cache_not_null_constraints(), and classobj_make_class_constraints().
int classobj_make_class_constraints | ( | DB_SET * | class_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().
|
static |
Definition at line 2248 of file class_object.c.
References classobj_free_constraint(), db_ws_alloc(), sm_constraint::has_function, sm_constraint::index, sm_constraint::name, sm_constraint::next, NULL, sm_constraint::type, and ws_copy_string().
Referenced by classobj_cache_constraint_entry().
SM_DESCRIPTOR_LIST* classobj_make_desclist | ( | MOP | classobj, |
SM_CLASS * | class_, | ||
SM_COMPONENT * | comp, | ||
int | write_access | ||
) |
Definition at line 7730 of file class_object.c.
References sm_descriptor_list::class_, sm_descriptor_list::classobj, sm_descriptor_list::comp, sm_descriptor_list::next, NULL, and sm_descriptor_list::write_access.
Referenced by classobj_make_descriptor(), and sm_get_descriptor_component().
SM_DESCRIPTOR* classobj_make_descriptor | ( | MOP | class_mop, |
SM_CLASS * | classobj, | ||
SM_COMPONENT * | comp, | ||
int | write_access | ||
) |
Definition at line 7811 of file class_object.c.
References ARG_FILE_LINE, sm_descriptor::class_mop, classobj_free_descriptor(), classobj_make_desclist(), DB_TYPE_ERROR, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), free_and_init, sm_validation::last_class, sm_validation::last_precision, sm_validation::last_scale, sm_validation::last_setdomain, sm_validation::last_type, sm_descriptor::map, sm_component::name, sm_descriptor::name, sm_component::name_space, sm_descriptor::name_space, sm_descriptor::next, NULL, strlen, sm_descriptor::valid, and sm_validation::validated_classes.
Referenced by sm_get_attribute_descriptor(), and sm_get_method_descriptor().
|
static |
Definition at line 2720 of file class_object.c.
References classobj_btid_from_property_value(), classobj_oid_from_property_value(), db_get_int(), db_ws_alloc(), db_ws_free(), sm_foreign_key_info::delete_action, error(), sm_foreign_key_info::is_dropped, sm_foreign_key_info::name, sm_foreign_key_info::next, NULL, pr_clear_value(), sm_foreign_key_info::ref_class_oid, sm_foreign_key_info::ref_class_pk_btid, set_get_element(), and sm_foreign_key_info::update_action.
Referenced by classobj_make_class_constraints().
|
static |
Definition at line 667 of file class_object.c.
References db_make_int(), db_make_string(), sm_foreign_key_info::delete_action, vfid::fileid, NULL, db_identifier::pageid, sm_foreign_key_info::ref_class_oid, sm_foreign_key_info::ref_class_pk_btid, btid::root_pageid, set_create_sequence(), set_put_element(), db_identifier::slotid, sm_foreign_key_info::update_action, btid::vfid, vfid::volid, and db_identifier::volid.
Referenced by classobj_put_index().
|
static |
Definition at line 2789 of file class_object.c.
References classobj_btid_from_property_value(), classobj_oid_from_property_value(), db_get_int(), db_get_string(), db_ws_alloc(), db_ws_free(), sm_foreign_key_info::delete_action, error(), sm_foreign_key_info::is_dropped, sm_foreign_key_info::name, sm_foreign_key_info::next, NULL, pr_clear_value(), sm_foreign_key_info::self_btid, sm_foreign_key_info::self_oid, set_get_element(), strdup(), and sm_foreign_key_info::update_action.
Referenced by classobj_make_foreign_key_ref_list().
|
static |
Definition at line 2867 of file class_object.c.
References classobj_free_foreign_key_ref(), classobj_make_foreign_key_ref(), db_get_set(), error(), i, sm_foreign_key_info::next, NULL, pr_clear_value(), set_get_element(), and set_size().
Referenced by classobj_make_class_constraints().
|
static |
Definition at line 706 of file class_object.c.
References db_make_int(), db_make_string(), sm_foreign_key_info::delete_action, vfid::fileid, sm_foreign_key_info::name, NULL, db_identifier::pageid, btid::root_pageid, sm_foreign_key_info::self_btid, sm_foreign_key_info::self_oid, set_create_sequence(), set_put_element(), db_identifier::slotid, sm_foreign_key_info::update_action, btid::vfid, vfid::volid, and db_identifier::volid.
Referenced by classobj_put_foreign_key_ref(), and classobj_put_index().
|
static |
Definition at line 8097 of file class_object.c.
References ARG_FILE_LINE, sm_function_info::attr_index_start, sm_function_info::col_id, CONST_CAST, db_get_int(), db_get_string(), db_get_string_size(), db_ws_alloc(), db_ws_free(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), ER_SM_INVALID_PROPERTY, error(), sm_function_info::expr_str, sm_function_info::expr_stream, sm_function_info::expr_stream_size, sm_function_info::fi_domain, NO_ERROR, NULL, or_unpack_domain(), and set_get_element_nocopy().
Referenced by classobj_make_class_constraints().
|
static |
Definition at line 8198 of file class_object.c.
References ARG_FILE_LINE, sm_function_info::attr_index_start, sm_function_info::col_id, db_make_char(), db_make_int(), db_make_string(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), sm_function_info::expr_str, sm_function_info::expr_stream, sm_function_info::expr_stream_size, sm_function_info::fi_domain, free_and_init, LANG_SYS_CODESET, LANG_SYS_COLLATION, NULL, or_pack_domain(), or_packed_domain_size(), set_create_sequence(), and set_put_element().
Referenced by classobj_put_index().
|
static |
Definition at line 772 of file class_object.c.
References db_make_int(), i, NULL, set_create_sequence(), and set_put_element().
Referenced by classobj_put_index().
|
static |
Definition at line 2959 of file class_object.c.
References ARG_FILE_LINE, assert, sm_predicate_info::att_ids, db_get_int(), db_get_set(), db_get_string(), db_get_string_size(), db_make_null(), DB_TYPE_CHAR, DB_TYPE_NULL, DB_TYPE_SEQUENCE, DB_TYPE_STRING, DB_VALUE_TYPE, db_ws_alloc(), db_ws_free(), ER_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), ER_SM_INVALID_PROPERTY, error(), i, NO_ERROR, NULL, sm_predicate_info::num_attrs, pr_clear_value(), sm_predicate_info::pred_stream, sm_predicate_info::pred_stream_size, sm_predicate_info::pred_string, set_get_element(), set_get_element_nocopy(), and set_size().
Referenced by classobj_make_class_constraints().
|
static |
Definition at line 809 of file class_object.c.
References sm_predicate_info::att_ids, db_make_char(), db_make_int(), db_make_null(), db_make_sequence(), db_make_string(), i, LANG_SYS_CODESET, LANG_SYS_COLLATION, NULL, sm_predicate_info::num_attrs, pr_clear_value(), sm_predicate_info::pred_stream, sm_predicate_info::pred_stream_size, sm_predicate_info::pred_string, set_create_sequence(), set_free(), and set_put_element().
Referenced by classobj_put_index().
|
static |
Definition at line 2924 of file class_object.c.
References assert, db_get_int(), db_ws_alloc(), db_ws_free(), i, NO_ERROR, NULL, set_get_element_nocopy(), and set_size().
Referenced by classobj_make_class_constraints().
SM_METHOD* classobj_make_method | ( | const char * | name, |
SM_NAME_SPACE | name_space | ||
) |
Definition at line 5085 of file class_object.c.
References sm_method::class_mop, db_ws_alloc(), db_ws_free(), sm_method::function, sm_method::header, sm_method::id, sm_component::name, sm_component::name_space, sm_component::next, NULL, sm_method::properties, sm_method::signatures, and ws_copy_string().
Referenced by smt_add_method_any().
SM_METHOD_ARGUMENT* classobj_make_method_arg | ( | int | index | ) |
Definition at line 4797 of file class_object.c.
References db_ws_alloc(), sm_method_argument::domain, sm_method_argument::index, sm_method_argument::next, NULL, and sm_method_argument::type.
Referenced by classobj_copy_method_arg(), classobj_find_method_arg(), disk_to_metharg(), and find_argument().
SM_METHOD_FILE* classobj_make_method_file | ( | const char * | name | ) |
Definition at line 5559 of file class_object.c.
References sm_method_file::class_mop, db_ws_alloc(), db_ws_free(), sm_method_file::expanded_name, sm_method_file::name, sm_method_file::next, NULL, sm_method_file::source_name, and ws_copy_string().
Referenced by classobj_copy_methfile(), disk_to_methfile(), flatten_method_files(), and smt_add_method_file().
SM_METHOD_SIGNATURE* classobj_make_method_signature | ( | const char * | name | ) |
Definition at line 4935 of file class_object.c.
References sm_method_signature::args, db_ws_alloc(), db_ws_free(), sm_method_signature::function, sm_method_signature::function_name, sm_method_signature::next, NULL, sm_method_signature::num_args, sm_method_signature::sql_definition, sm_method_signature::value, and ws_copy_string().
Referenced by classobj_copy_method_signature(), disk_to_methsig(), and smt_add_method_any().
SM_PARTITION* classobj_make_partition_info | ( | void | ) |
Definition at line 8379 of file class_object.c.
References sm_partition::comment, db_ws_alloc(), sm_partition::expr, sm_partition::next, NULL, sm_partition::partition_type, sm_partition::pname, and sm_partition::values.
Referenced by classobj_copy_partition_info(), disk_to_partition_info(), and pt_node_to_partition_info().
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().
SM_QUERY_SPEC* classobj_make_query_spec | ( | const char * | specification | ) |
Definition at line 5837 of file class_object.c.
References db_ws_alloc(), db_ws_free(), sm_query_spec::next, NULL, sm_query_spec::specification, and ws_copy_string().
Referenced by classobj_copy_query_spec_list(), disk_to_query_spec(), smt_add_query_spec(), and smt_change_query_spec().
SM_REPR_ATTRIBUTE* classobj_make_repattribute | ( | int | attid, |
DB_TYPE | type_id, | ||
TP_DOMAIN * | domain | ||
) |
Definition at line 5718 of file class_object.c.
References sm_repr_attribute::attid, db_ws_alloc(), sm_repr_attribute::domain, sm_repr_attribute::next, NULL, and sm_repr_attribute::typeid_.
Referenced by classobj_capture_representation(), and disk_to_repattribute().
SM_REPRESENTATION* classobj_make_representation | ( | void | ) |
Definition at line 5772 of file class_object.c.
References sm_representation::attributes, db_ws_alloc(), sm_representation::fixed_count, sm_representation::id, sm_representation::next, NULL, and sm_representation::variable_count.
Referenced by classobj_capture_representation(), and disk_to_representation().
SM_RESOLUTION* classobj_make_resolution | ( | MOP | class_mop, |
const char * | name, | ||
const char * | alias, | ||
SM_NAME_SPACE | name_space | ||
) |
Definition at line 5382 of file class_object.c.
References sm_resolution::alias, sm_resolution::class_mop, classobj_free_resolution(), db_ws_alloc(), sm_resolution::name, sm_resolution::name_space, sm_resolution::next, NULL, and ws_copy_string().
Referenced by add_resolution(), auto_resolve_conflict(), classobj_copy_reslist(), and disk_to_resolution().
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().
SM_TEMPLATE* classobj_make_template_like | ( | const char * | name, |
SM_CLASS * | class_ | ||
) |
Definition at line 6192 of file class_object.c.
References ARG_FILE_LINE, assert, sm_class::class_type, classobj_copy_attribute_like(), classobj_copy_constraint_like(), classobj_free_template(), ER_ERROR_SEVERITY, er_set(), ER_SM_CANT_COPY_WITH_FEATURE, sm_attribute::header, sm_component::next, sm_class_constraint::next, NO_ERROR, NULL, sm_attribute::order_link, sm_class::query_spec, sm_ch_name(), SM_CLASS_CT, SM_CONSTRAINT_FOREIGN_KEY, SM_CONSTRAINT_INDEX, SM_CONSTRAINT_NOT_NULL, SM_CONSTRAINT_REVERSE_INDEX, SM_IS_CONSTRAINT_UNIQUE_FAMILY, smt_def_class(), and sm_class_constraint::type.
Referenced by smt_copy_class_mop().
const char* classobj_map_constraint_to_property | ( | SM_CONSTRAINT_TYPE | constraint | ) |
Definition at line 502 of file class_object.c.
References ARG_FILE_LINE, ER_ERROR_SEVERITY, er_set(), ER_SM_INVALID_CONSTRAINT, NULL, SM_CONSTRAINT_FOREIGN_KEY, SM_CONSTRAINT_INDEX, SM_CONSTRAINT_NOT_NULL, SM_CONSTRAINT_PRIMARY_KEY, SM_CONSTRAINT_REVERSE_INDEX, SM_CONSTRAINT_REVERSE_UNIQUE, SM_CONSTRAINT_UNIQUE, SM_PROPERTY_FOREIGN_KEY, SM_PROPERTY_INDEX, SM_PROPERTY_NOT_NULL, SM_PROPERTY_PRIMARY_KEY, SM_PROPERTY_REVERSE_INDEX, SM_PROPERTY_REVERSE_UNIQUE, and SM_PROPERTY_UNIQUE.
Referenced by classobj_change_constraint_comment(), classobj_change_constraint_status(), classobj_populate_class_properties(), classobj_put_index(), filter_local_constraints(), flatten_properties(), smt_add_constraint_to_property(), and smt_rename_any().
|
static |
Definition at line 4875 of file class_object.c.
References classobj_domain_size(), sm_method_argument::domain, and ws_list_total().
Referenced by classobj_method_signature_size().
|
static |
Definition at line 5688 of file class_object.c.
References sm_method_file::expanded_name, sm_method_file::name, NULL, sm_method_file::source_name, and strlen.
Referenced by classobj_class_size().
|
static |
Definition at line 5057 of file class_object.c.
References sm_method_signature::args, classobj_method_arg_size(), sm_method_signature::function_name, NULL, sm_method_signature::sql_definition, strlen, sm_method_signature::value, and ws_list_total().
Referenced by classobj_method_size().
|
static |
Definition at line 5337 of file class_object.c.
References classobj_method_signature_size(), sm_method::header, sm_component::name, sm_method::signatures, strlen, and ws_list_total().
Referenced by classobj_class_size().
Definition at line 2100 of file class_object.c.
References ARG_FILE_LINE, classobj_decompose_property_oid(), db_get_string(), DB_TYPE_STRING, DB_VALUE_TYPE, er_errid(), ER_ERROR_SEVERITY, er_set(), ER_SM_INVALID_PROPERTY, NO_ERROR, NULL, db_identifier::pageid, db_identifier::slotid, and db_identifier::volid.
Referenced by classobj_make_foreign_key_info(), and classobj_make_foreign_key_ref().
|
static |
Definition at line 5945 of file class_object.c.
References sm_partition::comment, db_make_sequence(), sm_partition::expr, or_packed_value_size(), sm_partition::pname, strlen, and sm_partition::values.
Referenced by classobj_class_size().
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().
int classobj_populate_class_properties | ( | DB_SET ** | properties, |
SM_CLASS_CONSTRAINT * | constraints, | ||
SM_CONSTRAINT_TYPE | type | ||
) |
Definition at line 4161 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_drop_prop(), classobj_map_constraint_to_property(), classobj_put_index(), sm_class_constraint::comment, er_errid(), ER_ERROR_SEVERITY, er_set(), ER_SM_INVALID_PROPERTY, error(), sm_class_constraint::filter_predicate, sm_class_constraint::fk_info, sm_class_constraint::func_index_info, sm_class_constraint::index_btid, sm_class_constraint::index_status, sm_class_constraint::name, sm_class_constraint::next, NO_ERROR, NULL, sm_class_constraint::shared_cons_name, and sm_class_constraint::type.
Referenced by sm_drop_index().
|
static |
Definition at line 459 of file class_object.c.
References i, max, NO_ERROR, NULL, pr_clear_value(), set_get_element(), set_print(), and set_size().
Referenced by classobj_filter_components().
int classobj_put_foreign_key_ref | ( | DB_SEQ ** | properties, |
SM_FOREIGN_KEY_INFO * | fk_info | ||
) |
Definition at line 1381 of file class_object.c.
References ARG_FILE_LINE, assert, classobj_decompose_property_oid(), classobj_get_prop(), classobj_make_foreign_key_ref_seq(), classobj_put_prop(), db_get_set(), db_get_string(), db_make_sequence(), db_make_string(), DB_TYPE_SEQUENCE, DB_TYPE_STRING, DB_VALUE_TYPE, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, er_set(), ER_SM_INVALID_PROPERTY, err, vfid::fileid, i, NO_ERROR, NULL, pr_clear_value(), PRIM_SET_NULL(), btid::root_pageid, set_create_sequence(), set_get_element(), set_get_element_nocopy(), set_put_element(), set_size(), SM_COMPARE_NAMES, SM_PROPERTY_PRIMARY_KEY, btid::vfid, and vfid::volid.
Referenced by allocate_foreign_key(), update_fk_ref_partitioned_class(), and update_foreign_key_ref().
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 | ||
) |
Definition at line 976 of file class_object.c.
References ARG_FILE_LINE, assert, BTID_IS_NULL, classobj_get_prop(), classobj_make_foreign_key_info_seq(), classobj_make_foreign_key_ref_seq(), classobj_make_function_index_info_seq(), classobj_make_index_attr_prefix_seq(), classobj_make_index_filter_pred_seq(), classobj_make_prop(), classobj_map_constraint_to_property(), classobj_put_prop(), classobj_put_seq_and_iterate(), classobj_put_seq_with_name_and_iterate(), classobj_put_value_and_iterate(), db_get_set(), db_make_int(), db_make_null(), db_make_sequence(), db_make_string(), ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), vfid::fileid, free_and_init, i, sm_foreign_key_info::is_dropped, sm_foreign_key_info::next, NO_ERROR, NULL, NULL_FILEID, NULL_PAGEID, NULL_VOLID, pr_clear_value(), btid::root_pageid, set_create_sequence(), set_free(), SM_CONSTRAINT_FOREIGN_KEY, SM_CONSTRAINT_PRIMARY_KEY, SM_FILTER_INDEX_ID, SM_FUNCTION_INDEX_ID, SM_PREFIX_INDEX_ID, strlen, btid::vfid, and vfid::volid.
Referenced by allocate_disk_structures_index(), classobj_copy_props(), classobj_populate_class_properties(), flatten_properties(), sm_exist_index(), smt_add_constraint_to_property(), and transfer_disk_structures().
Definition at line 314 of file class_object.c.
References ARG_FILE_LINE, db_get_string(), db_make_string(), DB_TYPE_STRING, DB_VALUE_TYPE, ER_ERROR_SEVERITY, er_set(), ER_SM_INVALID_PROPERTY, error(), i, max, NO_ERROR, NULL, pr_clear_value(), set_get_element(), set_put_element(), and set_size().
Referenced by classobj_change_constraint_comment(), classobj_change_constraint_status(), classobj_drop_foreign_key_ref(), classobj_find_prop_constraint(), classobj_put_foreign_key_ref(), classobj_put_index(), filter_local_constraints(), smt_drop_constraint_from_property(), tf_attribute_default_expr_to_property(), and vid_att_in_obj_id().
|
static |
Definition at line 880 of file class_object.c.
References assert, classobj_put_value_and_iterate(), db_make_sequence(), ER_FAILED, NO_ERROR, and NULL.
Referenced by classobj_put_index(), and classobj_put_seq_with_name_and_iterate().
|
static |
Definition at line 900 of file class_object.c.
References classobj_put_seq_and_iterate(), classobj_put_value_and_iterate(), db_make_string(), ER_FAILED, NO_ERROR, NULL, set_create_sequence(), and set_free().
Referenced by classobj_put_index().
|
static |
Definition at line 870 of file class_object.c.
References pr_clear_value(), and set_put_element().
Referenced by classobj_put_index(), classobj_put_seq_and_iterate(), and classobj_put_seq_with_name_and_iterate().
|
static |
Definition at line 5927 of file class_object.c.
References sm_query_spec::specification, and strlen.
Referenced by classobj_class_size().
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().
|
static |
Definition at line 5758 of file class_object.c.
Referenced by classobj_representation_size().
|
static |
Definition at line 5815 of file class_object.c.
References sm_representation::attributes, classobj_repattribute_size(), sm_repr_attribute::next, and NULL.
Referenced by classobj_class_size().
|
static |
Definition at line 5483 of file class_object.c.
References sm_resolution::alias, sm_resolution::name, NULL, and strlen.
Referenced by classobj_class_size().
|
static |
Definition at line 7003 of file class_object.c.
References for(), sm_attribute::header, sm_component::next, NULL, and sm_attribute::order.
Referenced by classobj_install_template().
|
static |
Definition at line 7038 of file class_object.c.
References for(), sm_method::header, sm_component::next, NULL, and sm_method::order.
Referenced by classobj_install_template().
|
static |
Definition at line 80 of file class_object.c.
Referenced by classobj_cache_constraints(), and classobj_make_class_constraints().
|
static |
Definition at line 71 of file class_object.c.
Referenced by classobj_cache_constraints(), and classobj_make_class_constraints().
const int SM_MAX_STRING_LENGTH = 1073741823 |
Definition at line 69 of file class_object.c.
Definition at line 94 of file class_object.c.