24 #ifndef _SCHEMA_MANAGER_H_ 25 #define _SCHEMA_MANAGER_H_ 29 #if defined (SERVER_MODE) 30 #error Does not belong to server module 99 #if defined(ENABLE_UNUSED_FUNCTION) 100 extern int sm_delete_class (
const char *
name);
103 #if 0 // TODO - remove it 105 const char **attnames,
const int *
asc_desc,
const int *attrs_prefix_length,
112 const int *
asc_desc,
const char *given_name);
120 const char **
att_names,
bool class_attributes,
bool mysql_index_name);
131 extern void sm_mark_system_class_for_catalog (
void);
201 extern OID *sm_get_ch_rep_dir (
MOP classmop);
226 extern int sm_att_info (
MOP classop,
const char *name,
int *idp,
TP_DOMAIN ** domainp,
int *sharedp,
int class_attr);
234 bool skip_prefix_length_index,
BTID *
btid);
291 #if defined (ENABLE_UNUSED_FUNCTION) 292 extern int sm_has_text_domain (
DB_ATTRIBUTE * attributes,
int check_all);
302 #if defined (ENABLE_RENAME_CONSTRAINT) 303 extern int classobj_rename_foreign_key_ref (
DB_SEQ ** properties,
const BTID *
btid,
const char *old_name,
304 const char *new_name);
319 #if defined (ENABLE_RENAME_CONSTRAINT) 320 extern int sm_rename_foreign_key_ref (
MOP ref_clsop,
const BTID *
btid,
const char *old_name,
const char *new_name);
char * sm_get_method_source_file(MOP obj, const char *name)
int sm_prelink_methods(DB_OBJLIST *classes)
int sm_update_catalog_statistics(const char *class_name, bool with_fullscan)
DB_CONSTRAINT_TYPE constraint_type
int sm_exist_index(MOP classop, const char *idxname, BTID *btid)
int sm_invalidate_trigger_cache(DB_OBJECT *classop)
bool sm_is_index_visible(SM_CLASS_CONSTRAINT *constraint_list, BTID btid)
int sm_att_in_unique_filter_constraint_predicate(MOP classop, const char *name)
void sm_fee_resident_classes_virtual_query_cache(void)
DB_OBJLIST * sm_fetch_all_classes(int external_list, DB_FETCH_MODE purpose)
int sm_truncate_class(MOP class_mop)
int sm_att_info(MOP classop, const char *name, int *idp, TP_DOMAIN **domainp, int *sharedp, int class_attr)
int sm_save_filter_index_info(SM_PREDICATE_INFO **save_info, SM_PREDICATE_INFO *filter_index_info)
SM_CLASS_CONSTRAINT * sm_class_constraints(MOP classop)
bool sm_att_auto_increment(MOP classop, const char *name)
int sm_update_class_with_auth(SM_TEMPLATE *template_, MOP *classmop, DB_AUTH auth, bool lock_hierarchy)
int sm_partitioned_class_type(DB_OBJECT *classop, int *partition_type, char *keyattr, MOP **partitions)
int sm_get_attribute_descriptor(DB_OBJECT *op, const char *name, int class_attribute, int for_update, SM_DESCRIPTOR **desc)
struct parser_context * sm_virtual_queries(struct parser_context *parser, DB_OBJECT *class_object)
void sm_free_filter_index_info(SM_PREDICATE_INFO *filter_index_info)
int sm_force_write_all_classes(void)
int sm_destroy_representations(MOP op)
bool sm_is_reuse_oid_class(MOP op)
int sm_has_non_null_attribute(SM_ATTRIBUTE **attrs)
const char * sm_ch_name(const MOBJ clobj)
int sm_update_all_statistics(bool with_fullscan)
int sm_set_class_collation(MOP classop, int collation_id)
int sm_is_system_class(MOP op)
int sm_att_constrained(MOP classop, const char *name, SM_ATTRIBUTE_FLAG cons)
SM_NAME_SPACE sm_resolution_space(SM_NAME_SPACE name_space)
int sm_get_method_descriptor(DB_OBJECT *op, const char *name, int class_method, SM_DESCRIPTOR **desc)
SM_DOMAIN * sm_domain_copy(SM_DOMAIN *ptr)
int sm_drop_constraint(MOP classop, DB_CONSTRAINT_TYPE constraint_type, const char *constraint_name, const char **att_names, bool class_attributes, bool mysql_index_name)
int sm_att_default_value(MOP classop, const char *name, DB_VALUE *value, DB_DEFAULT_EXPR **default_expr, DB_DEFAULT_EXPR_TYPE **on_update_expr)
int sm_drop_trigger(DB_OBJECT *classop, const char *attribute, int class_attribute, DB_OBJECT *trigger)
SM_CLASS * sm_get_class_with_statistics(MOP classop)
SM_CLASS_TYPE sm_get_class_type(SM_CLASS *class_)
int sm_flush_objects(MOP obj)
int sm_set_class_comment(MOP classop, const char *comment)
int sm_active_triggers(MOP class_mop, SM_CLASS *class_, DB_TRIGGER_EVENT event_type)
int sm_set_class_tde_algorithm(MOP classop, TDE_ALGORITHM tde_algo)
void sm_flush_static_methods(void)
struct sm_constraint_info * next
void sm_free_constraint_info(SM_CONSTRAINT_INFO **save_info)
int sm_att_id(MOP classop, const char *name)
void sm_add_static_method(const char *name, void(*function)())
CLASS_STATS * sm_get_statistics_force(MOP classop)
const char * sm_Root_class_name
int ib_get_thread_count()
int sm_issystem(SM_CLASS *class_)
const char * sm_get_att_name(MOP classop, int id)
int sm_get_class_repid(MOP classop)
int sm_get_class_tde_algorithm(MOP classop, TDE_ALGORITHM *tde_algo)
bool classobj_is_exist_foreign_key_ref(MOP refop, SM_FOREIGN_KEY_INFO *fk_info)
int sm_get_trigger_cache(DB_OBJECT *class_, const char *attribute, int class_attribute, void **cache)
int sm_add_constraint(MOP classop, DB_CONSTRAINT_TYPE constraint_type, const char *constraint_name, const char **att_names, const int *asc_desc, const int *attrs_prefix_length, int class_attributes, SM_PREDICATE_INFO *predicate_info, SM_FUNCTION_INFO *fi_info, const char *comment, SM_INDEX_STATUS index_status)
const char TEXT_CONSTRAINT_PREFIX[]
HFID * sm_Root_class_hfid
SM_FOREIGN_KEY_ACTION fk_update_action
int sm_object_size_quick(SM_CLASS *class_, MOBJ obj)
void sm_free_function_index_info(SM_FUNCTION_INFO *func_index_info)
int sm_check_catalog_rep_dir(MOP classmop, SM_CLASS *class_)
int sm_find_subclass_in_hierarchy(MOP hierarchy, MOP class_mop, bool *found)
int sm_get_class_flag(MOP op, SM_CLASS_FLAG flag)
SM_DOMAIN * sm_domain_alloc()
char * sm_produce_constraint_name_mop(MOP classop, DB_CONSTRAINT_TYPE constraint_type, const char **att_names, const int *asc_desc, const char *given_name)
int sm_is_partition(MOP classmop, MOP supermop)
int sm_touch_class(MOP classmop)
int sm_decache_instances_after_query_executed_with_commit(MOP class_mop)
SM_FOREIGN_KEY_ACTION fk_delete_action
void sm_bump_global_schema_version(void)
void sm_init(OID *rootclass_oid, HFID *rootclass_hfid)
bool sm_has_indexes(MOBJ class_)
int sm_coerce_object_domain(TP_DOMAIN *domain, MOP object, MOP *dest_object)
HFID * sm_ch_heap(MOBJ clobj)
int sm_class_has_triggers(DB_OBJECT *classop, int *status, DB_TRIGGER_EVENT event_type)
int sm_check_class_domain(TP_DOMAIN *domain, MOP class_)
int sm_delete_class_mop(MOP op, bool is_cascade_constraints)
int sm_update_class(SM_TEMPLATE *template_, MOP *classmop)
int sm_class_check_uniques(MOP classop)
char * sm_produce_constraint_name_tmpl(SM_TEMPLATE *tmpl, DB_CONSTRAINT_TYPE constraint_type, const char **att_names, const int *asc_desc, const char *given_name)
int sm_force_method_link(MOP obj)
int sm_get_class_collation(MOP classop, int *collation_id)
int sm_save_constraint_info(SM_CONSTRAINT_INFO **save_info, const SM_CLASS_CONSTRAINT *const c)
int sm_update_statistics(MOP classop, bool with_fullscan)
int sm_check_name(const char *name)
DB_OBJLIST * sm_fetch_all_objects(DB_OBJECT *op, DB_FETCH_MODE purpose)
void sm_downcase_name(const char *name, char *buf, int maxlen)
void sm_free_descriptor(SM_DESCRIPTOR *desc)
int sm_att_unique_constrained(MOP classop, const char *name)
DB_OBJLIST * sm_fetch_all_base_classes(int external_list, DB_FETCH_MODE purpose)
int sm_save_function_index_info(SM_FUNCTION_INFO **save_info, SM_FUNCTION_INFO *func_index_info)
int sm_update_class_auto(SM_TEMPLATE *template_, MOP *classmop)
MOP sm_get_class(MOP obj)
int sm_is_partitioned_class(MOP op)
int sm_mark_system_class(MOP classop, int on_or_off)
DB_TYPE sm_att_type_id(MOP classop, const char *name)
int sm_add_trigger(DB_OBJECT *classop, const char *attribute, int class_attribute, DB_OBJECT *trigger)
OID * sm_ch_rep_dir(MOBJ clobj)
int sm_check_reuse_oid_class(MOP op)
int sm_is_global_only_constraint(MOP classmop, SM_CLASS_CONSTRAINT *constraint, int *is_global, SM_TEMPLATE *template_)
MOP sm_find_class(const char *name)
int sm_filter_domain(TP_DOMAIN *domain, int *changes)
int sc_set_current_schema(MOP user)
unsigned int sm_global_schema_version(void)
int sm_rename_class(MOP op, const char *new_name)
const char * sm_get_ch_name(MOP op)
void sm_delete_static_method(const char *name)
int sm_get_index(MOP classop, const char *attname, BTID *index)
DB_CONSTRAINT_TYPE db_constraint_type(const DB_CONSTRAINT *constraint)
void sm_bump_local_schema_version(void)
int sm_update_all_catalog_statistics(bool with_fullscan)
int sm_set_class_flag(MOP classop, SM_CLASS_FLAG flag, int onoff)
int classobj_put_foreign_key_ref(DB_SEQ **properties, SM_FOREIGN_KEY_INFO *fk_info)
SM_FUNCTION_INFO * func_index_info
DB_OBJLIST * sm_fetch_all_objects_of_dirty_version(DB_OBJECT *op, DB_FETCH_MODE purpose)
void sm_domain_free(SM_DOMAIN *ptr)
SM_PREDICATE_INFO * filter_predicate
int sm_flush_and_decache_objects(MOP obj, int decache)
MOP sm_find_class_with_purpose(const char *name, bool for_update)
int sm_finish_class(SM_TEMPLATE *template_, MOP *classmop)
void sm_create_root(OID *rootclass_oid, HFID *rootclass_hfid)
int sm_clean_class(MOP classmop, SM_CLASS *class_)
unsigned int sm_local_schema_version(void)
int sm_class_has_unique_constraint(MOBJ classobj, MOP classop, bool check_subclasses, bool *has_unique)
HFID * sm_get_ch_heap(MOP classmop)
int sm_att_fk_constrained(MOP classop, const char *name)
int classobj_drop_foreign_key_ref(DB_SEQ **properties, const BTID *btid, const char *name)
BTID * sm_find_index(MOP classop, char **att_names, int num_atts, bool unique_index_only, bool skip_prefix_length_index, BTID *btid)
int sm_drop_index(MOP classop, const char *constraint_name)
MOP sm_att_class(MOP classop, const char *name)
void sm_transaction_boundary(void)
int sm_get_descriptor_component(MOP op, SM_DESCRIPTOR *desc, int for_update, SM_CLASS **class_ptr, SM_COMPONENT **comp_ptr)
void sm_mark_system_classes(void)
char * sm_produce_constraint_name(const char *class_name, DB_CONSTRAINT_TYPE constraint_type, const char **att_names, const int *asc_desc, const char *given_name)
int sm_decache_mop(MOP mop, void *info)
int sm_is_subclass(MOP classmop, MOP supermop)
int sm_flush_for_multi_update(MOP class_mop)
int sm_check_object_domain(TP_DOMAIN *domain, MOP object)
SM_INDEX_STATUS index_status
int sm_link_method(SM_CLASS *class_, SM_METHOD *method)