File execute_schema.c
FileList > cubrid > src > query > execute_schema.c
Go to the source code of this file
#include "config.h"
#include <stdarg.h>
#include <ctype.h>
#include <assert.h>
#include "authenticate.h"
#include "error_manager.h"
#include "parser.h"
#include "parser_message.h"
#include "db.h"
#include "dbi.h"
#include "semantic_check.h"
#include "execute_schema.h"
#include "execute_statement.h"
#include "schema_manager.h"
#include "transaction_cl.h"
#include "system_parameter.h"
#include "xasl_generation.h"
#include "memory_alloc.h"
#include "schema_system_catalog_constants.h"
#include "transform.h"
#include "set_object.h"
#include "object_accessor.h"
#include "object_primitive.h"
#include "object_representation.h"
#include "memory_hash.h"
#include "locator_cl.h"
#include "network_interface_cl.h"
#include "view_transform.h"
#include "xasl_to_stream.h"
#include "parser_support.h"
#include "dbtype.h"
#include "jsp_cl.h"
#include "msgcat_glossary.hpp"
Classes
Public Types
Public Attributes
Public Functions
| Type |
Name |
| int |
do_add_attributes (PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, PT_NODE * atts, PT_NODE * constraints, DB_QUERY_TYPE * create_select_columns)
|
| int |
do_add_constraints (DB_CTMPL * ctemplate, PT_NODE * constraints)
|
| int |
do_add_method_files (const PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, PT_NODE * method_files)
|
| int |
do_add_methods (PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, PT_NODE * methods)
|
| int |
do_add_queries (PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, const PT_NODE * queries)
|
| int |
do_add_resolutions (const PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, const PT_NODE * resolution)
|
| int |
do_add_supers (const PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, const PT_NODE * supers)
|
| int |
do_alter (PARSER_CONTEXT * parser, PT_NODE * alter)
|
| int |
do_alter_index (PARSER_CONTEXT * parser, const PT_NODE * statement)
|
| int |
do_alter_user (const PARSER_CONTEXT * parser, const PT_NODE * statement)
|
| int |
do_check_fk_constraints (DB_CTMPL * ctemplate, PT_NODE * constraints)
|
| int |
do_check_partitioned_class (DB_OBJECT * classop, int check_map, char * keyattr)
|
| int |
do_check_rows_for_null (MOP class_mop, const char * att_name, bool * has_nulls)
|
| int |
do_create_entity (PARSER_CONTEXT * parser, PT_NODE * node)
|
| int |
do_create_index (PARSER_CONTEXT * parser, const PT_NODE * statement)
|
| int |
do_create_local (PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, PT_NODE * pt_node, DB_QUERY_TYPE * create_select_columns)
|
| int |
do_create_user (const PARSER_CONTEXT * parser, const PT_NODE * statement)
|
| int |
do_drop (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_drop_index (PARSER_CONTEXT * parser, const PT_NODE * statement)
|
| int |
do_drop_partition_list (MOP class_, PT_NODE * name_list, DB_CTMPL * tmpl)
|
| int |
do_drop_partitioned_class (MOP class_, int drop_sub_flag, bool is_cascade_constraints)
|
| int |
do_drop_user (const PARSER_CONTEXT * parser, const PT_NODE * statement)
|
| int |
do_get_partition_keycol (char * keycol, MOP class_)
|
| int |
do_get_partition_parent (DB_OBJECT *const classop, MOP *const parentop)
|
| int |
do_get_partition_size (MOP class_)
|
| int |
do_grant (const PARSER_CONTEXT * parser, const PT_NODE * statement)
|
| int |
do_is_partitioned_subclass (int * is_partitioned, const char * classname, char * keyattr)
|
| int |
do_recreate_filter_index_constr (PARSER_CONTEXT * parser, SM_PREDICATE_INFO * filter_index_info, PT_NODE * alter, const char * src_cls_name, const char * new_cls_name)
|
| int |
do_recreate_func_index_constr (PARSER_CONTEXT * parser, SM_CONSTRAINT_INFO * constr, SM_FUNCTION_INFO * func_index_info, PT_NODE * alter, const char * src_cls_name, const char * new_cls_name)
|
| int |
do_rename (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_rename_partition (MOP old_class, const char * newname)
|
| int |
do_revoke (const PARSER_CONTEXT * parser, const PT_NODE * statement)
|
| int |
do_set_object_id (const PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, PT_NODE * object_id_list)
|
| int |
do_truncate (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
ib_get_thread_count ()
|
Public Static Functions
| Type |
Name |
| int |
acquire_locks_for_multiple_rename (const PT_NODE * statement)
|
| int |
add_foreign_key (DB_CTMPL * ctemplate, const PT_NODE * cnstr, const char ** att_names)
|
| int |
add_query_to_virtual_class (PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, const PT_NODE * queries)
|
| int |
add_union_query (PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, const PT_NODE * query)
|
| int |
adjust_partition_range (DB_OBJLIST * objs)
|
| int |
adjust_partition_size (MOP class_, DB_CTMPL * tmpl)
|
| int |
build_att_coll_change_map (TP_DOMAIN * curr_domain, TP_DOMAIN * req_domain, SM_ATTR_PROP_CHG * attr_chg_properties)
|
| int |
build_att_type_change_map (TP_DOMAIN * curr_domain, TP_DOMAIN * req_domain, SM_ATTR_PROP_CHG * attr_chg_properties)
|
| int |
build_attr_change_map (PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, PT_NODE * attr_def, PT_NODE * attr_old_name, PT_NODE * constraints, SM_ATTR_PROP_CHG * attr_chg_properties)
|
| int |
check_att_chg_allowed (const char * att_name, const PT_TYPE_ENUM t, const SM_ATTR_PROP_CHG * attr_chg_prop, SM_ATTR_CHG_SOL chg_how, bool log_error_allowed, bool * new_attempt)
|
| int |
check_change_attribute (PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, PT_NODE * attribute, PT_NODE * old_name_node, PT_NODE ** pointer_constraints, SM_ATTR_PROP_CHG * attr_chg_prop, SM_ATTR_CHG_SOL * change_mode)
|
| int |
check_change_class_collation (PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, PT_ALTER_INFO * alter, bool * need_update, int * collation_id)
|
| int |
check_default_on_update_clause (PARSER_CONTEXT * parser, PT_NODE * attribute)
|
| SM_FUNCTION_INFO * |
compile_partition_expression (PARSER_CONTEXT * parser, PT_NODE * entity_name, PT_NODE * pinfo)
|
| int |
create_or_drop_index_helper (PARSER_CONTEXT * parser, const char *const constraint_name, const bool is_reverse, const bool is_unique, const PT_INDEX_INFO * idx_info, DB_OBJECT *const obj, DO_INDEX do_index)
|
| PT_NODE * |
create_select_to_insert_into (PARSER_CONTEXT * parser, const char * class_name, PT_NODE * create_select, PT_CREATE_SELECT_ACTION create_select_action, DB_QUERY_TYPE * query_columns)
|
| int |
do_add_attribute (PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, PT_NODE * atts, PT_NODE * constraints, bool error_on_not_normal)
|
| int |
do_add_attribute_from_select_column (PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, DB_QUERY_TYPE * column)
|
| int |
do_alter_change_auto_increment (PARSER_CONTEXT *const parser, PT_NODE *const alter)
|
| int |
do_alter_change_col_comment (PARSER_CONTEXT *const parser, PT_NODE *const alter)
|
| int |
do_alter_change_default_cs_coll (PARSER_CONTEXT *const parser, PT_NODE *const alter)
|
| int |
do_alter_change_owner (PARSER_CONTEXT *const parser, PT_NODE *const alter)
|
| int |
do_alter_change_tbl_comment (PARSER_CONTEXT *const parser, PT_NODE *const alter)
|
| int |
do_alter_clause_add_index (PARSER_CONTEXT *const parser, PT_NODE *const alter)
|
| int |
do_alter_clause_change_attribute (PARSER_CONTEXT *const parser, PT_NODE *const alter)
|
| int |
do_alter_clause_drop_index (PARSER_CONTEXT *const parser, PT_NODE *const alter)
|
| int |
do_alter_clause_rename_entity (PARSER_CONTEXT *const parser, PT_NODE *const alter)
|
| int |
do_alter_index_comment (PARSER_CONTEXT * parser, const PT_NODE * statement)
|
| int |
do_alter_index_rebuild (PARSER_CONTEXT * parser, const PT_NODE * statement)
|
| int |
do_alter_index_status (PARSER_CONTEXT * parser, const PT_NODE * statement)
|
| int |
do_alter_one_clause_with_template (PARSER_CONTEXT * parser, PT_NODE * alter)
|
| int |
do_alter_partitioning_post (PARSER_CONTEXT * parser, PT_NODE * alter, SM_PARTITION_ALTER_INFO * pinfo)
|
| int |
do_alter_partitioning_pre (PARSER_CONTEXT * parser, PT_NODE * alter, SM_PARTITION_ALTER_INFO * pinfo)
|
| int |
do_analyze_partition (PARSER_CONTEXT * parser, PT_NODE * alter, SM_PARTITION_ALTER_INFO * pinfo)
|
| int |
do_change_att_schema_only (PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, PT_NODE * attribute, PT_NODE * old_name_node, PT_NODE * constraints, SM_ATTR_PROP_CHG * attr_chg_prop, SM_ATTR_CHG_SOL * change_mode)
|
| int |
do_check_fk_constraints_internal (DB_CTMPL * ctemplate, PT_NODE * constraints, bool is_partitioned)
|
| int |
do_coalesce_partition_post (PARSER_CONTEXT * parser, PT_NODE * alter, SM_PARTITION_ALTER_INFO * pinfo)
|
| int |
do_coalesce_partition_pre (PARSER_CONTEXT * parser, PT_NODE * alter, SM_PARTITION_ALTER_INFO * pinfo)
|
| int |
do_copy_indexes (PARSER_CONTEXT * parser, MOP classmop, SM_CLASS * src_class)
|
| int |
do_create_partition (PARSER_CONTEXT * parser, PT_NODE * alter, SM_PARTITION_ALTER_INFO * pinfo)
|
| int |
do_create_partition_constraint (PT_NODE * alter, SM_CLASS * root_class, SM_CLASS_CONSTRAINT * constraint, SM_PARTITION_ALTER_INFO * pinfo)
|
| int |
do_create_partition_constraints (PARSER_CONTEXT * parser, PT_NODE * alter, SM_PARTITION_ALTER_INFO * pinfo)
|
| int |
do_drop_att_constraints (MOP class_mop, SM_CONSTRAINT_INFO * constr_info_list)
|
| int |
do_drop_saved_indexes (MOP classmop, SM_CONSTRAINT_INFO * index_save_info)
|
| int |
do_find_auto_increment_serial (MOP * auto_increment_obj, const char * class_name, const char * attr_name)
|
| int |
do_promote_partition (SM_CLASS * class_)
|
| int |
do_promote_partition_by_name (const char * class_name, const char * part_num, char ** partition_name)
|
| int |
do_promote_partition_list (PARSER_CONTEXT * parser, PT_NODE * alter, SM_PARTITION_ALTER_INFO * pinfo)
|
| int |
do_recreate_att_constraints (MOP class_mop, SM_CONSTRAINT_INFO * constr_info_list)
|
| int |
do_recreate_renamed_class_indexes (const PARSER_CONTEXT * parser, const char *const old_class_name, const char *const class_name)
|
| int |
do_recreate_saved_indexes (MOP classmop, SM_CONSTRAINT_INFO * index_save_info)
|
| int |
do_redistribute_partitions_data (const char * class_name, const char * keyname, char ** promoted, int promoted_count, PT_ALTER_CODE alter_op, bool should_update, bool should_insert)
|
| int |
do_remove_partition_post (PARSER_CONTEXT * parser, PT_NODE * alter, SM_PARTITION_ALTER_INFO * pinfo)
|
| int |
do_remove_partition_pre (PARSER_CONTEXT * parser, PT_NODE * alter, SM_PARTITION_ALTER_INFO * pinfo)
|
| int |
do_rename_internal (const char *const old_name, const char *const new_name)
|
| int |
do_reorganize_partition_post (PARSER_CONTEXT * parser, PT_NODE * alter, SM_PARTITION_ALTER_INFO * pinfo)
|
| int |
do_reorganize_partition_pre (PARSER_CONTEXT * parser, PT_NODE * alter, SM_PARTITION_ALTER_INFO * pinfo)
|
| int |
do_run_update_query_for_class (char * query, MOP class_mop, int * row_count)
|
| int |
do_run_update_query_for_new_default_expression_fields (PARSER_CONTEXT * parser, PT_NODE * alter, PT_NODE * attr_list, int attr_count, MOP class_mop)
|
| int |
do_run_update_query_for_new_notnull_fields (PARSER_CONTEXT * parser, PT_NODE * alter, PT_NODE * attr_list, int attr_count, MOP class_mop)
|
| int |
do_run_upgrade_instances_domain (PARSER_CONTEXT * parser, OID * p_class_oid, int att_id)
|
| int |
do_save_all_indexes (MOP classmop, SM_CONSTRAINT_INFO ** saved_index_info_listpp)
|
| int |
do_set_auto_increment (PARSER_CONTEXT * parser, DB_CTMPL * ctemplate, const char * attr_name, PT_NODE * attribute, SM_ATTRIBUTE ** attr)
|
| int |
do_update_new_cols_with_default_expression (PARSER_CONTEXT * parser, PT_NODE * alter, MOP class_mop)
|
| int |
do_update_new_notnull_cols_without_default (PARSER_CONTEXT * parser, PT_NODE * alter, MOP class_mop)
|
| int |
drop_class_name (const char * name, bool is_cascade_constraints)
|
| int |
execute_create_select_query (PARSER_CONTEXT * parser, const char *const class_name, PT_NODE * create_select, PT_CREATE_SELECT_ACTION create_select_action, DB_QUERY_TYPE * query_columns, PT_NODE * flagged_statement)
|
| int |
get_att_default_from_def (PARSER_CONTEXT * parser, PT_NODE * attribute, DB_VALUE ** default_value, const char * classname)
|
| int |
get_att_order_from_def (PT_NODE * attribute, bool * ord_first, const char ** ord_after_name)
|
| const char * |
get_attr_name (PT_NODE * attribute)
|
| PT_NODE * |
get_attribute_with_name (PT_NODE * atts, const char * name)
|
| const char * |
get_hard_default_for_type (PT_TYPE_ENUM type)
|
| int |
get_index_type_qualifiers (MOP obj, bool * is_reverse, bool * is_unique, const char * index_name)
|
| DB_CONSTRAINT_TYPE |
get_reverse_unique_index_type (const bool is_reverse, const bool is_unique)
|
| bool |
is_att_change_needed (const SM_ATTR_PROP_CHG * attr_chg_properties)
|
| bool |
is_att_prop_set (const int prop, const int value)
|
| bool |
is_att_property_structure_checked (const SM_ATTR_PROP_CHG * attr_chg_properties)
|
| bool |
is_attribute_primary_key (const char * class_name, const char * attr_name)
|
| int |
lob_process_dir_add_attr (SM_CLASS * class_, int old_att_count)
|
| int |
lob_process_dir_drop_attr (SM_CLASS * class_, const char * attr_name)
|
| SM_FOREIGN_KEY_ACTION |
map_pt_to_sm_action (const PT_MISC_TYPE action)
|
| SM_FUNCTION_INFO * |
pt_node_to_function_index (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * sort_spec, DO_INDEX do_index)
|
| SM_PARTITION * |
pt_node_to_partition_info (PARSER_CONTEXT * parser, PT_NODE * node, PT_NODE * entity_name, char * class_name, char * partition_name, DB_VALUE * minval)
|
| PT_NODE * |
pt_replace_names_index_expr (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
|
| DB_QUERY_TYPE * |
query_get_column_with_name (DB_QUERY_TYPE * query_columns, const char * name)
|
| PT_NODE * |
replace_names_alter_chg_attr (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
|
| void |
reset_att_property_structure (SM_ATTR_PROP_CHG * attr_chg_properties)
|
| int |
save_constraint_info_from_pt_node (SM_CONSTRAINT_INFO ** save_info, const PT_NODE *const pt_constr)
|
| int |
sort_constr_info_list (SM_CONSTRAINT_INFO ** source)
|
| int |
truncate_class_name (const char * name, const bool is_cascade)
|
| int |
update_locksets_for_multiple_rename (const char * class_name, int * num_mops, MOP * mop_set, int * num_names, char ** name_set, bool error_on_misssing_class)
|
| int |
validate_attribute_domain (PARSER_CONTEXT * parser, PT_NODE * attribute, const bool check_zero_precision)
|
Macros
Public Types Documentation
typedef DB_VALUE_SLIST
typedef struct db_value_slist DB_VALUE_SLIST;
enum DO_INDEX
enum DO_INDEX {
DO_INDEX_CREATE,
DO_INDEX_DROP
};
typedef PART_CLASS_INFO
typedef struct part_class_info PART_CLASS_INFO;
enum SM_ATTR_CHG_SOL
enum SM_ATTR_CHG_SOL {
SM_ATTR_CHG_NOT_NEEDED = 0,
SM_ATTR_CHG_ONLY_SCHEMA = 1,
SM_ATTR_CHG_WITH_ROW_UPDATE = 2,
SM_ATTR_CHG_BEST_EFFORT = 3
};
typedef SM_ATTR_PROP_CHG
typedef struct sm_attr_properties_chg SM_ATTR_PROP_CHG;
typedef SM_PARTITION_ALTER_INFO
typedef struct sm_partition_alter_info SM_PARTITION_ALTER_INFO;
enum execute__schema_8c_1a1812ab31015cef0a41c6d4f3ae07f13d
enum execute__schema_8c_1a1812ab31015cef0a41c6d4f3ae07f13d {
P_NAME = 0,
P_NOT_NULL,
P_DEFAULT_VALUE,
P_ON_UPDATE_EXPR,
P_CONSTR_CHECK,
P_DEFFERABLE,
P_ORDER,
P_AUTO_INCR,
P_CONSTR_FK,
P_S_CONSTR_PK,
P_M_CONSTR_PK,
P_S_CONSTR_UNI,
P_M_CONSTR_UNI,
P_CONSTR_NON_UNI,
P_PREFIX_INDEX,
P_TYPE,
P_IS_PARTITION_COL,
P_COMMENT,
NUM_ATT_CHG_PROP
};
enum execute__schema_8c_1af38129fd1797a5cfd7d746065784a44f
enum execute__schema_8c_1af38129fd1797a5cfd7d746065784a44f {
ATT_CHG_PROPERTY_PRESENT_OLD = 0x1,
ATT_CHG_PROPERTY_PRESENT_NEW = 0x2,
ATT_CHG_PROPERTY_LOST = 0x4,
ATT_CHG_PROPERTY_GAINED = 0x8,
ATT_CHG_PROPERTY_UNCHANGED = 0x10,
ATT_CHG_PROPERTY_DIFF = 0x20,
ATT_CHG_TYPE_PREC_INCR = 0x100,
ATT_CHG_TYPE_SET_CLS_COMPAT = 0x200,
ATT_CHG_TYPE_UPGRADE = 0x400,
ATT_CHG_TYPE_NEED_ROW_CHECK = 0x800,
ATT_CHG_TYPE_PSEUDO_UPGRADE = 0x1000,
ATT_CHG_TYPE_NOT_SUPPORTED_WITH_CFG = 0x2000,
ATT_CHG_TYPE_NOT_SUPPORTED = 0x4000,
ATT_CHG_PROPERTY_NOT_CHECKED = 0x10000
};
Public Attributes Documentation
variable ib_thread_count
Public Functions Documentation
function do_add_attributes
int do_add_attributes (
PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
PT_NODE * atts,
PT_NODE * constraints,
DB_QUERY_TYPE * create_select_columns
)
function do_add_constraints
int do_add_constraints (
DB_CTMPL * ctemplate,
PT_NODE * constraints
)
function do_add_method_files
int do_add_method_files (
const PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
PT_NODE * method_files
)
function do_add_methods
int do_add_methods (
PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
PT_NODE * methods
)
function do_add_queries
int do_add_queries (
PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
const PT_NODE * queries
)
function do_add_resolutions
int do_add_resolutions (
const PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
const PT_NODE * resolution
)
function do_add_supers
int do_add_supers (
const PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
const PT_NODE * supers
)
function do_alter
int do_alter (
PARSER_CONTEXT * parser,
PT_NODE * alter
)
function do_alter_index
int do_alter_index (
PARSER_CONTEXT * parser,
const PT_NODE * statement
)
function do_alter_user
int do_alter_user (
const PARSER_CONTEXT * parser,
const PT_NODE * statement
)
function do_check_fk_constraints
int do_check_fk_constraints (
DB_CTMPL * ctemplate,
PT_NODE * constraints
)
function do_check_partitioned_class
int do_check_partitioned_class (
DB_OBJECT * classop,
int check_map,
char * keyattr
)
function do_check_rows_for_null
int do_check_rows_for_null (
MOP class_mop,
const char * att_name,
bool * has_nulls
)
function do_create_entity
int do_create_entity (
PARSER_CONTEXT * parser,
PT_NODE * node
)
function do_create_index
int do_create_index (
PARSER_CONTEXT * parser,
const PT_NODE * statement
)
function do_create_local
int do_create_local (
PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
PT_NODE * pt_node,
DB_QUERY_TYPE * create_select_columns
)
function do_create_user
int do_create_user (
const PARSER_CONTEXT * parser,
const PT_NODE * statement
)
function do_drop
int do_drop (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_drop_index
int do_drop_index (
PARSER_CONTEXT * parser,
const PT_NODE * statement
)
function do_drop_partition_list
int do_drop_partition_list (
MOP class_,
PT_NODE * name_list,
DB_CTMPL * tmpl
)
function do_drop_partitioned_class
int do_drop_partitioned_class (
MOP class_,
int drop_sub_flag,
bool is_cascade_constraints
)
function do_drop_user
int do_drop_user (
const PARSER_CONTEXT * parser,
const PT_NODE * statement
)
function do_get_partition_keycol
int do_get_partition_keycol (
char * keycol,
MOP class_
)
function do_get_partition_parent
int do_get_partition_parent (
DB_OBJECT * const classop,
MOP * const parentop
)
function do_get_partition_size
int do_get_partition_size (
MOP class_
)
function do_grant
int do_grant (
const PARSER_CONTEXT * parser,
const PT_NODE * statement
)
function do_is_partitioned_subclass
int do_is_partitioned_subclass (
int * is_partitioned,
const char * classname,
char * keyattr
)
function do_recreate_filter_index_constr
int do_recreate_filter_index_constr (
PARSER_CONTEXT * parser,
SM_PREDICATE_INFO * filter_index_info,
PT_NODE * alter,
const char * src_cls_name,
const char * new_cls_name
)
function do_recreate_func_index_constr
int do_recreate_func_index_constr (
PARSER_CONTEXT * parser,
SM_CONSTRAINT_INFO * constr,
SM_FUNCTION_INFO * func_index_info,
PT_NODE * alter,
const char * src_cls_name,
const char * new_cls_name
)
function do_rename
int do_rename (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_rename_partition
int do_rename_partition (
MOP old_class,
const char * newname
)
function do_revoke
int do_revoke (
const PARSER_CONTEXT * parser,
const PT_NODE * statement
)
function do_set_object_id
int do_set_object_id (
const PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
PT_NODE * object_id_list
)
function do_truncate
int do_truncate (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function ib_get_thread_count
int ib_get_thread_count ()
Public Static Functions Documentation
function acquire_locks_for_multiple_rename
static int acquire_locks_for_multiple_rename (
const PT_NODE * statement
)
function add_foreign_key
static int add_foreign_key (
DB_CTMPL * ctemplate,
const PT_NODE * cnstr,
const char ** att_names
)
function add_query_to_virtual_class
static int add_query_to_virtual_class (
PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
const PT_NODE * queries
)
function add_union_query
static int add_union_query (
PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
const PT_NODE * query
)
function adjust_partition_range
static int adjust_partition_range (
DB_OBJLIST * objs
)
function adjust_partition_size
static int adjust_partition_size (
MOP class_,
DB_CTMPL * tmpl
)
function build_att_coll_change_map
static int build_att_coll_change_map (
TP_DOMAIN * curr_domain,
TP_DOMAIN * req_domain,
SM_ATTR_PROP_CHG * attr_chg_properties
)
function build_att_type_change_map
static int build_att_type_change_map (
TP_DOMAIN * curr_domain,
TP_DOMAIN * req_domain,
SM_ATTR_PROP_CHG * attr_chg_properties
)
function build_attr_change_map
static int build_attr_change_map (
PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
PT_NODE * attr_def,
PT_NODE * attr_old_name,
PT_NODE * constraints,
SM_ATTR_PROP_CHG * attr_chg_properties
)
function check_att_chg_allowed
static int check_att_chg_allowed (
const char * att_name,
const PT_TYPE_ENUM t,
const SM_ATTR_PROP_CHG * attr_chg_prop,
SM_ATTR_CHG_SOL chg_how,
bool log_error_allowed,
bool * new_attempt
)
function check_change_attribute
static int check_change_attribute (
PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
PT_NODE * attribute,
PT_NODE * old_name_node,
PT_NODE ** pointer_constraints,
SM_ATTR_PROP_CHG * attr_chg_prop,
SM_ATTR_CHG_SOL * change_mode
)
function check_change_class_collation
static int check_change_class_collation (
PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
PT_ALTER_INFO * alter,
bool * need_update,
int * collation_id
)
function check_default_on_update_clause
static int check_default_on_update_clause (
PARSER_CONTEXT * parser,
PT_NODE * attribute
)
function compile_partition_expression
static SM_FUNCTION_INFO * compile_partition_expression (
PARSER_CONTEXT * parser,
PT_NODE * entity_name,
PT_NODE * pinfo
)
function create_or_drop_index_helper
static int create_or_drop_index_helper (
PARSER_CONTEXT * parser,
const char * const constraint_name,
const bool is_reverse,
const bool is_unique,
const PT_INDEX_INFO * idx_info,
DB_OBJECT * const obj,
DO_INDEX do_index
)
function create_select_to_insert_into
static PT_NODE * create_select_to_insert_into (
PARSER_CONTEXT * parser,
const char * class_name,
PT_NODE * create_select,
PT_CREATE_SELECT_ACTION create_select_action,
DB_QUERY_TYPE * query_columns
)
function do_add_attribute
static int do_add_attribute (
PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
PT_NODE * atts,
PT_NODE * constraints,
bool error_on_not_normal
)
function do_add_attribute_from_select_column
static int do_add_attribute_from_select_column (
PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
DB_QUERY_TYPE * column
)
function do_alter_change_auto_increment
static int do_alter_change_auto_increment (
PARSER_CONTEXT * const parser,
PT_NODE * const alter
)
static int do_alter_change_col_comment (
PARSER_CONTEXT * const parser,
PT_NODE * const alter
)
function do_alter_change_default_cs_coll
static int do_alter_change_default_cs_coll (
PARSER_CONTEXT * const parser,
PT_NODE * const alter
)
function do_alter_change_owner
static int do_alter_change_owner (
PARSER_CONTEXT * const parser,
PT_NODE * const alter
)
static int do_alter_change_tbl_comment (
PARSER_CONTEXT * const parser,
PT_NODE * const alter
)
function do_alter_clause_add_index
static int do_alter_clause_add_index (
PARSER_CONTEXT * const parser,
PT_NODE * const alter
)
function do_alter_clause_change_attribute
static int do_alter_clause_change_attribute (
PARSER_CONTEXT * const parser,
PT_NODE * const alter
)
function do_alter_clause_drop_index
static int do_alter_clause_drop_index (
PARSER_CONTEXT * const parser,
PT_NODE * const alter
)
function do_alter_clause_rename_entity
static int do_alter_clause_rename_entity (
PARSER_CONTEXT * const parser,
PT_NODE * const alter
)
static int do_alter_index_comment (
PARSER_CONTEXT * parser,
const PT_NODE * statement
)
function do_alter_index_rebuild
static int do_alter_index_rebuild (
PARSER_CONTEXT * parser,
const PT_NODE * statement
)
function do_alter_index_status
static int do_alter_index_status (
PARSER_CONTEXT * parser,
const PT_NODE * statement
)
function do_alter_one_clause_with_template
static int do_alter_one_clause_with_template (
PARSER_CONTEXT * parser,
PT_NODE * alter
)
function do_alter_partitioning_post
static int do_alter_partitioning_post (
PARSER_CONTEXT * parser,
PT_NODE * alter,
SM_PARTITION_ALTER_INFO * pinfo
)
function do_alter_partitioning_pre
static int do_alter_partitioning_pre (
PARSER_CONTEXT * parser,
PT_NODE * alter,
SM_PARTITION_ALTER_INFO * pinfo
)
function do_analyze_partition
static int do_analyze_partition (
PARSER_CONTEXT * parser,
PT_NODE * alter,
SM_PARTITION_ALTER_INFO * pinfo
)
function do_change_att_schema_only
static int do_change_att_schema_only (
PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
PT_NODE * attribute,
PT_NODE * old_name_node,
PT_NODE * constraints,
SM_ATTR_PROP_CHG * attr_chg_prop,
SM_ATTR_CHG_SOL * change_mode
)
function do_check_fk_constraints_internal
static int do_check_fk_constraints_internal (
DB_CTMPL * ctemplate,
PT_NODE * constraints,
bool is_partitioned
)
function do_coalesce_partition_post
static int do_coalesce_partition_post (
PARSER_CONTEXT * parser,
PT_NODE * alter,
SM_PARTITION_ALTER_INFO * pinfo
)
function do_coalesce_partition_pre
static int do_coalesce_partition_pre (
PARSER_CONTEXT * parser,
PT_NODE * alter,
SM_PARTITION_ALTER_INFO * pinfo
)
function do_copy_indexes
static int do_copy_indexes (
PARSER_CONTEXT * parser,
MOP classmop,
SM_CLASS * src_class
)
function do_create_partition
static int do_create_partition (
PARSER_CONTEXT * parser,
PT_NODE * alter,
SM_PARTITION_ALTER_INFO * pinfo
)
function do_create_partition_constraint
static int do_create_partition_constraint (
PT_NODE * alter,
SM_CLASS * root_class,
SM_CLASS_CONSTRAINT * constraint,
SM_PARTITION_ALTER_INFO * pinfo
)
function do_create_partition_constraints
static int do_create_partition_constraints (
PARSER_CONTEXT * parser,
PT_NODE * alter,
SM_PARTITION_ALTER_INFO * pinfo
)
function do_drop_att_constraints
static int do_drop_att_constraints (
MOP class_mop,
SM_CONSTRAINT_INFO * constr_info_list
)
function do_drop_saved_indexes
static int do_drop_saved_indexes (
MOP classmop,
SM_CONSTRAINT_INFO * index_save_info
)
function do_find_auto_increment_serial
static int do_find_auto_increment_serial (
MOP * auto_increment_obj,
const char * class_name,
const char * attr_name
)
static int do_promote_partition (
SM_CLASS * class_
)
static int do_promote_partition_by_name (
const char * class_name,
const char * part_num,
char ** partition_name
)
static int do_promote_partition_list (
PARSER_CONTEXT * parser,
PT_NODE * alter,
SM_PARTITION_ALTER_INFO * pinfo
)
function do_recreate_att_constraints
static int do_recreate_att_constraints (
MOP class_mop,
SM_CONSTRAINT_INFO * constr_info_list
)
function do_recreate_renamed_class_indexes
static int do_recreate_renamed_class_indexes (
const PARSER_CONTEXT * parser,
const char * const old_class_name,
const char * const class_name
)
function do_recreate_saved_indexes
static int do_recreate_saved_indexes (
MOP classmop,
SM_CONSTRAINT_INFO * index_save_info
)
function do_redistribute_partitions_data
static int do_redistribute_partitions_data (
const char * class_name,
const char * keyname,
char ** promoted,
int promoted_count,
PT_ALTER_CODE alter_op,
bool should_update,
bool should_insert
)
function do_remove_partition_post
static int do_remove_partition_post (
PARSER_CONTEXT * parser,
PT_NODE * alter,
SM_PARTITION_ALTER_INFO * pinfo
)
function do_remove_partition_pre
static int do_remove_partition_pre (
PARSER_CONTEXT * parser,
PT_NODE * alter,
SM_PARTITION_ALTER_INFO * pinfo
)
function do_rename_internal
static int do_rename_internal (
const char * const old_name,
const char * const new_name
)
function do_reorganize_partition_post
static int do_reorganize_partition_post (
PARSER_CONTEXT * parser,
PT_NODE * alter,
SM_PARTITION_ALTER_INFO * pinfo
)
function do_reorganize_partition_pre
static int do_reorganize_partition_pre (
PARSER_CONTEXT * parser,
PT_NODE * alter,
SM_PARTITION_ALTER_INFO * pinfo
)
function do_run_update_query_for_class
static int do_run_update_query_for_class (
char * query,
MOP class_mop,
int * row_count
)
function do_run_update_query_for_new_default_expression_fields
static int do_run_update_query_for_new_default_expression_fields (
PARSER_CONTEXT * parser,
PT_NODE * alter,
PT_NODE * attr_list,
int attr_count,
MOP class_mop
)
function do_run_update_query_for_new_notnull_fields
static int do_run_update_query_for_new_notnull_fields (
PARSER_CONTEXT * parser,
PT_NODE * alter,
PT_NODE * attr_list,
int attr_count,
MOP class_mop
)
function do_run_upgrade_instances_domain
static int do_run_upgrade_instances_domain (
PARSER_CONTEXT * parser,
OID * p_class_oid,
int att_id
)
function do_save_all_indexes
static int do_save_all_indexes (
MOP classmop,
SM_CONSTRAINT_INFO ** saved_index_info_listpp
)
function do_set_auto_increment
static int do_set_auto_increment (
PARSER_CONTEXT * parser,
DB_CTMPL * ctemplate,
const char * attr_name,
PT_NODE * attribute,
SM_ATTRIBUTE ** attr
)
function do_update_new_cols_with_default_expression
static int do_update_new_cols_with_default_expression (
PARSER_CONTEXT * parser,
PT_NODE * alter,
MOP class_mop
)
function do_update_new_notnull_cols_without_default
static int do_update_new_notnull_cols_without_default (
PARSER_CONTEXT * parser,
PT_NODE * alter,
MOP class_mop
)
function drop_class_name
static int drop_class_name (
const char * name,
bool is_cascade_constraints
)
function execute_create_select_query
static int execute_create_select_query (
PARSER_CONTEXT * parser,
const char * const class_name,
PT_NODE * create_select,
PT_CREATE_SELECT_ACTION create_select_action,
DB_QUERY_TYPE * query_columns,
PT_NODE * flagged_statement
)
function get_att_default_from_def
static int get_att_default_from_def (
PARSER_CONTEXT * parser,
PT_NODE * attribute,
DB_VALUE ** default_value,
const char * classname
)
function get_att_order_from_def
static int get_att_order_from_def (
PT_NODE * attribute,
bool * ord_first,
const char ** ord_after_name
)
function get_attr_name
static const char * get_attr_name (
PT_NODE * attribute
)
function get_attribute_with_name
static PT_NODE * get_attribute_with_name (
PT_NODE * atts,
const char * name
)
function get_hard_default_for_type
static const char * get_hard_default_for_type (
PT_TYPE_ENUM type
)
function get_index_type_qualifiers
static int get_index_type_qualifiers (
MOP obj,
bool * is_reverse,
bool * is_unique,
const char * index_name
)
function get_reverse_unique_index_type
static DB_CONSTRAINT_TYPE get_reverse_unique_index_type (
const bool is_reverse,
const bool is_unique
)
function is_att_change_needed
static bool is_att_change_needed (
const SM_ATTR_PROP_CHG * attr_chg_properties
)
function is_att_prop_set
static bool is_att_prop_set (
const int prop,
const int value
)
function is_att_property_structure_checked
static bool is_att_property_structure_checked (
const SM_ATTR_PROP_CHG * attr_chg_properties
)
function is_attribute_primary_key
static bool is_attribute_primary_key (
const char * class_name,
const char * attr_name
)
function lob_process_dir_add_attr
static int lob_process_dir_add_attr (
SM_CLASS * class_,
int old_att_count
)
function lob_process_dir_drop_attr
static int lob_process_dir_drop_attr (
SM_CLASS * class_,
const char * attr_name
)
function map_pt_to_sm_action
static SM_FOREIGN_KEY_ACTION map_pt_to_sm_action (
const PT_MISC_TYPE action
)
function pt_node_to_function_index
static SM_FUNCTION_INFO * pt_node_to_function_index (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * sort_spec,
DO_INDEX do_index
)
function pt_node_to_partition_info
static SM_PARTITION * pt_node_to_partition_info (
PARSER_CONTEXT * parser,
PT_NODE * node,
PT_NODE * entity_name,
char * class_name,
char * partition_name,
DB_VALUE * minval
)
function pt_replace_names_index_expr
static PT_NODE * pt_replace_names_index_expr (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * void_arg,
int * continue_walk
)
function query_get_column_with_name
static DB_QUERY_TYPE * query_get_column_with_name (
DB_QUERY_TYPE * query_columns,
const char * name
)
function replace_names_alter_chg_attr
static PT_NODE * replace_names_alter_chg_attr (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * void_arg,
int * continue_walk
)
function reset_att_property_structure
static void reset_att_property_structure (
SM_ATTR_PROP_CHG * attr_chg_properties
)
function save_constraint_info_from_pt_node
static int save_constraint_info_from_pt_node (
SM_CONSTRAINT_INFO ** save_info,
const PT_NODE * const pt_constr
)
function sort_constr_info_list
static int sort_constr_info_list (
SM_CONSTRAINT_INFO ** source
)
function truncate_class_name
static int truncate_class_name (
const char * name,
const bool is_cascade
)
function update_locksets_for_multiple_rename
static int update_locksets_for_multiple_rename (
const char * class_name,
int * num_mops,
MOP * mop_set,
int * num_names,
char ** name_set,
bool error_on_misssing_class
)
function validate_attribute_domain
static int validate_attribute_domain (
PARSER_CONTEXT * parser,
PT_NODE * attribute,
const bool check_zero_precision
)
Macro Definition Documentation
define GET_NAME
#define GET_NAME (
n
) `(( char *) (n)->info.name.original)`
define GET_STRING
#define GET_STRING (
n
) `(( char *) (n)->info.value.data_value.str->bytes)`
define IS_NAME
#define IS_NAME (
n
) `((n)->node_type == PT_NAME )`
define IS_STRING
#define IS_STRING (
n
) `/* multi line expression */`
define MAX_FILTER_PREDICATE_STRING_LENGTH
#define MAX_FILTER_PREDICATE_STRING_LENGTH `(1073741823)`
define MAX_FUNCTION_EXPRESSION_STRING_LENGTH
#define MAX_FUNCTION_EXPRESSION_STRING_LENGTH `1024`
define QUERY_MAX_SIZE
#define QUERY_MAX_SIZE `1024 * 1024`
define UNIQUE_SAVEPOINT_ADD_ATTR_MTHD
#define UNIQUE_SAVEPOINT_ADD_ATTR_MTHD `"aDDaTTRmTHD"`
define UNIQUE_SAVEPOINT_ALTER_INDEX
#define UNIQUE_SAVEPOINT_ALTER_INDEX `"aLTERiNDEX"`
define UNIQUE_SAVEPOINT_ALTER_USER_ENTITY
#define UNIQUE_SAVEPOINT_ALTER_USER_ENTITY `"aLTERuSEReNTITY"`
define UNIQUE_SAVEPOINT_CHANGE_ATTR
#define UNIQUE_SAVEPOINT_CHANGE_ATTR `"cHANGEaTTR"`
#define UNIQUE_SAVEPOINT_CHANGE_COLUMN_COMMENT `"cHANGEcOLUMNcOMMENT"`
define UNIQUE_SAVEPOINT_CHANGE_DEF_COLL
#define UNIQUE_SAVEPOINT_CHANGE_DEF_COLL `"cHANGEdEFAULTcOLL"`
#define UNIQUE_SAVEPOINT_CHANGE_TBL_COMMENT `"cHANGEtBLcOMMENT"`
define UNIQUE_SAVEPOINT_CREATE_ENTITY
#define UNIQUE_SAVEPOINT_CREATE_ENTITY `"cREATEeNTITY"`
define UNIQUE_SAVEPOINT_CREATE_USER_ENTITY
#define UNIQUE_SAVEPOINT_CREATE_USER_ENTITY `"cREATEuSEReNTITY"`
define UNIQUE_SAVEPOINT_DROP_ENTITY
#define UNIQUE_SAVEPOINT_DROP_ENTITY `"dROPeNTITY"`
define UNIQUE_SAVEPOINT_DROP_USER_ENTITY
#define UNIQUE_SAVEPOINT_DROP_USER_ENTITY `"dROPuSEReNTITY"`
define UNIQUE_SAVEPOINT_GRANT_USER
#define UNIQUE_SAVEPOINT_GRANT_USER `"gRANTuSER"`
define UNIQUE_SAVEPOINT_MULTIPLE_ALTER
#define UNIQUE_SAVEPOINT_MULTIPLE_ALTER `"mULTIPLEaLTER"`
define UNIQUE_SAVEPOINT_RENAME
#define UNIQUE_SAVEPOINT_RENAME `"rENAME"`
define UNIQUE_SAVEPOINT_REPLACE_VIEW
#define UNIQUE_SAVEPOINT_REPLACE_VIEW `"rEPlACE"`
define UNIQUE_SAVEPOINT_REVOKE_USER
#define UNIQUE_SAVEPOINT_REVOKE_USER `"rEVOKEuSER"`
define UNIQUE_SAVEPOINT_TRUNCATE
#define UNIQUE_SAVEPOINT_TRUNCATE `"tRUnCATE"`
The documentation for this class was generated from the following file cubrid/src/query/execute_schema.c