CUBRID Engine  latest
execute_statement.h File Reference
#include "dbi.h"
#include "parser.h"
Include dependency graph for execute_statement.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef int( PT_DO_FUNC) (PARSER_CONTEXT *, PT_NODE *)
 

Functions

int do_update_auto_increment_serial_on_rename (MOP serial_obj, const char *class_name, const char *att_name)
 
int do_reset_auto_increment_serial (MOP serial_obj)
 
int do_change_auto_increment_serial (PARSER_CONTEXT *const parser, MOP serial_obj, PT_NODE *new_cur_val)
 
MOP do_get_serial_obj_id (DB_IDENTIFIER *serial_obj_id, DB_OBJECT *serial_class_mop, const char *serial_name)
 
int do_get_serial_cached_num (int *cached_num, MOP serial_obj)
 
int do_create_serial (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_create_auto_increment_serial (PARSER_CONTEXT *parser, MOP *serial_object, const char *class_name, PT_NODE *att)
 
int do_update_maxvalue_of_auto_increment_serial (PARSER_CONTEXT *parser, MOP *serial_object, const char *class_name, PT_NODE *att)
 
int do_alter_serial (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_drop_serial (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_alter (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_alter_index (PARSER_CONTEXT *parser, const PT_NODE *statement)
 
int do_create_index (PARSER_CONTEXT *parser, const PT_NODE *statement)
 
int do_drop_index (PARSER_CONTEXT *parser, const PT_NODE *statement)
 
int do_attach (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_commit (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_get_optimization_param (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_get_xaction (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_prepare_to_commit (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_rollback (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_savepoint (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_set_optimization_param (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_set_sys_params (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_set_xaction (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_create_trigger (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_drop_trigger (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_set_trigger (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_get_trigger (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_rename_trigger (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_alter_trigger (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_execute_trigger (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_remove_trigger (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_delete (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_prepare_delete (PARSER_CONTEXT *parser, PT_NODE *statement, PT_NODE *parent)
 
int do_execute_delete (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_drop (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_drop_variable (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_evaluate (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_grant (const PARSER_CONTEXT *parser, const PT_NODE *statement)
 
int do_revoke (const PARSER_CONTEXT *parser, const PT_NODE *statement)
 
int do_create_user (const PARSER_CONTEXT *parser, const PT_NODE *statement)
 
int do_drop_user (const PARSER_CONTEXT *parser, const PT_NODE *statement)
 
int do_alter_user (const PARSER_CONTEXT *parser, const PT_NODE *statement)
 
int do_insert (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_prepare_insert (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_execute_insert (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_call_method (PARSER_CONTEXT *parser, PT_NODE *statement)
 
void do_print_classname_on_method (DB_OBJECT *self, DB_VALUE *result)
 
void do_print_on_method (DB_OBJECT *self, DB_VALUE *result, DB_VALUE *msg)
 
void dbmeth_class_name (DB_OBJECT *self, DB_VALUE *result)
 
void dbmeth_print (DB_OBJECT *self, DB_VALUE *result, DB_VALUE *msg)
 
int do_rename (const PARSER_CONTEXT *parser, const PT_NODE *statement)
 
int do_scope (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_select (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_select_for_ins_upd (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_prepare_select (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_execute_select (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_update (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_prepare_update (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_execute_update (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_update_stats (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_get_stats (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_check_delete_trigger (PARSER_CONTEXT *parser, PT_NODE *statement, PT_DO_FUNC *do_func)
 
int do_check_insert_trigger (PARSER_CONTEXT *parser, PT_NODE *statement, PT_DO_FUNC *do_func)
 
int do_check_update_trigger (PARSER_CONTEXT *parser, PT_NODE *statement, PT_DO_FUNC *do_func)
 
int do_check_merge_trigger (PARSER_CONTEXT *parser, PT_NODE *statement, PT_DO_FUNC *do_func)
 
int do_replicate_statement (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_statement (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_prepare_statement (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_execute_statement (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_check_internal_statements (PARSER_CONTEXT *parser, PT_NODE *statement, PT_DO_FUNC do_func)
 
int do_truncate (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_execute_do (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_set_session_variables (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_drop_session_variables (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_prepare_session_statement (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_execute_session_statement (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_evaluate_default_expr (PARSER_CONTEXT *parser, PT_NODE *class_name)
 
bool is_stmt_based_repl_type (const PT_NODE *node)
 
int do_merge (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_prepare_merge (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_execute_merge (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_set_names (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_set_timezone (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_set_query_trace (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int do_kill (PARSER_CONTEXT *parser, PT_NODE *statement)
 

Variables

bool do_Trigger_involved
 

Typedef Documentation

typedef int( PT_DO_FUNC) (PARSER_CONTEXT *, PT_NODE *)

Definition at line 57 of file execute_statement.h.

Function Documentation

void dbmeth_class_name ( DB_OBJECT self,
DB_VALUE result 
)

Definition at line 13810 of file execute_statement.c.

References db_get_class_name(), and db_make_string().

void dbmeth_print ( DB_OBJECT self,
DB_VALUE result,
DB_VALUE msg 
)

Definition at line 13841 of file execute_statement.c.

References db_make_null(), and db_value_print().

int do_alter_serial ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 2225 of file execute_statement.c.

References ARG_FILE_LINE, assert, au_check_serial_authorization(), AU_DISABLE, AU_ENABLE, au_fetch_instance_force(), AU_FETCH_WRITE, CHECK_MODIFICATION_ERROR, check_serial_invariants(), pt_serial_info::comment, CT_SERIAL_NAME, pt_value_info::data_value, db_abs_dbval(), db_get(), db_get_int(), DB_IS_NULL, db_make_int(), db_make_null(), db_make_string(), DB_MAX_NUMERIC_PRECISION, DB_SERIAL_MAX, DB_SERIAL_MIN, DB_TYPE_NUMERIC, db_value_clone(), db_value_domain_init(), dbt_abort_object(), dbt_edit_object(), dbt_finish_object(), dbt_put_internal(), do_get_serial_obj_id(), er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_INVALID_SERIAL_VALUE, ER_IT_DATA_OVERFLOW, ER_QPROC_CANNOT_UPDATE_SERIAL, ER_QPROC_DB_SERIAL_NOT_FOUND, ER_QPROC_SERIAL_NOT_FOUND, ER_QPROC_SERIAL_RANGE_OVERFLOW, er_set(), error(), pt_data_value::i, parser_node::info, initialize_serial_invariant(), INTL_CODESET_ISO88591, LC_FETCH_MVCC_VERSION, MAX_SERIAL_INVARIANT, MSGCAT_RUNTIME_INVALID_AUTO_INCREMENT_ALTER, MSGCAT_RUNTIME_RT_SERIAL_ALTER_NOT_ALLOWED, MSGCAT_RUNTIME_RT_SERIAL_NOT_DEFINED, MSGCAT_SEMANTIC_SERIAL_CACHED_NUM_INVALID_RANGE, MSGCAT_SEMANTIC_SERIAL_INC_VAL_INVALID, MSGCAT_SEMANTIC_SERIAL_INC_VAL_ZERO, MSGCAT_SEMANTIC_SERIAL_MAX_VAL_INVALID, MSGCAT_SEMANTIC_SERIAL_MAX_VAL_OVERFLOW, MSGCAT_SEMANTIC_SERIAL_MIN_VAL_INVALID, MSGCAT_SEMANTIC_SERIAL_MIN_VAL_UNDERFLOW, MSGCAT_SEMANTIC_SERIAL_START_VAL_INVALID, MSGCAT_SET_PARSER_RUNTIME, MSGCAT_SET_PARSER_SEMANTIC, NO_ERROR, parser_node::node_type, NULL, numeric_coerce_string_to_num(), numeric_db_value_coerce_to_num(), numeric_db_value_compare(), numeric_db_value_mul(), numeric_db_value_sub(), OID_ISNULL, OID_SET_NULL, pr_clear_value(), PT_ERRORmf, PT_GE, PT_LE, PT_LT, PT_NE, PT_NODE_SR_CACHED_NUM_VAL, PT_NODE_SR_CYCLIC, PT_NODE_SR_INCREMENT_VAL, PT_NODE_SR_MAX_VAL, PT_NODE_SR_MIN_VAL, PT_NODE_SR_NAME, PT_NODE_SR_NO_CACHE, PT_NODE_SR_NO_CYCLIC, PT_NODE_SR_NO_MAX, PT_NODE_SR_NO_MIN, PT_NODE_SR_START_VAL, PT_TYPE_INTEGER, PT_VALUE, PT_VALUE_GET_BYTES, pt_value_to_db(), pt_statement_info::serial, SERIAL_ATTR_CACHED_NUM, SERIAL_ATTR_CLASS_NAME, SERIAL_ATTR_COMMENT, SERIAL_ATTR_CURRENT_VAL, SERIAL_ATTR_CYCLIC, SERIAL_ATTR_INCREMENT_VAL, SERIAL_ATTR_MAX_VAL, SERIAL_ATTR_MIN_VAL, SERIAL_ATTR_STARTED, serial_decache(), sm_find_class(), strlen, parser_node::type_enum, pt_statement_info::value, ws_decache(), and WS_ISDIRTY.

Referenced by do_execute_statement(), and do_statement().

Here is the caller graph for this function:

int do_attach ( PARSER_CONTEXT parser,
PT_NODE statement 
)
int do_check_insert_trigger ( PARSER_CONTEXT parser,
PT_NODE statement,
PT_DO_FUNC do_func 
)

Definition at line 6019 of file execute_statement.c.

References check_trigger(), parser_node::flag, TR_EVENT_STATEMENT_INSERT, and parser_node::use_auto_commit.

Referenced by do_execute_statement(), and do_statement().

Here is the caller graph for this function:

int do_commit ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 4435 of file execute_statement.c.

References pt_statement_info::commit_work, db_update_row_count_cache(), parser_node::info, pt_commit_work_info::retain_lock, and tran_commit().

Referenced by do_execute_statement(), and do_statement().

Here is the caller graph for this function:

int do_create_auto_increment_serial ( PARSER_CONTEXT parser,
MOP serial_object,
const char *  class_name,
PT_NODE att 
)

Definition at line 1766 of file execute_statement.c.

References parser_node::alias_print, ARG_FILE_LINE, assert_release, pt_statement_info::attr_def, pt_attr_def_info::attr_name, pt_attr_def_info::auto_increment, pt_statement_info::auto_increment, AUTO_INCREMENT_SERIAL_NAME_EXTRA_LENGTH, CT_SERIAL_NAME, pt_statement_info::data_type, parser_node::data_type, DB_BIGINT_MAX, db_get_int(), DB_INT16_MAX, DB_INT32_MAX, DB_LT, db_make_bigint(), db_make_int(), db_make_null(), DB_MAX_NUMERIC_PRECISION, DB_SERIAL_MAX, DB_TYPE_NUMERIC, db_value_clone(), db_value_domain_init(), do_create_serial_internal(), do_get_serial_obj_id(), ER_AUTO_INCREMENT_SERIAL_ALREADY_EXIST, ER_AUTO_INCREMENT_STARTVAL_MUST_LT_MAXVAL, er_errid(), ER_ERROR_SEVERITY, ER_INCREMENT_VALUE_CANNOT_BE_ZERO, ER_INVALID_SERIAL_VALUE, ER_OUT_OF_VIRTUAL_MEMORY, ER_QPROC_DB_SERIAL_NOT_FOUND, er_set(), error(), free_and_init, i, pt_auto_increment_info::increment_val, parser_node::info, INTL_CODESET_ISO88591, pt_statement_info::name, NO_ERROR, NULL, numeric_coerce_string_to_num(), numeric_db_value_coerce_to_num(), numeric_db_value_compare(), pt_name_info::original, p, pr_clear_value(), pt_data_type_info::precision, PT_TYPE_BIGINT, PT_TYPE_INTEGER, PT_TYPE_NUMERIC, PT_TYPE_SMALLINT, pt_value_to_db(), SET_AUTO_INCREMENT_SERIAL_NAME, sm_downcase_name(), sm_find_class(), SM_MAX_IDENTIFIER_LENGTH, pt_auto_increment_info::start_val, strlen, tp_value_compare(), and parser_node::type_enum.

Referenced by do_add_attribute(), and do_change_att_schema_only().

Here is the caller graph for this function:

int do_create_serial ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 1280 of file execute_statement.c.

References ARG_FILE_LINE, assert, AU_DISABLE, AU_ENABLE, CHECK_MODIFICATION_ERROR, check_serial_invariants(), pt_serial_info::comment, CT_SERIAL_NAME, pt_value_info::data_value, db_abs_dbval(), db_get_int(), db_make_int(), db_make_null(), DB_MAX_NUMERIC_PRECISION, DB_SERIAL_MAX, DB_SERIAL_MIN, DB_TYPE_NUMERIC, db_value_clone(), db_value_domain_init(), do_create_serial_internal(), do_get_serial_obj_id(), er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_INVALID_SERIAL_VALUE, ER_IT_DATA_OVERFLOW, ER_OUT_OF_VIRTUAL_MEMORY, ER_QPROC_DB_SERIAL_NOT_FOUND, ER_QPROC_SERIAL_ALREADY_EXIST, ER_QPROC_SERIAL_RANGE_OVERFLOW, er_set(), error(), free_and_init, pt_data_value::i, parser_node::info, initialize_serial_invariant(), INTL_CODESET_ISO88591, intl_identifier_lower(), intl_identifier_lower_string_size(), MAX_SERIAL_INVARIANT, MSGCAT_SEMANTIC_SERIAL_ALREADY_EXIST, MSGCAT_SEMANTIC_SERIAL_CACHED_NUM_INVALID_RANGE, MSGCAT_SEMANTIC_SERIAL_INC_VAL_INVALID, MSGCAT_SEMANTIC_SERIAL_INC_VAL_ZERO, MSGCAT_SEMANTIC_SERIAL_MAX_VAL_INVALID, MSGCAT_SEMANTIC_SERIAL_MAX_VAL_OVERFLOW, MSGCAT_SEMANTIC_SERIAL_MIN_VAL_INVALID, MSGCAT_SEMANTIC_SERIAL_MIN_VAL_UNDERFLOW, MSGCAT_SEMANTIC_SERIAL_START_VAL_INVALID, MSGCAT_SET_PARSER_SEMANTIC, NO_ERROR, parser_node::node_type, NULL, numeric_coerce_string_to_num(), numeric_db_value_coerce_to_num(), numeric_db_value_compare(), numeric_db_value_mul(), numeric_db_value_sub(), p, pr_clear_value(), PT_ERRORmf, PT_GE, PT_LE, PT_LT, PT_NE, PT_NODE_SR_CACHED_NUM_VAL, PT_NODE_SR_CYCLIC, PT_NODE_SR_INCREMENT_VAL, PT_NODE_SR_MAX_VAL, PT_NODE_SR_MIN_VAL, PT_NODE_SR_NAME, PT_NODE_SR_START_VAL, PT_TYPE_INTEGER, PT_VALUE, PT_VALUE_GET_BYTES, pt_value_to_db(), pt_statement_info::serial, sm_find_class(), strlen, parser_node::type_enum, and pt_statement_info::value.

Referenced by do_execute_statement(), and do_statement().

Here is the caller graph for this function:

int do_evaluate_default_expr ( PARSER_CONTEXT parser,
PT_NODE class_name 
)

Definition at line 406 of file execute_statement.c.

References ARG_FILE_LINE, assert, assert_release, sm_class::attributes, au_fetch_class_force(), AU_FETCH_READ, db_datetime::date, db_datetime_decode(), db_datetime_to_timestamp(), DB_DEFAULT_CURR_USER, DB_DEFAULT_CURRENTDATE, DB_DEFAULT_CURRENTDATETIME, DB_DEFAULT_CURRENTTIME, DB_DEFAULT_CURRENTTIMESTAMP, DB_DEFAULT_NONE, DB_DEFAULT_SYSDATE, DB_DEFAULT_SYSDATETIME, DB_DEFAULT_SYSTIME, DB_DEFAULT_SYSTIMESTAMP, DB_DEFAULT_UNIX_TIMESTAMP, DB_DEFAULT_USER, db_get_datetime(), db_get_user_and_host_name(), db_get_user_name(), DB_IS_NULL, db_make_datetime(), db_make_int(), db_make_null(), db_make_string(), db_make_time(), db_make_timestamp(), pt_name_info::db_object, db_timestamp_encode_sys(), db_to_char(), DB_TYPE_STRING, db_unix_timestamp(), db_value_clear(), db_value_put_encoded_date(), db_value_put_encoded_time(), DB_VALUE_TYPE, sm_default_value::default_expr, db_default_expr::default_expr_format, db_default_expr::default_expr_op, db_default_expr::default_expr_type, default_value, sm_attribute::default_value, sm_attribute::domain, DOMAIN_COMPATIBLE, error(), sm_attribute::header, parser_node::info, lang_set_flag_from_lang(), pt_statement_info::name, db_value::need_clear, sm_component::next, NO_ERROR, parser_node::node_type, NULL, pr_clear_value(), pr_clone_value(), prm_get_string_value(), PRM_ID_INTL_DATE_LANG, PT_NAME, strlen, parser_context::sys_datetime, T_TO_CHAR, db_datetime::time, tp_domain_resolve_default(), tp_domain_resolve_value(), tp_domain_status_er_set(), TP_DOMAIN_TYPE, TP_IS_CHAR_TYPE, tp_value_cast(), tz_conv_tz_datetime_w_region(), tz_conv_tz_time_w_zone_name(), tz_get_session_local_timezone(), tz_get_session_tz_region(), tz_get_system_timezone(), tz_get_system_tz_region(), and sm_default_value::value.

Referenced by do_prepare_merge(), and insert_local().

Here is the caller graph for this function:

int do_execute_delete ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 10416 of file execute_statement.c.

References assert, AU_RESTORE, AU_SAVE_AND_DISABLE, AU_SAVE_AND_ENABLE, parser_context::auto_param_count, CHECK_MODIFICATION_ERROR, cursor_free_self_list_id, db_abort_to_savepoint(), db_is_vclass(), pt_name_info::db_object, DEFAULT_EXEC_MODE, pt_statement_info::delete_, delete_list_by_oids(), delete_savepoint_number, do_send_plan_trace_to_session(), do_set_trace_to_query_flag(), ER_GENERIC_ERROR, ER_LK_UNILATERALLY_ABORTED, err, execute_query(), EXECUTE_QUERY_WITH_COMMIT, pt_spec_info::flag, parser_context::flag, pt_spec_info::flat_entity_list, parser_context::host_var_count, parser_context::host_variables, if(), parser_node::info, parser_context::is_auto_commit, parser_context::is_xasl_pinned_reference, mq_generate_name(), pt_statement_info::name, parser_node::next, NO_ERROR, NOT_FROM_RESULT_CACHE, NULL, pt_name_info::original, prm_get_bool_value(), PRM_ID_QUERY_TRACE, pt_end_query(), PT_HINT_LK_TIMEOUT, PT_IS_HINT_NODE, PT_SPEC_FLAG_DELETE, parser_context::query_id, parser_context::query_trace, RESULT_CACHE_INHIBITED, pt_delete_info::server_delete, sm_decache_instances_after_query_executed_with_commit(), sm_flush_and_decache_objects(), sm_flush_objects(), pt_delete_info::spec, pt_statement_info::spec, TM_TRAN_ISOLATION, TM_TRAN_WAIT_MSECS, TRAN_AUTO_COMMIT, tran_flush_to_commit(), TRAN_REP_READ, tran_reset_wait_times(), tran_system_savepoint(), tran_was_latest_query_committed(), qfile_list_id::tuple_cnt, pt_delete_info::waitsecs_hint, and XASL_CACHE_PINNED_REFERENCE.

Referenced by do_execute_statement().

Here is the caller graph for this function:

int do_execute_merge ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 16244 of file execute_statement.c.

References parser_context::abort, assert, pt_merge_info::assignment, AU_RESTORE, AU_SAVE_AND_DISABLE, AU_SAVE_AND_ENABLE, parser_context::auto_param_count, CHECK_MODIFICATION_ERROR, parser_node::column_number, cursor_free_self_list_id, db_abort_to_savepoint(), DB_FETCH_CLREAD_INSTWRITE, db_is_vclass(), pt_name_info::db_object, DEFAULT_EXEC_MODE, pt_merge_info::do_class_attrs, do_select(), er_errid(), ER_FAILED, ER_GENERIC_ERROR, ER_LK_UNILATERALLY_ABORTED, er_msg(), err, error(), parser_node::etc, execute_query(), EXECUTE_QUERY_WITH_COMMIT, parser_node::flag, parser_context::flag, pt_merge_info::flags, pt_spec_info::flat_entity_list, pt_merge_info::hint, parser_context::host_var_count, parser_context::host_variables, parser_node::info, pt_merge_info::insert, insert_subquery_results(), pt_merge_info::into, parser_context::is_auto_commit, parser_context::is_xasl_pinned_reference, parser_node::line_number, pt_node_list_info::list, pt_node_list_info::list_type, locator_fetch_class(), pt_statement_info::merge, merge_savepoint_number, mq_generate_name(), mq_translate(), pt_statement_info::name, NO_ERROR, pt_statement_info::node_list, NOT_FROM_RESULT_CACHE, NULL, obt_begin_insert_values(), parser_free_tree(), pt_end_query(), pt_has_error, PT_HINT_LK_TIMEOUT, PT_IS_HINT_NODE, PT_IS_SUBQUERY, PT_MERGE_INFO_INSERT_ONLY, PT_MERGE_INFO_SERVER_OP, pt_record_error(), pt_to_merge_insert_query(), qmgr_end_query(), parser_context::query_id, RESULT_CACHE_INHIBITED, sm_decache_instances_after_query_executed_with_commit(), sm_flush_and_decache_objects(), sm_flush_objects(), pt_statement_info::spec, parser_context::statement_number, TM_TRAN_WAIT_MSECS, TRAN_AUTO_COMMIT, tran_flush_to_commit(), tran_reset_wait_times(), tran_system_savepoint(), tran_was_latest_query_committed(), tran_was_latest_query_ended(), qfile_list_id::tuple_cnt, pt_merge_info::update, update_class_attributes(), update_objs_for_list_file(), parser_node::use_auto_commit, pt_merge_info::value_clauses, pt_merge_info::waitsecs_hint, ws_need_flush(), XASL_CACHE_PINNED_REFERENCE, and parser_node::xasl_id.

Referenced by do_execute_statement().

Here is the caller graph for this function:

int do_execute_select ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 14441 of file execute_statement.c.

References parser_context::abort, assert, AU_RESTORE, AU_SAVE_AND_ENABLE, parser_context::auto_param_count, parser_node::cache_time, CACHE_TIME_EQ, CACHE_TIME_RESET, parser_node::clt_cache_check, parser_node::clt_cache_reusable, db_value_clear(), db_value_copy(), DEFAULT_EXEC_MODE, pt_query_info::do_cache, pt_query_info::do_not_cache, do_send_plan_trace_to_session(), do_set_trace_to_query_flag(), DONT_COLLECT_EXEC_STATS, parser_context::dont_collect_exec_stats, er_errid(), err, parser_node::etc, execute_query(), EXECUTE_QUERY_WITH_COMMIT, pt_query_info::flag, parser_node::flag, parser_context::flag, free_and_init, parser_context::host_var_count, parser_context::host_variables, i, parser_node::info, pt_query_info::into_list, parser_context::is_auto_commit, parser_context::is_holdable, parser_context::is_xasl_pinned_reference, locator_all_flush(), locator_assign_all_permanent_oids(), MSGCAT_RUNTIME_PARM_IS_NOT_SET, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, NO_ERROR, parser_node::node_type, NOT_FROM_RESULT_CACHE, NULL, pt_query_info::oids_included, pt_name_info::original, parser_walk_tree(), prm_get_bool_value(), PRM_ID_QUERY_TRACE, pt_associate_label_with_value_check_reference(), PT_ERRORmf, pt_flush_classes(), pt_get_one_tuple_from_list_id(), pt_length_of_list(), PT_NAME, pt_statement_info::query, parser_context::query_id, parser_context::query_trace, pt_query_info::reexecute, RESULT_CACHE_INHIBITED, RESULT_CACHE_REQUIRED, RESULT_HOLDABLE, parser_node::si_datetime, parser_node::si_tran_id, tm_Use_OID_preflush, TRAN_AUTO_COMMIT, parser_node::use_auto_commit, ws_has_updated(), ws_need_flush(), XASL_CACHE_PINNED_REFERENCE, and parser_node::xasl_id.

Referenced by do_execute_statement().

Here is the caller graph for this function:

int do_execute_session_statement ( PARSER_CONTEXT parser,
PT_NODE statement 
)
int do_execute_statement ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 3430 of file execute_statement.c.

References parser_node::alias_print, ARG_FILE_LINE, assert, db_set_read_fetch_instance_version(), db_set_suppress_repl_on_transaction(), do_alter(), do_alter_index(), do_alter_serial(), do_alter_trigger(), do_alter_user(), do_attach(), do_call_method(), do_check_delete_trigger(), do_check_insert_trigger(), do_check_internal_statements(), do_check_merge_trigger(), do_check_update_trigger(), do_commit(), do_create_entity(), do_create_index(), do_create_serial(), do_create_trigger(), do_create_user(), do_drop(), do_drop_index(), do_drop_serial(), do_drop_session_variables(), do_drop_trigger(), do_drop_user(), do_drop_variable(), do_evaluate(), do_execute_delete(), do_execute_do(), do_execute_insert(), do_execute_merge(), do_execute_select(), do_execute_session_statement(), do_execute_trigger(), do_execute_update(), do_get_optimization_param(), do_get_stats(), do_get_trigger(), do_get_xaction(), do_grant(), do_kill(), do_prepare_to_commit(), do_remove_trigger(), do_rename(), do_rename_trigger(), do_replicate_statement(), do_revoke(), do_rollback(), do_savepoint(), do_scope(), do_set_names(), do_set_optimization_param(), do_set_query_trace(), do_set_session_variables(), do_set_sys_params(), do_set_timezone(), do_set_trigger(), do_set_xaction(), do_statement(), do_Trigger_involved, do_truncate(), do_update_stats(), do_vacuum(), ER_BLOCK_DDL_STMT, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, ER_LK_UNILATERALLY_ABORTED, ER_PT_UNKNOWN_STATEMENT, er_set(), err, error(), HA_DISABLED, is_stmt_based_repl_type(), jsp_alter_stored_procedure(), jsp_create_stored_procedure(), jsp_drop_stored_procedure(), LC_FETCH_DIRTY_VERSION, LC_FETCH_MVCC_VERSION, locator_all_flush(), parser_node::next, NO_ERROR, parser_node::node_type, NULL, parser, prm_get_bool_value(), PRM_ID_BLOCK_DDL_STATEMENT, PT_2PC_ATTACH, PT_ALTER, PT_ALTER_INDEX, PT_ALTER_SERIAL, PT_ALTER_STORED_PROCEDURE, PT_ALTER_TRIGGER, PT_ALTER_USER, PT_COMMIT_WORK, PT_CREATE_ENTITY, PT_CREATE_INDEX, PT_CREATE_SERIAL, PT_CREATE_STORED_PROCEDURE, PT_CREATE_TRIGGER, PT_CREATE_USER, PT_DELETE, PT_DIFFERENCE, PT_DO, PT_DROP, PT_DROP_INDEX, PT_DROP_SERIAL, PT_DROP_SESSION_VARIABLES, PT_DROP_STORED_PROCEDURE, PT_DROP_TRIGGER, PT_DROP_USER, PT_DROP_VARIABLE, PT_EVALUATE, PT_EXECUTE_PREPARE, PT_EXECUTE_TRIGGER, pt_free_orphans(), PT_GET_OPT_LVL, PT_GET_STATS, PT_GET_TRIGGER, PT_GET_XACTION, PT_GRANT, PT_INSERT, PT_INTERSECTION, pt_is_ddl_statement(), PT_KILL_STMT, PT_MERGE, PT_METHOD_CALL, PT_PREPARE_TO_COMMIT, PT_QUERY_TRACE, PT_REMOVE_TRIGGER, PT_RENAME, PT_RENAME_TRIGGER, PT_REVOKE, PT_ROLLBACK_WORK, PT_SAVEPOINT, PT_SCOPE, PT_SELECT, PT_SET_NAMES, PT_SET_OPT_LVL, PT_SET_SESSION_VARIABLES, PT_SET_SYS_PARAMS, PT_SET_TIMEZONE, PT_SET_TRIGGER, PT_SET_XACTION, PT_TRUNCATE, PT_UNION, PT_UPDATE, PT_UPDATE_STATS, PT_VACUUM, qo_need_skip_execution(), parser_context::query_id, RESET_HOST_VARIABLES_IF_INTERNAL_STATEMENT, SET_HOST_VARIABLES_IF_INTERNAL_STATEMENT, parser_node::sql_user_text, TM_TRAN_READ_FETCH_VERSION, tran_abort_only_client(), and tran_was_latest_query_aborted().

Referenced by db_execute_and_keep_statement_local(), and do_scope().

Here is the caller graph for this function:

int do_execute_update ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 9119 of file execute_statement.c.

References assert, AU_RESTORE, AU_SAVE_AND_DISABLE, AU_SAVE_AND_ENABLE, parser_context::auto_param_count, CHECK_MODIFICATION_ERROR, cursor_free_self_list_id, db_abort_to_savepoint(), db_is_vclass(), pt_name_info::db_object, DEFAULT_EXEC_MODE, do_send_plan_trace_to_session(), do_set_trace_to_query_flag(), er_errid(), ER_GENERIC_ERROR, ER_LK_UNILATERALLY_ABORTED, er_msg(), err, execute_query(), EXECUTE_QUERY_WITH_COMMIT, pt_spec_info::flag, parser_context::flag, pt_spec_info::flat_entity_list, parser_context::host_var_count, parser_context::host_variables, if(), parser_node::info, parser_context::is_auto_commit, parser_context::is_xasl_pinned_reference, mq_generate_name(), pt_statement_info::name, parser_node::next, NO_ERROR, NOT_FROM_RESULT_CACHE, NULL, pt_update_info::object, pt_name_info::original, prm_get_bool_value(), PRM_ID_QUERY_TRACE, pt_end_query(), PT_HINT_LK_TIMEOUT, PT_IS_HINT_NODE, pt_record_error(), PT_SPEC_FLAG_UPDATE, qo_do_auto_parameterize(), parser_context::query_id, parser_context::query_trace, RESULT_CACHE_INHIBITED, pt_update_info::server_update, sm_decache_instances_after_query_executed_with_commit(), sm_flush_and_decache_objects(), sm_flush_objects(), pt_update_info::spec, pt_statement_info::spec, parser_context::statement_number, TM_TRAN_ISOLATION, TM_TRAN_WAIT_MSECS, TRAN_AUTO_COMMIT, tran_flush_to_commit(), TRAN_REP_READ, tran_reset_wait_times(), tran_system_savepoint(), tran_was_latest_query_committed(), qfile_list_id::tuple_cnt, pt_statement_info::update, update_class_attributes(), UPDATE_OBJECT, update_object_by_oid(), update_objs_for_list_file(), update_savepoint_number, pt_update_info::waitsecs_hint, and XASL_CACHE_PINNED_REFERENCE.

Referenced by do_execute_statement().

Here is the caller graph for this function:

int do_get_serial_cached_num ( int *  cached_num,
MOP  serial_obj 
)
int do_merge ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 15407 of file execute_statement.c.

References parser_context::abort, pt_expr_info::arg1, assert, ASSERT_ERROR_AND_SET, pt_merge_info::assignment, pt_merge_info::attr_list, AU_DISABLE, AU_ENABLE, parser_context::au_save, check_for_cons(), check_missing_non_null_attrs(), CHECK_MODIFICATION_ERROR, parser_node::column_number, cursor_free_self_list_id, db_abort_to_savepoint(), DB_FETCH_CLREAD_INSTWRITE, db_is_vclass(), pt_name_info::db_object, pt_merge_info::do_class_attrs, do_select_for_ins_upd(), er_errid(), ER_GENERIC_ERROR, ER_LK_UNILATERALLY_ABORTED, er_msg(), err, parser_node::etc, pt_statement_info::expr, parser_context::flag, pt_merge_info::flags, pt_spec_info::flat_entity_list, pt_merge_info::hint, parser_node::info, pt_merge_info::insert, insert_subquery_results(), pt_merge_info::into, parser_node::line_number, pt_node_list_info::list, pt_node_list_info::list_type, locator_fetch_class(), pt_statement_info::merge, merge_savepoint_number, mq_generate_name(), mq_translate(), pt_statement_info::name, NO_ERROR, pt_statement_info::node_list, NULL, obt_begin_insert_values(), pt_name_info::original, parser_copy_tree_list(), parser_free_tree(), pt_end_query(), pt_false_where(), pt_get_assignment_lists(), pt_has_error, PT_HINT_LK_TIMEOUT, PT_IS_HINT_NODE, PT_IS_N_COLUMN_UPDATE_EXPR, PT_IS_SUBQUERY, PT_MERGE_INFO_HAS_UNIQUE, PT_META_ATTR, pt_record_error(), pt_report_to_ersys_with_statement(), pt_restore_assignment_links(), PT_SEMANTIC, pt_to_merge_insert_query(), pt_to_merge_update_query(), qmgr_end_query(), qo_need_skip_execution(), parser_context::query_id, sm_flush_objects(), pt_statement_info::spec, parser_context::statement_number, TM_TRAN_WAIT_MSECS, tran_reset_wait_times(), tran_system_savepoint(), tran_was_latest_query_ended(), pt_merge_info::update, update_check_for_constraints(), update_class_attributes(), update_objs_for_list_file(), pt_merge_info::value_clauses, and pt_merge_info::waitsecs_hint.

Referenced by do_statement(), and ehash_delete().

Here is the caller graph for this function:

int do_prepare_delete ( PARSER_CONTEXT parser,
PT_NODE statement,
PT_NODE parent 
)

Definition at line 10106 of file execute_statement.c.

References ARG_FILE_LINE, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, AU_RESTORE, AU_SAVE_AND_DISABLE, xasl_stream::buffer, parser_node::cannot_prepare, pt_delete_info::class_specs, parser_context::context, pt_name_info::db_object, pt_statement_info::delete_, do_prepare_delete(), do_prepare_select(), parser_context::dont_prt_long_string, er_errid(), er_msg(), ER_OBJ_INVALID_ARGUMENTS, er_set(), ER_WARNING_SEVERITY, err, pt_spec_info::flag, parser_node::flag, parser_context::flag, pt_spec_info::flat_entity_list, free_and_init, parser_node::info, init_xasl_stream(), parser_context::long_string_skipped, mq_translate(), MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, parser_node::next, NO_ERROR, NULL, parser_free_tree(), prepare_query(), parser_context::print_type_ambiguity, PT_CONVERT_RANGE, pt_copy_upddel_hints_to_select(), pt_enter_packing_buf(), PT_ERRORm, pt_exit_packing_buf(), pt_false_where(), pt_free_statement_xasl_id(), PT_HINT_USE_SBR, PT_INTERNAL_ERROR, PT_NODE_PRINT_TO_ALIAS, PT_PRINT_QUOTES, PT_PRINT_USER, pt_record_error(), PT_SPEC_FLAG_DELETE, pt_split_delete_stmt(), pt_to_delete_xasl(), pt_to_upd_del_query(), compile_context::recompile_xasl, S_DELETE, pt_delete_info::search_cond, compile_context::sha1, SHA1Compute(), sm_class_has_triggers(), pt_delete_info::spec, pt_statement_info::spec, compile_context::sql_hash_text, compile_context::sql_user_text, compile_context::sql_user_text_len, parser_context::statement_number, strlen, TR_EVENT_DELETE, TR_EVENT_STATEMENT_DELETE, pt_delete_info::using_index, pt_name_info::virt_object, while(), pt_delete_info::with, compile_context::xasl, xasl_stream::xasl_id, parser_node::xasl_id, and xts_map_xasl_to_stream().

Referenced by do_prepare_delete(), and do_prepare_statement().

Here is the caller graph for this function:

int do_prepare_merge ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 15827 of file execute_statement.c.

References parser_node::alias_print, pt_expr_info::arg1, ARG_FILE_LINE, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, pt_merge_info::assignment, update_proc_node::assigns, pt_merge_info::attr_list, AU_RESTORE, AU_SAVE_AND_DISABLE, AU_SAVE_AND_ENABLE, xasl_stream::buffer, parser_node::cannot_prepare, check_for_cons(), check_missing_non_null_attrs(), cleanup(), parser_node::column_number, update_assignment::constant, parser_context::context, db_is_vclass(), pt_name_info::db_object, pt_merge_info::do_class_attrs, do_evaluate_default_expr(), do_prepare_select(), parser_context::dont_prt_long_string, er_errid(), ER_FAILED, er_msg(), ER_OBJ_INVALID_ARGUMENTS, er_set(), ER_WARNING_SEVERITY, err, pt_statement_info::expr, parser_node::flag, parser_context::flag, pt_merge_info::flags, pt_spec_info::flat_entity_list, free_and_init, pt_merge_info::has_delete, i, if(), parser_node::info, init_xasl_stream(), pt_merge_info::insert, INSERT_SELECT, pt_merge_info::into, parser_node::line_number, parser_context::long_string_skipped, xasl_node::merge, pt_statement_info::merge, pt_name_info::meta_class, mq_translate(), MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, parser_node::next, NO_ERROR, parser_node::node_type, NULL, update_proc_node::num_assigns, parser_copy_tree_list(), parser_free_tree(), pr_clear_value(), prepare_query(), parser_context::print_type_ambiguity, prm_get_integer_value(), PRM_ID_INSERT_MODE, xasl_node::proc, PT_CONVERT_RANGE, pt_enter_packing_buf(), PT_ERRORm, pt_exit_packing_buf(), pt_false_where(), pt_find_omitted_default_expr(), pt_get_assignment_lists(), pt_has_error, PT_IS_N_COLUMN_UPDATE_EXPR, PT_MERGE_INFO_HAS_UNIQUE, PT_MERGE_INFO_INSERT_ONLY, PT_MERGE_INFO_SERVER_OP, PT_META_ATTR, PT_NAME, PT_NODE_PRINT_TO_ALIAS, PT_NORMAL, PT_PRINT_QUOTES, PT_PRINT_USER, pt_record_error(), pt_restore_assignment_links(), pt_to_merge_update_query(), pt_to_merge_xasl(), parser_node::recompile, compile_context::recompile_xasl, compile_context::sha1, SHA1Compute(), sm_class_has_triggers(), pt_statement_info::spec, compile_context::sql_hash_text, compile_context::sql_user_text, parser_node::sql_user_text, compile_context::sql_user_text_len, parser_node::sql_user_text_len, parser_context::statement_number, strlen, TR_EVENT_DELETE, TR_EVENT_INSERT, TR_EVENT_STATEMENT_DELETE, TR_EVENT_STATEMENT_INSERT, TR_EVENT_STATEMENT_UPDATE, TR_EVENT_UPDATE, xasl_node::update, pt_merge_info::update, update_check_for_constraints(), update_check_having_meta_attr(), merge_proc_node::update_xasl, parser_node::use_plan_cache, pt_merge_info::value_clauses, compile_context::xasl, xasl_stream::xasl_id, parser_node::xasl_id, and xts_map_xasl_to_stream().

Referenced by do_prepare_statement().

Here is the caller graph for this function:

int do_prepare_select ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 14078 of file execute_statement.c.

References parser_node::alias_print, ARG_FILE_LINE, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, AU_RESTORE, AU_SAVE_AND_DISABLE, xasl_stream::buffer, parser_node::cannot_prepare, CHECK_MODIFICATION_ERROR, parser_context::context, parser_context::dont_prt_long_string, er_errid(), ER_FAILED, ER_OBJ_INVALID_ARGUMENTS, er_set(), ER_WARNING_SEVERITY, err, parser_node::flag, parser_context::flag, free_and_init, xasl_node::header, parser_node::info, init_xasl_stream(), parser_node::is_click_counter, parser_context::long_string_skipped, MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, NO_ERROR, NULL, pt_query_info::oids_included, parser_generate_xasl(), prepare_query(), parser_context::print_type_ambiguity, PT_CONVERT_RANGE, pt_enter_packing_buf(), PT_ERRORm, pt_exit_packing_buf(), pt_false_where(), pt_has_error, PT_NODE_PRINT_TO_ALIAS, PT_PRINT_DIFFERENT_SYSTEM_PARAMETERS, PT_PRINT_QUOTES, PT_PRINT_USER, pt_recompile_for_limit_optimizations(), pt_report_to_ersys(), pt_reset_error(), PT_SEMANTIC, pt_statement_info::query, parser_node::recompile, compile_context::recompile_xasl, RESULT_CACHE_INHIBITED, compile_context::sha1, SHA1Compute(), compile_context::sql_hash_text, compile_context::sql_user_text, parser_node::sql_user_text, compile_context::sql_user_text_len, parser_node::sql_user_text_len, strlen, parser_node::use_plan_cache, compile_context::xasl, xasl_node_header::xasl_flag, xasl_stream::xasl_header, xasl_stream::xasl_id, parser_node::xasl_id, and xts_map_xasl_to_stream().

Referenced by do_prepare_delete(), do_prepare_merge(), do_prepare_statement(), and do_prepare_update().

Here is the caller graph for this function:

int do_prepare_session_statement ( PARSER_CONTEXT parser,
PT_NODE statement 
)
int do_prepare_to_commit ( PARSER_CONTEXT parser,
PT_NODE statement 
)
int do_prepare_update ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 8738 of file execute_statement.c.

References pt_expr_info::arg1, ARG_FILE_LINE, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, pt_update_info::assignment, update_proc_node::assigns, AU_RESTORE, AU_SAVE_AND_DISABLE, bool, xasl_stream::buffer, pt_update_info::class_specs, update_assignment::constant, parser_context::context, pt_name_info::db_object, do_prepare_select(), parser_context::dont_prt_long_string, er_errid(), er_msg(), ER_OBJ_INVALID_ARGUMENTS, er_set(), ER_WARNING_SEVERITY, err, pt_statement_info::expr, pt_spec_info::flag, parser_node::flag, parser_context::flag, pt_spec_info::flat_entity_list, free_and_init, i, parser_node::info, init_xasl_stream(), locator_flush_class(), parser_context::long_string_skipped, pt_name_info::meta_class, mq_translate(), MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, parser_node::next, NO_ERROR, NULL, update_proc_node::num_assigns, pt_update_info::order_by, pt_update_info::orderby_for, parser_free_tree(), pr_clear_value(), prepare_query(), parser_context::print_type_ambiguity, xasl_node::proc, pt_append_omitted_on_update_expr_assignments(), PT_CONVERT_RANGE, pt_copy_upddel_hints_to_select(), pt_enter_packing_buf(), PT_ERRORm, pt_exit_packing_buf(), pt_false_where(), pt_get_assignment_lists(), PT_HINT_USE_SBR, PT_INTERNAL_ERROR, PT_IS_N_COLUMN_UPDATE_EXPR, PT_META_ATTR, PT_NODE_PRINT_TO_ALIAS, PT_PRINT_QUOTES, PT_PRINT_USER, pt_record_error(), pt_restore_assignment_links(), PT_SPEC_FLAG_UPDATE, pt_to_upd_del_query(), pt_to_update_xasl(), compile_context::recompile_xasl, S_UPDATE, pt_update_info::search_cond, pt_update_info::server_update, compile_context::sha1, SHA1Compute(), sm_class_has_triggers(), pt_update_info::spec, pt_statement_info::spec, compile_context::sql_hash_text, compile_context::sql_user_text, compile_context::sql_user_text_len, parser_context::statement_number, strlen, TR_EVENT_STATEMENT_UPDATE, TR_EVENT_UPDATE, xasl_node::update, pt_statement_info::update, update_check_for_constraints(), update_check_having_meta_attr(), parser_node::use_plan_cache, pt_update_info::using_index, pt_name_info::virt_object, pt_update_info::with, compile_context::xasl, xasl_stream::xasl_id, parser_node::xasl_id, and xts_map_xasl_to_stream().

Referenced by do_prepare_statement().

Here is the caller graph for this function:

void do_print_classname_on_method ( DB_OBJECT self,
DB_VALUE result 
)
void do_print_on_method ( DB_OBJECT self,
DB_VALUE result,
DB_VALUE msg 
)
int do_replicate_statement ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 14632 of file execute_statement.c.

References pt_statement_info::alter, assert, assert_release, pt_statement_info::create_entity, CUBRID_STMT_ALTER_CLASS, CUBRID_STMT_ALTER_INDEX, CUBRID_STMT_ALTER_SERIAL, CUBRID_STMT_ALTER_STORED_PROCEDURE, CUBRID_STMT_ALTER_USER, CUBRID_STMT_CREATE_CLASS, CUBRID_STMT_CREATE_INDEX, CUBRID_STMT_CREATE_SERIAL, CUBRID_STMT_CREATE_STORED_PROCEDURE, CUBRID_STMT_CREATE_TRIGGER, CUBRID_STMT_CREATE_USER, CUBRID_STMT_DELETE, CUBRID_STMT_DROP_CLASS, CUBRID_STMT_DROP_INDEX, CUBRID_STMT_DROP_SERIAL, CUBRID_STMT_DROP_STORED_PROCEDURE, CUBRID_STMT_DROP_TRIGGER, CUBRID_STMT_DROP_USER, CUBRID_STMT_GRANT, CUBRID_STMT_INSERT, CUBRID_STMT_REMOVE_TRIGGER, CUBRID_STMT_RENAME_CLASS, CUBRID_STMT_RENAME_TRIGGER, CUBRID_STMT_REVOKE, CUBRID_STMT_SET_TRIGGER, CUBRID_STMT_TRUNCATE, CUBRID_STMT_UPDATE, CUBRID_STMT_UPDATE_STATS, db_get_user_name(), db_string_free(), repl_info_statement::db_user, pt_statement_info::drop, pt_alter_info::entity_name, pt_create_entity_info::entity_name, pt_spec_info::entity_name, ER_IT_UNKNOWN_VARIABLE, ER_OUT_OF_VIRTUAL_MEMORY, error(), parser_context::host_var_count, parser_context::host_variables, i, pt_drop_info::if_exists, pt_statement_info::index, pt_index_info::indexed_class, repl_info::info, parser_node::info, parser_varchar::length, locator_flush_replication_info(), log_does_allow_replication(), repl_info_statement::name, NO_ERROR, parser_node::node_type, NULL, pt_rename_info::old_name, PT_ALTER, PT_ALTER_INDEX, PT_ALTER_SERIAL, PT_ALTER_STORED_PROCEDURE, PT_ALTER_TRIGGER, PT_ALTER_USER, PT_CREATE_ENTITY, PT_CREATE_INDEX, PT_CREATE_SERIAL, PT_CREATE_STORED_PROCEDURE, PT_CREATE_TRIGGER, PT_CREATE_USER, PT_DELETE, PT_DROP, PT_DROP_INDEX, PT_DROP_SERIAL, PT_DROP_STORED_PROCEDURE, PT_DROP_TRIGGER, PT_DROP_USER, PT_DROP_VARIABLE, pt_get_varchar_bytes(), PT_GRANT, PT_INSERT, pt_is_ddl_statement(), pt_print_bytes(), pt_print_db_value(), PT_REMOVE_TRIGGER, PT_RENAME, PT_RENAME_TRIGGER, PT_REVOKE, PT_TRUNCATE, PT_UPDATE, PT_UPDATE_STATS, pt_statement_info::rename, repl_info::repl_info_type, REPL_INFO_TYPE_SBR, pt_statement_info::spec, pt_drop_info::spec_list, parser_node::sql_user_text, parser_node::sql_user_text_len, repl_info_statement::statement_type, repl_info_statement::stmt_text, strlen, repl_info_statement::sys_prm_context, sysprm_print_parameters_for_ha_repl(), and truncate_need_repl_log().

Referenced by do_execute_statement(), and do_statement().

Here is the caller graph for this function:

int do_select ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 13869 of file execute_statement.c.

References do_select_internal().

Referenced by do_execute_merge(), do_statement(), insert_subquery_results(), pt_evaluate_tree_internal(), pt_set_table_to_db(), and select_delete_list().

Here is the caller graph for this function:

int do_select_for_ins_upd ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 13883 of file execute_statement.c.

References do_select_internal().

Referenced by do_merge(), and get_select_list_to_update().

Here is the caller graph for this function:

int do_statement ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 2943 of file execute_statement.c.

References parser_node::alias_print, ARG_FILE_LINE, assert, db_set_read_fetch_instance_version(), db_set_suppress_repl_on_transaction(), do_alter(), do_alter_index(), do_alter_serial(), do_alter_trigger(), do_alter_user(), do_attach(), do_call_method(), do_check_delete_trigger(), do_check_insert_trigger(), do_check_internal_statements(), do_check_merge_trigger(), do_check_update_trigger(), do_commit(), do_create_entity(), do_create_index(), do_create_serial(), do_create_trigger(), do_create_user(), do_delete(), do_drop(), do_drop_index(), do_drop_serial(), do_drop_trigger(), do_drop_user(), do_drop_variable(), do_evaluate(), do_execute_do(), do_execute_trigger(), do_get_optimization_param(), do_get_stats(), do_get_trigger(), do_get_xaction(), do_grant(), do_insert(), do_merge(), do_prepare_to_commit(), do_remove_trigger(), do_rename(), do_rename_trigger(), do_replicate_statement(), do_revoke(), do_rollback(), do_savepoint(), do_scope(), do_select(), do_set_names(), do_set_optimization_param(), do_set_query_trace(), do_set_sys_params(), do_set_timezone(), do_set_trigger(), do_set_xaction(), do_truncate(), do_update(), do_update_stats(), ER_BLOCK_DDL_STMT, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, ER_LK_UNILATERALLY_ABORTED, ER_PT_UNKNOWN_STATEMENT, er_set(), error(), HA_DISABLED, is_stmt_based_repl_type(), jsp_alter_stored_procedure(), jsp_create_stored_procedure(), jsp_drop_stored_procedure(), LC_FETCH_DIRTY_VERSION, LC_FETCH_MVCC_VERSION, locator_all_flush(), NO_ERROR, parser_node::node_type, NULL, prm_get_bool_value(), PRM_ID_BLOCK_DDL_STATEMENT, PT_2PC_ATTACH, PT_ALTER, PT_ALTER_INDEX, PT_ALTER_SERIAL, PT_ALTER_STORED_PROCEDURE, PT_ALTER_TRIGGER, PT_ALTER_USER, PT_COMMIT_WORK, PT_CREATE_ENTITY, PT_CREATE_INDEX, PT_CREATE_SERIAL, PT_CREATE_STORED_PROCEDURE, PT_CREATE_TRIGGER, PT_CREATE_USER, PT_DELETE, PT_DIFFERENCE, PT_DO, PT_DROP, PT_DROP_INDEX, PT_DROP_SERIAL, PT_DROP_SESSION_VARIABLES, PT_DROP_STORED_PROCEDURE, PT_DROP_TRIGGER, PT_DROP_USER, PT_DROP_VARIABLE, PT_EVALUATE, PT_EXECUTE_PREPARE, PT_EXECUTE_TRIGGER, pt_free_orphans(), PT_GET_OPT_LVL, PT_GET_STATS, PT_GET_TRIGGER, PT_GET_XACTION, PT_GRANT, PT_INSERT, PT_INTERSECTION, pt_is_ddl_statement(), PT_KILL_STMT, PT_MERGE, PT_METHOD_CALL, PT_PREPARE_TO_COMMIT, PT_QUERY_TRACE, PT_REMOVE_TRIGGER, PT_RENAME, PT_RENAME_TRIGGER, PT_REVOKE, PT_ROLLBACK_WORK, PT_SAVEPOINT, PT_SCOPE, PT_SELECT, PT_SET_NAMES, PT_SET_OPT_LVL, PT_SET_SESSION_VARIABLES, PT_SET_SYS_PARAMS, PT_SET_TIMEZONE, PT_SET_TRIGGER, PT_SET_XACTION, PT_TRUNCATE, PT_UNION, PT_UPDATE, PT_UPDATE_STATS, PT_VACUUM, qo_need_skip_execution(), RESET_HOST_VARIABLES_IF_INTERNAL_STATEMENT, SET_HOST_VARIABLES_IF_INTERNAL_STATEMENT, parser_node::sql_user_text, TM_TRAN_READ_FETCH_VERSION, tran_abort_only_client(), and tran_was_latest_query_aborted().

Referenced by db_execute_and_keep_statement_local(), do_execute_statement(), do_scope(), and execute_create_select_query().

Here is the caller graph for this function:

int do_update_maxvalue_of_auto_increment_serial ( PARSER_CONTEXT parser,
MOP serial_object,
const char *  class_name,
PT_NODE att 
)

Definition at line 2022 of file execute_statement.c.

References parser_node::alias_print, ARG_FILE_LINE, assert, assert_release, pt_statement_info::attr_def, pt_attr_def_info::attr_name, AU_DISABLE, AU_ENABLE, au_fetch_instance_force(), AU_FETCH_WRITE, pt_attr_def_info::auto_increment, AUTO_INCREMENT_SERIAL_NAME_EXTRA_LENGTH, CT_SERIAL_NAME, pt_statement_info::data_type, parser_node::data_type, DB_BIGINT_MAX, DB_EQ, db_get(), DB_INT16_MAX, DB_INT32_MAX, DB_LT, db_make_bigint(), db_make_int(), db_make_null(), DB_MAX_NUMERIC_PRECISION, DB_SERIAL_MAX, DB_TYPE_NUMERIC, db_value_clone(), db_value_domain_init(), dbt_abort_object(), dbt_edit_object(), dbt_finish_object(), dbt_put_internal(), do_get_serial_obj_id(), ER_AUTO_INCREMENT_STARTVAL_MUST_LT_MAXVAL, er_errid(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, ER_QPROC_DB_SERIAL_NOT_FOUND, ER_QPROC_SERIAL_NOT_FOUND, er_set(), error(), free_and_init, i, parser_node::info, INTL_CODESET_ISO88591, LC_FETCH_MVCC_VERSION, pt_statement_info::name, NO_ERROR, NULL, numeric_coerce_string_to_num(), numeric_db_value_coerce_to_num(), OID_ISNULL, OID_SET_NULL, pt_name_info::original, p, pr_clear_value(), pt_data_type_info::precision, PT_TYPE_BIGINT, PT_TYPE_INTEGER, PT_TYPE_NUMERIC, PT_TYPE_SMALLINT, SERIAL_ATTR_CURRENT_VAL, SERIAL_ATTR_MAX_VAL, serial_decache(), SET_AUTO_INCREMENT_SERIAL_NAME, sm_downcase_name(), sm_find_class(), SM_MAX_IDENTIFIER_LENGTH, strlen, tp_value_compare(), parser_node::type_enum, ws_decache(), and WS_ISDIRTY.

Referenced by do_change_att_schema_only().

Here is the caller graph for this function:

Variable Documentation