CUBRID Engine
latest
|
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <unistd.h>
#include <libgen.h>
#include <sys/time.h>
#include <string.h>
#include <limits.h>
#include <errno.h>
#include <stdarg.h>
#include <ctype.h>
#include "error_manager.h"
#include "db.h"
#include "dbi.h"
#include "dbtype.h"
#include "parser.h"
#include "porting.h"
#include "schema_manager.h"
#include "transform.h"
#include "parser_message.h"
#include "system_parameter.h"
#include "execute_statement.h"
#include "semantic_check.h"
#include "execute_schema.h"
#include "server_interface.h"
#include "transaction_cl.h"
#include "object_print.h"
#include "jansson.h"
#include "jsp_cl.h"
#include "optimizer.h"
#include "memory_alloc.h"
#include "object_domain.h"
#include "object_primitive.h"
#include "object_representation.h"
#include "trigger_manager.h"
#include "release_string.h"
#include "object_accessor.h"
#include "locator_cl.h"
#include "authenticate.h"
#include "xasl_generation.h"
#include "virtual_object.h"
#include "environment_variable.h"
#include "set_object.h"
#include "intl_support.h"
#include "replication.h"
#include "view_transform.h"
#include "network_interface_cl.h"
#include "arithmetic.h"
#include "xasl_to_stream.h"
#include "query_cl.h"
#include "parser_support.h"
#include "tz_support.h"
Go to the source code of this file.
Classes | |
struct | serial_invariant |
struct | eval_insert_value |
struct | cst_item |
struct | odku_tuple_value_arg |
Macros | |
#define | DB_SERIAL_MAX "99999999999999999999999999999999999999" |
#define | DB_SERIAL_MIN "-99999999999999999999999999999999999999" |
#define | UNIQUE_SAVEPOINT_ALTER_TRIGGER "aLTERtRIGGER" |
#define | PT_NODE_SR_NAME(node) ((node)->info.serial.serial_name->info.name.original) |
#define | PT_NODE_SR_START_VAL(node) ((node)->info.serial.start_val) |
#define | PT_NODE_SR_INCREMENT_VAL(node) ((node)->info.serial.increment_val) |
#define | PT_NODE_SR_MAX_VAL(node) ((node)->info.serial.max_val) |
#define | PT_NODE_SR_MIN_VAL(node) ((node)->info.serial.min_val) |
#define | PT_NODE_SR_CYCLIC(node) ((node)->info.serial.cyclic ) |
#define | PT_NODE_SR_NO_MAX(node) ((node)->info.serial.no_max ) |
#define | PT_NODE_SR_NO_MIN(node) ((node)->info.serial.no_min ) |
#define | PT_NODE_SR_NO_CYCLIC(node) ((node)->info.serial.no_cyclic ) |
#define | PT_NODE_SR_CACHED_NUM_VAL(node) ((node)->info.serial.cached_num_val) |
#define | PT_NODE_SR_NO_CACHE(node) ((node)->info.serial.no_cache) |
#define | MAX_SERIAL_INVARIANT 8 |
#define | ER_PT_UNKNOWN_STATEMENT ER_GENERIC_ERROR |
#define | UNIQUE_SAVEPOINT_EXTERNAL_STATEMENT "eXTERNALsTATEMENT" |
#define | ER_TR_INVALID_VALUE_TYPE ER_GENERIC_ERROR |
#define | MAX_DOMAIN_NAME_SIZE 150 |
#define | IS_REJECT_ACTION_STATEMENT(statement) |
#define | IS_INVALIDATE_ACTION_STATEMENT(statement) |
#define | IS_PRINT_ACTION_STATEMENT(statement) |
#define | PT_NODE_TR_NAME(node) ((node)->info.create_trigger.trigger_name->info.name.original) |
#define | PT_NODE_TR_STATUS(node) (convert_misc_to_tr_status((node)->info.create_trigger.trigger_status)) |
#define | PT_NODE_TR_PRI(node) ((node)->info.create_trigger.trigger_priority) |
#define | PT_NODE_TR_EVENT_TYPE(node) (convert_event_to_tr_event((node)->info.create_trigger.trigger_event->info.event_spec.event_type)) |
#define | PT_NODE_TR_TARGET(node) ((node)->info.create_trigger.trigger_event->info.event_spec.event_target) |
#define | PT_TR_TARGET_CLASS(target) ((target)->info.event_target.class_name->info.name.original) |
#define | PT_TR_TARGET_ATTR(target) ((target)->info.event_target.attribute) |
#define | PT_TR_ATTR_NAME(attr) ((attr)->info.name.original) |
#define | PT_NODE_COND(node) ((node)->info.create_trigger.trigger_condition) |
#define | PT_NODE_COND_TIME(node) (convert_misc_to_tr_time((node)->info.create_trigger.condition_time)) |
#define | PT_NODE_ACTION(node) ((node)->info.create_trigger.trigger_action) |
#define | PT_NODE_ACTION_TIME(node) (convert_misc_to_tr_time((node)->info.create_trigger.action_time)) |
#define | PT_NODE_TR_REF(node) ((node)->info.create_trigger.trigger_reference) |
#define | PT_TR_REF_REFERENCE(ref) (&(ref)->info.event_object) |
#define | DB_VALUE_STACK_MAX 40 |
#define | MAX_LEN 100 |
Typedefs | |
typedef struct serial_invariant | SERIAL_INVARIANT |
typedef struct eval_insert_value | EVAL_INSERT_VALUE |
typedef struct cst_item | CST_ITEM |
typedef struct odku_tuple_value_arg | ODKU_TUPLE_VALUE_ARG |
Enumerations | |
enum | CST_ITEM_ENUM { CST_UNDEFINED, CST_NOBJECTS, CST_NPAGES, CST_NATTRIBUTES, CST_BT_NKEYS } |
enum | UPDATE_TYPE { NORMAL_UPDATE, UPDATE_OBJECT, ON_DUPLICATE_KEY_UPDATE } |
enum | SERVER_PREFERENCE { INSERT_SELECT = 1, INSERT_VALUES = 2 } |
Variables | |
bool | do_Trigger_involved |
static CST_ITEM | cst_item_tbl [] |
static int | tr_savepoint_number = 0 |
static int | update_savepoint_number = 0 |
static int | delete_savepoint_number = 0 |
static int | insert_savepoint_number = 0 |
static int | merge_savepoint_number = 0 |
#define DB_SERIAL_MAX "99999999999999999999999999999999999999" |
Definition at line 96 of file execute_statement.c.
Referenced by do_alter_serial(), do_create_auto_increment_serial(), do_create_serial(), and do_update_maxvalue_of_auto_increment_serial().
#define DB_SERIAL_MIN "-99999999999999999999999999999999999999" |
Definition at line 97 of file execute_statement.c.
Referenced by do_alter_serial(), and do_create_serial().
#define DB_VALUE_STACK_MAX 40 |
Definition at line 6809 of file execute_statement.c.
#define ER_PT_UNKNOWN_STATEMENT ER_GENERIC_ERROR |
Definition at line 2929 of file execute_statement.c.
Referenced by do_execute_statement(), and do_statement().
#define ER_TR_INVALID_VALUE_TYPE ER_GENERIC_ERROR |
Definition at line 5141 of file execute_statement.c.
#define IS_INVALIDATE_ACTION_STATEMENT | ( | statement | ) |
Definition at line 5163 of file execute_statement.c.
Referenced by get_activity_info().
#define IS_PRINT_ACTION_STATEMENT | ( | statement | ) |
Definition at line 5167 of file execute_statement.c.
Referenced by get_activity_info().
#define IS_REJECT_ACTION_STATEMENT | ( | statement | ) |
Definition at line 5159 of file execute_statement.c.
Referenced by get_activity_info().
#define MAX_DOMAIN_NAME_SIZE 150 |
Definition at line 5143 of file execute_statement.c.
Referenced by do_set_trigger().
#define MAX_LEN 100 |
Referenced by do_set_timezone().
#define MAX_SERIAL_INVARIANT 8 |
Definition at line 135 of file execute_statement.c.
Referenced by do_alter_serial(), and do_create_serial().
#define PT_NODE_ACTION | ( | node | ) | ((node)->info.create_trigger.trigger_action) |
Definition at line 5194 of file execute_statement.c.
Referenced by do_create_trigger().
#define PT_NODE_ACTION_TIME | ( | node | ) | (convert_misc_to_tr_time((node)->info.create_trigger.action_time)) |
Definition at line 5196 of file execute_statement.c.
Referenced by do_create_trigger().
#define PT_NODE_COND | ( | node | ) | ((node)->info.create_trigger.trigger_condition) |
Definition at line 5189 of file execute_statement.c.
Referenced by do_create_trigger().
#define PT_NODE_COND_TIME | ( | node | ) | (convert_misc_to_tr_time((node)->info.create_trigger.condition_time)) |
Definition at line 5191 of file execute_statement.c.
Referenced by do_create_trigger().
#define PT_NODE_SR_CACHED_NUM_VAL | ( | node | ) | ((node)->info.serial.cached_num_val) |
Definition at line 124 of file execute_statement.c.
Referenced by do_alter_serial(), and do_create_serial().
#define PT_NODE_SR_CYCLIC | ( | node | ) | ((node)->info.serial.cyclic ) |
Definition at line 116 of file execute_statement.c.
Referenced by do_alter_serial(), and do_create_serial().
#define PT_NODE_SR_INCREMENT_VAL | ( | node | ) | ((node)->info.serial.increment_val) |
Definition at line 110 of file execute_statement.c.
Referenced by do_alter_serial(), and do_create_serial().
#define PT_NODE_SR_MAX_VAL | ( | node | ) | ((node)->info.serial.max_val) |
Definition at line 112 of file execute_statement.c.
Referenced by do_alter_serial(), and do_create_serial().
#define PT_NODE_SR_MIN_VAL | ( | node | ) | ((node)->info.serial.min_val) |
Definition at line 114 of file execute_statement.c.
Referenced by do_alter_serial(), and do_create_serial().
#define PT_NODE_SR_NAME | ( | node | ) | ((node)->info.serial.serial_name->info.name.original) |
Definition at line 106 of file execute_statement.c.
Referenced by do_alter_serial(), do_create_serial(), and do_drop_serial().
#define PT_NODE_SR_NO_CACHE | ( | node | ) | ((node)->info.serial.no_cache) |
Definition at line 126 of file execute_statement.c.
Referenced by do_alter_serial().
#define PT_NODE_SR_NO_CYCLIC | ( | node | ) | ((node)->info.serial.no_cyclic ) |
Definition at line 122 of file execute_statement.c.
Referenced by do_alter_serial().
#define PT_NODE_SR_NO_MAX | ( | node | ) | ((node)->info.serial.no_max ) |
Definition at line 118 of file execute_statement.c.
Referenced by do_alter_serial().
#define PT_NODE_SR_NO_MIN | ( | node | ) | ((node)->info.serial.no_min ) |
Definition at line 120 of file execute_statement.c.
Referenced by do_alter_serial().
#define PT_NODE_SR_START_VAL | ( | node | ) | ((node)->info.serial.start_val) |
Definition at line 108 of file execute_statement.c.
Referenced by do_alter_serial(), and do_create_serial().
#define PT_NODE_TR_EVENT_TYPE | ( | node | ) | (convert_event_to_tr_event((node)->info.create_trigger.trigger_event->info.event_spec.event_type)) |
Definition at line 5177 of file execute_statement.c.
Referenced by do_create_trigger().
#define PT_NODE_TR_NAME | ( | node | ) | ((node)->info.create_trigger.trigger_name->info.name.original) |
Definition at line 5171 of file execute_statement.c.
Referenced by do_create_trigger().
#define PT_NODE_TR_PRI | ( | node | ) | ((node)->info.create_trigger.trigger_priority) |
Definition at line 5175 of file execute_statement.c.
Referenced by do_create_trigger().
#define PT_NODE_TR_REF | ( | node | ) | ((node)->info.create_trigger.trigger_reference) |
Definition at line 5199 of file execute_statement.c.
#define PT_NODE_TR_STATUS | ( | node | ) | (convert_misc_to_tr_status((node)->info.create_trigger.trigger_status)) |
Definition at line 5173 of file execute_statement.c.
Referenced by do_create_trigger().
#define PT_NODE_TR_TARGET | ( | node | ) | ((node)->info.create_trigger.trigger_event->info.event_spec.event_target) |
Definition at line 5180 of file execute_statement.c.
Referenced by do_create_trigger().
#define PT_TR_ATTR_NAME | ( | attr | ) | ((attr)->info.name.original) |
Definition at line 5186 of file execute_statement.c.
Referenced by do_create_trigger().
#define PT_TR_REF_REFERENCE | ( | ref | ) | (&(ref)->info.event_object) |
Definition at line 5201 of file execute_statement.c.
#define PT_TR_TARGET_ATTR | ( | target | ) | ((target)->info.event_target.attribute) |
Definition at line 5184 of file execute_statement.c.
Referenced by do_create_trigger().
#define PT_TR_TARGET_CLASS | ( | target | ) | ((target)->info.event_target.class_name->info.name.original) |
Definition at line 5182 of file execute_statement.c.
Referenced by do_create_trigger().
#define UNIQUE_SAVEPOINT_ALTER_TRIGGER "aLTERtRIGGER" |
Definition at line 99 of file execute_statement.c.
Referenced by do_alter_trigger().
#define UNIQUE_SAVEPOINT_EXTERNAL_STATEMENT "eXTERNALsTATEMENT" |
Definition at line 2930 of file execute_statement.c.
Referenced by do_check_internal_statements().
Definition at line 3967 of file execute_statement.c.
typedef struct eval_insert_value EVAL_INSERT_VALUE |
Definition at line 156 of file execute_statement.c.
typedef struct odku_tuple_value_arg ODKU_TUPLE_VALUE_ARG |
Definition at line 10735 of file execute_statement.c.
typedef struct serial_invariant SERIAL_INVARIANT |
Definition at line 136 of file execute_statement.c.
enum CST_ITEM_ENUM |
Enumerator | |
---|---|
CST_UNDEFINED | |
CST_NOBJECTS | |
CST_NPAGES | |
CST_NATTRIBUTES | |
CST_BT_NKEYS |
Definition at line 3956 of file execute_statement.c.
enum SERVER_PREFERENCE |
Enumerator | |
---|---|
INSERT_SELECT | |
INSERT_VALUES |
Definition at line 10719 of file execute_statement.c.
enum UPDATE_TYPE |
Enumerator | |
---|---|
NORMAL_UPDATE | |
UPDATE_OBJECT | |
ON_DUPLICATE_KEY_UPDATE |
Definition at line 6806 of file execute_statement.c.
|
static |
Definition at line 9759 of file execute_statement.c.
References assert, AU_RESTORE, AU_SAVE_AND_ENABLE, parser_context::auto_param_count, xasl_stream::buffer, xasl_stream::buffer_size, cubregex::count(), cursor_free_self_list_id, pt_name_info::db_object, DEFAULT_EXEC_MODE, pt_statement_info::delete_, er_errid(), error(), pt_spec_info::flag, parser_node::flag, parser_context::flag, pt_spec_info::flat_entity_list, free_and_init, parser_context::host_var_count, parser_context::host_variables, parser_node::info, init_xasl_stream(), parser_context::is_auto_commit, MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, parser_node::next, NO_ERROR, NULL, prepare_and_execute_query(), pt_end_query(), pt_enter_packing_buf(), PT_ERRORm, pt_exit_packing_buf(), PT_SPEC_FLAG_DELETE, pt_to_delete_xasl(), parser_context::query_id, sm_decache_instances_after_query_executed_with_commit(), sm_flush_and_decache_objects(), pt_delete_info::spec, pt_statement_info::spec, TRAN_AUTO_COMMIT, tran_was_latest_query_committed(), qfile_list_id::tuple_cnt, parser_node::use_auto_commit, and xts_map_xasl_to_stream().
Referenced by delete_real_class().
|
static |
Definition at line 13582 of file execute_statement.c.
References ARG_FILE_LINE, pt_method_call_info::arg_list, db_get_object(), db_make_null(), db_send_arglist(), DB_TYPE_NULL, DB_TYPE_OBJECT, db_value_clear(), db_value_copy(), DB_VALUE_TYPE, er_errid(), ER_ERROR_SEVERITY, ER_OBJ_INVALID_ARGUMENTS, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), ER_WARNING_SEVERITY, error(), parser_node::etc, free_and_init, parser_node::info, pt_statement_info::method_call, pt_method_call_info::method_name, MSGCAT_SEMANTIC_METH_TARGET_NOT_OBJ, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, db_value_list::next, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_method_call_info::on_call_target, pt_name_info::original, pt_associate_label_with_value_check_reference(), PT_ERRORm, pt_evaluate_tree(), pt_has_error, PT_IS_CONST, PT_NAME, pt_report_to_ersys(), PT_SEMANTIC, pt_value_to_db(), pt_method_call_info::to_return_var, and db_value_list::val.
Referenced by do_call_method(), and do_execute_insert().
|
static |
Definition at line 11132 of file execute_statement.c.
References assert, au_fetch_class_force(), AU_FETCH_READ, classobj_has_unique_constraint(), sm_attribute::constraints, ER_GENERIC_ERROR, sm_attribute::flags, parser_node::info, MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, parser_node::next, NO_ERROR, parser_node::node_type, NULL, sm_attribute::order_link, sm_class::ordered_attributes, pt_name_info::original, parser_append_node(), parser_free_tree(), PT_ERRORm, PT_NAME, pt_point(), sm_att_auto_increment(), sm_att_constrained(), sm_att_unique_constrained(), SM_ATTFLAG_AUTO_INCREMENT, and SM_ATTFLAG_NON_NULL.
Referenced by do_merge(), do_prepare_merge(), do_set_insert_server_not_allowed(), and is_server_insert_allowed().
|
static |
Definition at line 15279 of file execute_statement.c.
References pt_merge_info::assignment, pt_name_info::db_object, do_check_internal_statements(), ER_FAILED, ER_GENERIC_ERROR, ER_LK_UNILATERALLY_ABORTED, err, pt_spec_info::flat_entity_list, pt_merge_info::has_delete, parser_node::info, pt_merge_info::insert, pt_merge_info::into, pt_statement_info::merge, mq_generate_name(), pt_statement_info::name, NO_ERROR, NULL, PT_INTERNAL_ERROR, pt_statement_info::spec, tr_abort(), tr_after(), tr_before(), tr_Current_depth, TR_EVENT_STATEMENT_DELETE, TR_EVENT_STATEMENT_INSERT, TR_EVENT_STATEMENT_UPDATE, tr_get_execution_state(), tr_prepare_statement(), tr_savepoint_number, tran_abort_upto_system_savepoint(), tran_system_savepoint(), pt_merge_info::update, and pt_merge_info::value_clauses.
Referenced by do_check_merge_trigger().
|
static |
Definition at line 13004 of file execute_statement.c.
References ARG_FILE_LINE, AU_DISABLE, AU_ENABLE, db_attribute_default(), db_attribute_is_non_null(), db_attribute_name(), db_attribute_next(), DB_DEFAULT_NONE, db_get_attributes(), pt_name_info::db_object, db_value_is_null(), sm_default_value::default_expr, db_default_expr::default_expr_type, sm_attribute::default_value, pt_spec_info::entity_name, ER_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_OBJ_MISSING_NON_NULL_ASSIGN, er_set(), error(), sm_attribute::flags, parser_node::info, is_attr_not_in_insert_list(), pt_statement_info::name, NO_ERROR, SM_ATTFLAG_AUTO_INCREMENT, and pt_statement_info::spec.
Referenced by do_insert_checks(), do_merge(), do_prepare_merge(), and insert_local().
|
static |
Definition at line 220 of file execute_statement.c.
References assert, serial_invariant::cmp_op, db_get_int(), error(), serial_invariant::error_type, i, NO_ERROR, numeric_db_value_compare(), PT_EQ, PT_GE, PT_GT, PT_LE, PT_LT, PT_NE, serial_invariant::val1, serial_invariant::val1_msgid, serial_invariant::val2, and serial_invariant::val2_msgid.
Referenced by do_alter_serial(), and do_create_serial().
|
static |
Definition at line 5087 of file execute_statement.c.
References db_get_float(), db_value_coerce(), DOMAIN_COMPATIBLE, ER_GENERIC_ERROR, MSGCAT_RUNTIME_TIMEOUT_VALUE_MSG, MSGCAT_SET_PARSER_RUNTIME, NO_ERROR, PT_ERRORm, and tp_Float_domain.
Referenced by do_get_stats(), and do_set_xaction().
|
static |
Definition at line 5527 of file execute_statement.c.
References ARG_FILE_LINE, pt_update_info::assignment, cubregex::count(), pt_statement_info::delete_, do_check_internal_statements(), ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, ER_LK_UNILATERALLY_ABORTED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), err, pt_spec_info::flag, pt_spec_info::flat_entity_list, free_and_init, parser_node::info, pt_statement_info::insert, mq_generate_name(), pt_statement_info::name, parser_node::next, NO_ERROR, NULL, pt_update_info::object_parameter, pt_name_info::original, pt_count_assignments(), pt_get_next_assignment(), pt_init_assignments_helper(), PT_INTERNAL_ERROR, PT_SPEC_FLAG_DELETE, PT_SPEC_FLAG_UPDATE, pt_delete_info::spec, pt_insert_info::spec, pt_update_info::spec, pt_statement_info::spec, pt_name_info::spec_id, tr_abort(), tr_after(), tr_before(), tr_Current_depth, TR_EVENT_STATEMENT_DELETE, TR_EVENT_STATEMENT_INSERT, TR_EVENT_STATEMENT_UPDATE, tr_get_execution_state(), tr_prepare_statement(), tr_savepoint_number, tran_abort_upto_system_savepoint(), tran_system_savepoint(), and pt_statement_info::update.
Referenced by do_check_delete_trigger(), do_check_insert_trigger(), and do_check_update_trigger().
|
static |
Definition at line 5263 of file execute_statement.c.
References PT_EV_ABORT, PT_EV_ALTER, PT_EV_COMMIT, PT_EV_DELETE, PT_EV_DROP, PT_EV_INSERT, PT_EV_ROLLBACK, PT_EV_STMT_DELETE, PT_EV_STMT_INSERT, PT_EV_STMT_UPDATE, PT_EV_TIMEOUT, PT_EV_UPDATE, TR_EVENT_ABORT, TR_EVENT_ALTER, TR_EVENT_COMMIT, TR_EVENT_DELETE, TR_EVENT_DROP, TR_EVENT_INSERT, TR_EVENT_NULL, TR_EVENT_ROLLBACK, TR_EVENT_STATEMENT_DELETE, TR_EVENT_STATEMENT_INSERT, TR_EVENT_STATEMENT_UPDATE, TR_EVENT_TIMEOUT, and TR_EVENT_UPDATE.
Referenced by convert_speclist_to_objlist().
|
static |
Definition at line 5353 of file execute_statement.c.
References PT_ACTIVE, PT_INACTIVE, TR_STATUS_ACTIVE, and TR_STATUS_INACTIVE.
Referenced by do_alter_trigger().
|
static |
Definition at line 5321 of file execute_statement.c.
References PT_AFTER, PT_BEFORE, PT_DEFERRED, TR_TIME_AFTER, TR_TIME_BEFORE, TR_TIME_DEFERRED, and TR_TIME_NULL.
|
static |
Definition at line 5393 of file execute_statement.c.
References pt_trigger_spec_list_info::all_triggers, assert, pt_event_target_info::attribute, pt_event_target_info::class_name, convert_event_to_tr_event(), db_find_class(), er_errid(), error(), pt_trigger_spec_list_info::event_list, pt_statement_info::event_spec, pt_event_spec_info::event_target, pt_statement_info::event_target, pt_event_spec_info::event_type, parser_node::info, merge_mop_list_extension(), ml_ext_add(), ml_ext_free(), pt_statement_info::name, parser_node::next, NO_ERROR, NULL, pt_name_info::original, tr_find_all_triggers(), tr_find_event_triggers(), tr_find_trigger(), pt_trigger_spec_list_info::trigger_name_list, and pt_statement_info::trigger_spec_list.
Referenced by do_alter_trigger(), do_drop_trigger(), do_execute_trigger(), and do_remove_trigger().
Definition at line 13810 of file execute_statement.c.
References db_get_class_name(), and db_make_string().
Definition at line 13841 of file execute_statement.c.
References db_make_null(), and db_value_print().
|
static |
Definition at line 9555 of file execute_statement.c.
References assert, cleanup(), cubregex::count(), cursor_close(), cursor_get_tuple_value_list(), cursor_next_tuple(), cursor_open(), DB_CURSOR_END, DB_CURSOR_SUCCESS, DB_FETCH_CLREAD_INSTWRITE, db_get_object(), db_is_deleted(), DB_IS_NULL, pt_name_info::db_object, db_private_alloc, db_private_free, pt_statement_info::delete_, delete_object_tuple(), delete_savepoint_number, do_Trigger_involved, er_clear(), er_errid(), ER_GENERIC_ERROR, ER_HEAP_UNKNOWN_OBJECT, ER_LK_UNILATERALLY_ABORTED, ER_OUT_OF_VIRTUAL_MEMORY, error(), pt_spec_info::flag, pt_spec_info::flat_entity_list, has_unique_constraint(), parser_node::info, locator_fetch_class(), locator_flush_instance(), mq_generate_name(), pt_statement_info::name, parser_node::next, NO_ERROR, NULL, PT_SPEC_FLAG_DELETE, cursor_id::query_id, qfile_list_id::query_id, parser_context::query_id, pt_delete_info::spec, pt_statement_info::spec, TM_TRAN_ISOLATION, tran_abort_upto_system_savepoint(), TRAN_REP_READ, tran_system_savepoint(), qfile_list_id::tuple_cnt, qfile_tuple_value_type_list::type_cnt, and qfile_list_id::type_list.
Referenced by delete_real_class(), and do_execute_delete().
|
static |
Definition at line 9478 of file execute_statement.c.
References ARG_FILE_LINE, assert, db_attribute_next(), db_drop(), db_elo_delete(), db_get(), db_get_attributes(), db_get_class(), db_get_elo(), DB_IS_NULL, DB_TYPE_BLOB, DB_TYPE_CLOB, db_value_clear(), db_value_type(), ER_GENERIC_ERROR, ER_OBJ_INVALID_ARGUMENTS, er_set(), ER_WARNING_SEVERITY, error(), sm_attribute::header, pr_type::id, sm_component::name, NO_ERROR, NULL, and sm_attribute::type.
Referenced by delete_list_by_oids(), do_replace_into(), and update_object_tuple().
|
static |
Definition at line 9900 of file execute_statement.c.
References assert, build_xasl_for_server_delete(), cursor_free_self_list_id, DB_FETCH_READ, pt_statement_info::delete_, delete_list_by_oids(), er_errid(), error(), pt_delete_info::hint, parser_node::info, locator_fetch_class(), pt_statement_info::name, NO_ERROR, NULL, pt_name_info::original, pt_end_query(), PT_HINT_LK_TIMEOUT, PT_IS_HINT_NODE, PT_SPEC_FLAG_DELETE, parser_context::query_id, select_delete_list(), sm_class_has_triggers(), pt_delete_info::spec, TM_TRAN_WAIT_MSECS, TR_EVENT_DELETE, tran_reset_wait_times(), and pt_delete_info::waitsecs_hint.
Referenced by do_delete().
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().
int do_alter_trigger | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 6398 of file execute_statement.c.
References pt_statement_info::alter_trigger, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, au_change_trigger_owner_method(), CHECK_MODIFICATION_ERROR, tr_trigger::class_mop, cleanup(), pt_alter_trigger_info::comment, convert_misc_to_tr_status(), convert_speclist_to_objlist(), cubregex::count(), DB_FETCH_SCAN, db_get_error(), db_make_null(), db_make_string(), DB_TYPE_ERROR, DB_VALUE_TYPE, er_errid(), ER_LK_UNILATERALLY_ABORTED, error(), get_priority(), parser_node::info, locator_fetch_class(), locator_flush_instance(), ml_ext_free(), pt_statement_info::name, NO_ERROR, NULL, pt_name_info::original, pr_clear_value(), PT_ACTIVE, PT_INACTIVE, PT_VALUE, TM_TRAN_ISOLATION, tr_check_authorization(), TR_LOWEST_PRIORITY, tr_map_trigger(), tr_set_comment(), tr_set_priority(), tr_set_status(), TR_STATUS_INVALID, tran_abort_upto_system_savepoint(), TRAN_REP_READ, tran_system_savepoint(), pt_trigger_spec_list_info::trigger_name_list, pt_alter_trigger_info::trigger_owner, pt_alter_trigger_info::trigger_priority, pt_alter_trigger_info::trigger_spec_list, pt_statement_info::trigger_spec_list, pt_alter_trigger_info::trigger_status, and UNIQUE_SAVEPOINT_ALTER_TRIGGER.
Referenced by do_execute_statement(), and do_statement().
int do_attach | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 4396 of file execute_statement.c.
References pt_statement_info::attach, db_2pc_attach_transaction(), ER_GENERIC_ERROR, parser_node::info, parser_node::node_type, PT_2PC_ATTACH, pt_has_error, and pt_attach_info::trans_id.
Referenced by do_execute_statement(), and do_statement().
int do_call_method | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 13753 of file execute_statement.c.
References ARG_FILE_LINE, call_method(), er_errid(), ER_OBJ_INVALID_ARGUMENTS, er_set(), ER_WARNING_SEVERITY, parser_node::info, jsp_call_stored_procedure(), pt_statement_info::method_call, pt_method_call_info::method_name, pt_statement_info::name, parser_node::node_type, pt_method_call_info::on_call_target, pt_name_info::original, and PT_NAME.
Referenced by do_execute_statement(), do_statement(), and pt_evaluate_tree_internal().
int do_change_auto_increment_serial | ( | PARSER_CONTEXT *const | parser, |
MOP | serial_obj, | ||
PT_NODE * | node_new_val | ||
) |
Definition at line 1029 of file execute_statement.c.
References assert, cmp, db_get(), db_get_int(), db_make_int(), db_make_null(), DB_MAX_NUMERIC_PRECISION, DB_TYPE_NUMERIC, db_value_clear(), db_value_domain_init(), dbt_abort_object(), dbt_edit_object(), dbt_finish_object(), dbt_put_internal(), ER_AUTO_INCREMENT_NEWVAL_MUST_LT_MAXVAL, er_errid(), ER_OBJ_INVALID_ARGUMENTS, ERROR0, locator_flush_instance(), NO_ERROR, NULL, numeric_db_value_coerce_to_num(), numeric_db_value_compare(), pt_value_to_db(), SERIAL_ATTR_CURRENT_VAL, SERIAL_ATTR_MAX_VAL, SERIAL_ATTR_MIN_VAL, and SERIAL_ATTR_STARTED.
Referenced by do_alter_change_auto_increment().
int do_check_delete_trigger | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement, | ||
PT_DO_FUNC * | do_func | ||
) |
Definition at line 5940 of file execute_statement.c.
References ARG_FILE_LINE, check_trigger(), pt_delete_info::del_stmt_list, pt_statement_info::delete_, do_check_for_empty_classes_in_delete(), ER_BLOCK_NOWHERE_STMT, ER_ERROR_SEVERITY, er_set(), error(), parser_node::flag, parser_node::info, parser_node::next, NO_ERROR, NULL, prm_get_bool_value(), PRM_ID_BLOCK_NOWHERE_STATEMENT, pt_delete_info::search_cond, TR_EVENT_STATEMENT_DELETE, and parser_node::use_auto_commit.
Referenced by do_execute_statement(), and do_statement().
|
static |
Definition at line 5735 of file execute_statement.c.
References assert, AU_DISABLE, AU_ENABLE, cleanup(), DB_PARTITIONED_CLASS, db_private_alloc, db_private_free, pt_delete_info::del_stmt_list, pt_statement_info::delete_, DONT_DECACHE, er_errid(), ER_GENERIC_ERROR, ER_OUT_OF_VIRTUAL_MEMORY, error(), free_and_init, heap_has_instance(), if(), parser_node::info, LC_CLASSNAME_EXIST, LC_PREF_FLAG_LOCK, locator_flush_all_instances(), locator_lockhint_classes(), parser_node::next, NO_ERROR, NULL, NULL_LOCK, PT_ALL, sm_get_ch_heap(), sm_partitioned_class_type(), ws_oid(), and X_LOCK.
Referenced by do_check_delete_trigger().
|
static |
Definition at line 11393 of file execute_statement.c.
References error(), parser_node::info, pt_statement_info::insert, is_server_insert_allowed(), NO_ERROR, parser_node::node_type, NULL, PT_INSERT, PT_STOP_WALK, pt_insert_info::server_allowed, and SERVER_INSERT_IS_ALLOWED.
Referenced by is_server_insert_allowed().
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().
int do_check_internal_statements | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement, | ||
PT_DO_FUNC | do_func | ||
) |
Definition at line 3854 of file execute_statement.c.
References ARG_FILE_LINE, Au_dba_user, AU_DISABLE, AU_ENABLE, Au_user, db_compile_and_execute_local(), er_log_debug, error(), parser_node::etc, parser_node::info, parser_node::next, NO_ERROR, NULL, parent_parser, parser, parser_print_tree(), parser_walk_tree(), pt_bind_param_node(), pt_value_info::text, tran_abort_upto_system_savepoint(), tran_system_savepoint(), UNIQUE_SAVEPOINT_EXTERNAL_STATEMENT, and pt_statement_info::value.
Referenced by check_merge_trigger(), check_trigger(), do_execute_statement(), and do_statement().
int do_check_merge_trigger | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement, | ||
PT_DO_FUNC * | do_func | ||
) |
Definition at line 15245 of file execute_statement.c.
References ARG_FILE_LINE, check_merge_trigger(), ER_BLOCK_NOWHERE_STMT, ER_ERROR_SEVERITY, er_set(), err, parser_node::flag, parser_node::info, pt_statement_info::merge, NULL, prm_get_bool_value(), PRM_ID_BLOCK_NOWHERE_STATEMENT, pt_merge_info::search_cond, and parser_node::use_auto_commit.
Referenced by do_execute_statement(), and do_statement().
int do_check_update_trigger | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement, | ||
PT_DO_FUNC * | do_func | ||
) |
Definition at line 6106 of file execute_statement.c.
References ARG_FILE_LINE, check_trigger(), ER_BLOCK_NOWHERE_STMT, ER_ERROR_SEVERITY, er_set(), err, parser_node::flag, parser_node::info, NULL, prm_get_bool_value(), PRM_ID_BLOCK_NOWHERE_STATEMENT, pt_update_info::search_cond, TR_EVENT_STATEMENT_UPDATE, pt_statement_info::update, and parser_node::use_auto_commit.
Referenced by do_execute_statement(), and do_statement().
|
static |
Definition at line 17051 of file execute_statement.c.
References db_make_null(), db_value_clear(), parser_node::info, pt_statement_info::insert, pt_node_list_info::list, pt_node_list_info::list_type, parser_node::next, pt_statement_info::node_list, parser_node::node_type, NULL, PT_INSERT, PT_IS_INSERT_VALUE_NODE, PT_IS_VALUE, PT_IS_VALUE_NODE, and pt_insert_info::value_clauses.
Referenced by do_insert_template().
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().
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().
|
static |
Definition at line 11463 of file execute_statement.c.
References obj_template::assignments, sm_class_constraint::attributes, db_midxkey::buf, db_constraint_asc_desc(), DB_IS_NULL, db_make_midxkey(), db_private_alloc, db_private_free, DB_TYPE_MIDXKEY, db_midxkey::domain, db_value::domain, ER_FAILED, error(), pr_type::get_index_size_of_value(), i, tp_domain::is_desc, MIN_COLUMN, db_midxkey::min_max_val, db_midxkey::ncolumns, db_value::need_clear, tp_domain::next, NO_ERROR, NULL, OR_BUF_INIT, OR_CLEAR_BOUND_BIT, OR_ENABLE_BOUND_BIT, OR_MULTI_BOUND_BIT_BYTES, special_column::position, db_midxkey::size, tp_domain_cache(), tp_domain_construct(), tp_domain_copy(), tp_domain_free(), tp_domain::type, special_column::type, and obj_tempassign::variable.
Referenced by do_find_unique_constraint_violations().
|
static |
Definition at line 11607 of file execute_statement.c.
References assert, pt_update_info::assignment, pt_statement_info::check_option, pt_update_info::check_where, pt_check_option_info::expr, pt_spec_info::flag, pt_spec_info::id, parser_node::info, pt_statement_info::insert, parser_node::node_type, NULL, pt_insert_info::odku_assignments, parser_free_tree(), parser_new_node(), PT_CHECK_OPTION, PT_INSERT, PT_INTERNAL_ERROR, PT_SPEC_FLAG_UPDATE, PT_UPDATE, pt_insert_info::spec, pt_update_info::spec, pt_statement_info::spec, pt_check_option_info::spec_id, pt_statement_info::update, and pt_insert_info::where.
Referenced by do_insert_checks(), and insert_subquery_results().
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().
|
static |
Definition at line 642 of file execute_statement.c.
References ARG_FILE_LINE, assert, AU_DISABLE, AU_ENABLE, Au_user, CT_SERIAL_NAME, db_make_int(), db_make_null(), db_make_object(), db_make_string(), dbt_abort_object(), dbt_create_object_internal(), dbt_finish_object(), dbt_put_internal(), er_errid(), ER_ERROR_SEVERITY, ER_QPROC_DB_SERIAL_NOT_FOUND, er_set(), error(), NO_ERROR, NULL, pr_clear_value(), SERIAL_ATTR_ATT_NAME, 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_NAME, SERIAL_ATTR_OWNER, SERIAL_ATTR_STARTED, and sm_find_class().
Referenced by do_create_auto_increment_serial(), and do_create_serial().
int do_create_trigger | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 6199 of file execute_statement.c.
References ARG_FILE_LINE, assert, au_fetch_class(), AU_FETCH_READ, AU_SELECT, parser_varchar::bytes, CHECK_MODIFICATION_ERROR, pt_create_trigger_info::comment, pt_statement_info::create_trigger, pt_value_info::data_value, db_find_class(), db_get_attributes(), db_make_object(), db_value_create(), er_errid(), ER_ERROR_SEVERITY, ER_INVALID_PARTITION_REQUEST, ER_REGU_NOT_IMPLEMENTED, er_set(), ER_WARNING_SEVERITY, error(), parser_node::etc, get_activity_info(), get_priority(), parser_node::info, locator_all_flush(), NO_ERROR, parser_node::node_type, NULL, sm_class::partition, PT_NODE_ACTION, PT_NODE_ACTION_TIME, PT_NODE_COND, PT_NODE_COND_TIME, PT_NODE_TR_EVENT_TYPE, PT_NODE_TR_NAME, PT_NODE_TR_PRI, PT_NODE_TR_STATUS, PT_NODE_TR_TARGET, PT_TR_ATTR_NAME, PT_TR_TARGET_ATTR, PT_TR_TARGET_CLASS, PT_VALUE, rel_major_release_string(), pt_data_value::str, TM_TRAN_ISOLATION, tr_create_trigger(), TR_LOWEST_PRIORITY, TRAN_REP_READ, sm_class::users, and pt_statement_info::value.
Referenced by do_execute_statement(), and do_statement().
int do_delete | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 10013 of file execute_statement.c.
References AU_DISABLE, AU_ENABLE, parser_context::au_save, CHECK_MODIFICATION_ERROR, db_abort_to_savepoint(), pt_statement_info::delete_, delete_real_class(), delete_savepoint_number, ER_GENERIC_ERROR, ER_LK_UNILATERALLY_ABORTED, error(), parser_node::info, mq_generate_name(), parser_node::next, NO_ERROR, parser_node::node_type, NULL, PT_DELETE, pt_false_where(), PT_INTERNAL_ERROR, pt_delete_info::spec, and tran_system_savepoint().
Referenced by do_statement().
int do_drop_serial | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 2833 of file execute_statement.c.
References ARG_FILE_LINE, au_check_serial_authorization(), AU_DISABLE, AU_ENABLE, CHECK_MODIFICATION_ERROR, CT_SERIAL_NAME, db_drop(), db_get(), DB_IS_NULL, db_make_null(), do_get_serial_obj_id(), ER_ERROR_SEVERITY, ER_QPROC_CANNOT_UPDATE_SERIAL, ER_QPROC_DB_SERIAL_NOT_FOUND, ER_QPROC_SERIAL_NOT_FOUND, er_set(), error(), pt_serial_info::if_exists, parser_node::info, MSGCAT_RUNTIME_RT_SERIAL_ALTER_NOT_ALLOWED, MSGCAT_RUNTIME_RT_SERIAL_NOT_DEFINED, MSGCAT_RUNTIME_SERIAL_IS_AUTO_INCREMENT_OBJ, MSGCAT_SET_PARSER_RUNTIME, NO_ERROR, NULL, OID_ISNULL, OID_SET_NULL, pr_clear_value(), PT_ERRORmf, PT_NODE_SR_NAME, pt_statement_info::serial, SERIAL_ATTR_CLASS_NAME, serial_decache(), and sm_find_class().
Referenced by do_execute_statement(), and do_statement().
int do_drop_session_variables | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 15180 of file execute_statement.c.
References ARG_FILE_LINE, assert, cleanup(), cubregex::count(), csession_drop_session_variables(), pt_statement_info::drop_session_var, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, i, parser_node::info, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pr_clear_value(), pr_clone_value(), PT_DROP_SESSION_VARIABLES, pt_value_to_db(), and pt_drop_session_var_info::variables.
Referenced by do_execute_statement().
int do_drop_trigger | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 6339 of file execute_statement.c.
References assert, CHECK_MODIFICATION_ERROR, convert_speclist_to_objlist(), pt_statement_info::drop_trigger, er_errid(), ER_TR_TRIGGER_NOT_FOUND, error(), parser_node::info, ml_ext_free(), db_objlist::next, NO_ERROR, NULL, db_objlist::op, tr_check_authorization(), tr_drop_trigger(), and pt_drop_trigger_info::trigger_spec_list.
Referenced by do_execute_statement(), and do_statement().
int do_evaluate | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 10671 of file execute_statement.c.
References db_make_null(), db_value_copy(), ER_GENERIC_ERROR, ER_PT_SEMANTIC, error(), parser_node::etc, pt_statement_info::evaluate, pt_evaluate_info::expression, parser_node::info, pt_evaluate_info::into_var, pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, pt_name_info::original, pr_clear_value(), pt_associate_label_with_value_check_reference(), pt_evaluate_tree(), pt_has_error, PT_NAME, pt_report_to_ersys(), and PT_SEMANTIC.
Referenced by do_execute_statement(), and do_statement().
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().
|
static |
Definition at line 16816 of file execute_statement.c.
References assert, eval_insert_value::attr_list, pt_insert_info::attr_list, parser_node::column_number, eval_insert_value::crt_attr_index, db_make_null(), db_value_clear(), db_value_clone(), do_replace_names_for_insert_values_pre(), er_errid(), ER_FAILED, pt_spec_info::id, parser_node::info, pt_statement_info::insert, pt_statement_info::insert_value, pt_insert_value_info::is_evaluated, parser_node::line_number, pt_node_list_info::list, MSGCAT_RUNTIME__CAN_NOT_EVALUATE, MSGCAT_RUNTIME_OUT_OF_MEMORY, MSGCAT_SET_PARSER_RUNTIME, parser_node::next, NO_ERROR, pt_statement_info::node_list, NULL, pt_insert_value_info::original_node, parser_copy_tree(), parser_free_tree(), parser_walk_tree(), pr_clear_value(), pt_continue_walk(), pt_dbval_to_value(), PT_ERRORmf, pt_evaluate_tree_having_serial(), pt_has_error, pt_insert_value(), PT_IS_CONST, PT_IS_INSERT_VALUE_NODE, PT_IS_SUBQUERY, PT_IS_VALUE, PT_IS_VALUE_NODE, PT_NODE_LIST, pt_short_print(), eval_insert_value::reevaluate_needed, eval_insert_value::replace_names, pt_insert_value_info::replace_names, pt_insert_info::spec, pt_statement_info::spec, eval_insert_value::spec_id, pt_insert_value_info::value, pt_insert_info::value_clauses, and eval_insert_value::value_list.
Referenced by do_insert_template().
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().
int do_execute_do | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 15015 of file execute_statement.c.
References assert, AU_DISABLE, AU_ENABLE, parser_context::au_save, parser_context::auto_param_count, xasl_stream::buffer, xasl_stream::buffer_size, DEFAULT_EXEC_MODE, do_send_plan_trace_to_session(), do_set_trace_to_query_flag(), er_errid(), error(), parser_node::etc, parser_context::flag, free_and_init, parser_context::host_var_count, parser_context::host_variables, init_xasl_stream(), parser_context::is_auto_commit, NO_ERROR, NOT_FROM_RESULT_CACHE, NULL, parser_generate_do_stmt_xasl(), prepare_and_execute_query(), prm_get_bool_value(), PRM_ID_QUERY_TRACE, pt_enter_packing_buf(), PT_EXECUTION, pt_exit_packing_buf(), pt_has_error, pt_null_etc(), pt_report_to_ersys(), parser_context::query_id, parser_context::query_trace, RESULT_CACHE_INHIBITED, TRAN_AUTO_COMMIT, and xts_map_xasl_to_stream().
Referenced by do_execute_statement(), and do_statement().
int do_execute_insert | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 13463 of file execute_statement.c.
References assert, parser_context::auto_param_count, call_method(), CHECK_MODIFICATION_ERROR, cursor_free_self_list_id, pt_name_info::db_object, DEFAULT_EXEC_MODE, do_insert(), do_send_plan_trace_to_session(), do_set_trace_to_query_flag(), err, parser_node::etc, execute_query(), EXECUTE_QUERY_WITH_COMMIT, parser_node::flag, parser_context::flag, pt_spec_info::flat_entity_list, parser_context::host_var_count, parser_context::host_variables, if(), parser_node::info, pt_statement_info::insert, parser_context::is_auto_commit, parser_context::is_xasl_pinned_reference, pt_statement_info::name, NO_ERROR, NOT_FROM_RESULT_CACHE, NULL, prm_get_bool_value(), PRM_ID_QUERY_TRACE, pt_end_query(), qo_need_skip_execution(), parser_context::query_id, parser_context::query_trace, RESULT_CACHE_INHIBITED, RETURN_GENERATED_KEYS, parser_context::return_generated_keys, pt_insert_info::spec, pt_statement_info::spec, TRAN_AUTO_COMMIT, tran_flush_to_commit(), qfile_list_id::tuple_cnt, parser_node::use_auto_commit, ws_need_flush(), XASL_CACHE_PINNED_REFERENCE, and parser_node::xasl_id.
Referenced by do_execute_statement().
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().
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().
int do_execute_session_statement | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 14294 of file execute_statement.c.
References parser_context::abort, ARG_FILE_LINE, 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, CUBRID_STMT_EXECUTE_PREPARE, cursor_close(), cursor_get_tuple_value_list(), cursor_next_tuple(), cursor_open(), DB_CURSOR_SUCCESS, db_value_clear(), db_value_copy(), DEFAULT_EXEC_MODE, do_send_plan_trace_to_session(), do_set_trace_to_query_flag(), er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), err, parser_node::etc, pt_statement_info::execute, execute_query(), parser_node::flag, parser_context::flag, free_and_init, parser_context::host_var_count, parser_context::host_variables, i, parser_node::info, pt_execute_info::into_list, parser_context::is_auto_commit, parser_context::is_holdable, parser_context::is_xasl_pinned_reference, NO_ERROR, NULL, pt_execute_info::oids_included, parser_walk_tree(), prm_get_bool_value(), PRM_ID_QUERY_TRACE, pt_associate_label_with_value_check_reference(), pt_flush_classes(), pt_length_of_list(), PT_NAME, pt_node_to_cmd_type(), cursor_id::query_id, parser_context::query_id, parser_context::query_trace, RESULT_HOLDABLE, TRAN_AUTO_COMMIT, ws_has_updated(), XASL_CACHE_PINNED_REFERENCE, and parser_node::xasl_id.
Referenced by do_execute_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().
int do_execute_trigger | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 6580 of file execute_statement.c.
References CHECK_MODIFICATION_ERROR, convert_speclist_to_objlist(), error(), pt_statement_info::execute_trigger, parser_node::info, ml_ext_free(), db_objlist::next, NO_ERROR, NULL, db_objlist::op, tr_execute_deferred_activities(), and pt_execute_trigger_info::trigger_spec_list.
Referenced by do_execute_statement(), and do_statement().
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().
|
static |
Definition at line 11673 of file execute_statement.c.
References obj_template::assignments, sm_class_constraint::attributes, BTID_COPY, BTREE_ERROR_OCCURRED, btree_find_multi_uniques(), obj_template::class_, obj_template::classobj, cleanup(), sm_class::constraints, db_make_null(), db_private_alloc, db_private_free, do_create_midxkey_for_constraint(), ER_FAILED, error(), i, sm_class_constraint::index_btid, sm_class_constraint::next, NO_ERROR, NULL, obt_populate_known_arguments(), pr_clear_value(), pr_clone_value(), obj_template::pruning_type, qo_get_optimization_param(), QO_PARAM_LEVEL, S_DELETE, S_UPDATE, SM_IS_CONSTRAINT_UNIQUE_FAMILY, sm_class_constraint::type, obj_tempassign::variable, and ws_oid().
Referenced by do_on_duplicate_key_update(), and do_replace_into().
int do_get_optimization_param | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 4753 of file execute_statement.c.
References pt_get_opt_lvl_info::args, assert, db_get_string(), db_make_int(), db_make_null(), db_make_string(), db_private_alloc, db_value_copy(), db_value_create(), er_errid(), ER_OBJ_INVALID_ARGUMENTS, ER_OUT_OF_VIRTUAL_MEMORY, error(), parser_node::etc, pt_statement_info::get_opt_lvl, i, parser_node::info, pt_get_opt_lvl_info::into_var, pt_statement_info::name, db_value::need_clear, NO_ERROR, parser_node::node_type, NULL, pt_get_opt_lvl_info::option, pt_name_info::original, pr_clear_value(), pt_associate_label_with_value_check_reference(), pt_evaluate_tree(), pt_has_error, PT_NAME, PT_OPT_COST, PT_OPT_LVL, qo_get_optimization_param(), QO_PARAM_COST, and QO_PARAM_LEVEL.
Referenced by do_execute_statement(), and do_statement().
int do_get_serial_cached_num | ( | int * | cached_num, |
MOP | serial_obj | ||
) |
Definition at line 1253 of file execute_statement.c.
References assert, db_get(), db_get_int(), DB_TYPE_INTEGER, DB_VALUE_TYPE, error(), NO_ERROR, and SERIAL_ATTR_CACHED_NUM.
Referenced by db_get_serial_current_value(), db_get_serial_next_value_ex(), populate_auto_increment(), pt_evaluate_tree_internal(), and pt_to_regu_variable().
MOP do_get_serial_obj_id | ( | DB_IDENTIFIER * | serial_obj_id, |
DB_OBJECT * | serial_class_mop, | ||
const char * | serial_name | ||
) |
Definition at line 1184 of file execute_statement.c.
References ARG_FILE_LINE, assert, AU_DISABLE, AU_ENABLE, db_find_unique(), db_make_string(), er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_OBJ_OBJECT_NOT_FOUND, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), free_and_init, intl_identifier_lower(), intl_identifier_lower_string_size(), NO_ERROR, NULL, OID_SET_NULL, p, pr_clear_value(), SERIAL_ATTR_NAME, and ws_identifier().
Referenced by au_change_serial_owner_method(), db_get_serial_current_value(), db_get_serial_next_value_ex(), disk_to_class(), do_alter_serial(), do_change_att_schema_only(), do_create_auto_increment_serial(), do_create_serial(), do_drop_serial(), do_find_auto_increment_serial(), do_update_maxvalue_of_auto_increment_serial(), populate_auto_increment(), and pt_resolve_serial().
int do_get_stats | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 4317 of file execute_statement.c.
References pt_get_stats_info::args, assert, check_timeout_value(), pt_get_stats_info::class_, db_find_class(), db_get_string(), DB_IS_NULL, db_make_null(), pt_name_info::db_object, db_value_copy(), db_value_create(), er_errid(), ER_OBJ_INVALID_ARGUMENTS, error(), parser_node::etc, get_savepoint_name_from_db_value(), pt_statement_info::get_stats, parser_node::info, pt_get_stats_info::into_var, make_cst_item_value(), map_iso_levels(), pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, pt_name_info::original, pr_clear_value(), pt_associate_label_with_value_check_reference(), pt_check_user_owns_class(), pt_evaluate_tree(), pt_has_error, PT_NAME, and set_iso_level().
Referenced by do_execute_statement(), and do_statement().
int do_get_trigger | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 6749 of file execute_statement.c.
References assert, db_make_int(), db_make_null(), db_value_copy(), db_value_create(), er_errid(), error(), parser_node::etc, pt_statement_info::get_trigger, parser_node::info, pt_get_trigger_info::into_var, pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, pt_set_trigger_info::option, pt_name_info::original, pt_associate_label_with_value_check_reference(), PT_NAME, PT_TRIGGER_DEPTH, PT_TRIGGER_TRACE, pt_statement_info::set_trigger, tr_get_depth(), and tr_get_trace().
Referenced by do_execute_statement(), and do_statement().
int do_get_xaction | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 4557 of file execute_statement.c.
References assert, db_make_float(), db_make_int(), db_value_create(), er_errid(), error(), parser_node::etc, pt_statement_info::get_xaction, parser_node::info, pt_get_xaction_info::into_var, pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, pt_get_xaction_info::option, pt_name_info::original, pt_associate_label_with_value_check_reference(), PT_ISOLATION_LEVEL, PT_LOCK_TIMEOUT, PT_NAME, TRAN_ASYNC_WS_BIT, tran_get_tran_settings(), and TRAN_UNKNOWN_ISOLATION.
Referenced by do_execute_statement(), and do_statement().
int do_insert | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | root_statement | ||
) |
Definition at line 13341 of file execute_statement.c.
References parser_context::abort, assert, CHECK_MODIFICATION_ERROR, er_errid(), error(), parser_context::error_msgs, parser_node::etc, parser_context::flag, insert_local(), parser_node::next, NO_ERROR, NULL, parser_free_tree(), PT_EXECUTION, pt_has_error, and pt_report_to_ersys().
Referenced by do_execute_insert(), do_statement(), and pt_evaluate_tree_internal().
|
static |
Definition at line 11004 of file execute_statement.c.
References assert, AU_RESTORE, AU_SAVE_AND_ENABLE, parser_context::auto_param_count, xasl_stream::buffer, xasl_stream::buffer_size, cubregex::count(), cursor_free_self_list_id, pt_name_info::db_object, DEFAULT_EXEC_MODE, pt_insert_info::do_replace, do_Trigger_involved, er_errid(), ER_GENERIC_ERROR, error(), parser_node::etc, parser_node::flag, parser_context::flag, pt_spec_info::flat_entity_list, free_and_init, parser_context::host_var_count, parser_context::host_variables, parser_node::info, init_xasl_stream(), pt_statement_info::insert, parser_context::is_auto_commit, MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, pt_insert_info::odku_assignments, prepare_and_execute_query(), pt_end_query(), pt_enter_packing_buf(), PT_ERRORm, pt_exit_packing_buf(), PT_INSERT, pt_to_insert_xasl(), parser_context::query_id, parser_context::return_generated_keys, sm_decache_instances_after_query_executed_with_commit(), sm_flush_and_decache_objects(), pt_insert_info::spec, pt_statement_info::spec, TRAN_AUTO_COMMIT, tran_was_latest_query_committed(), TRIGGER_IS_INVOLVED, qfile_list_id::tuple_cnt, parser_node::use_auto_commit, and xts_map_xasl_to_stream().
Referenced by do_insert_template().
|
static |
Definition at line 17616 of file execute_statement.c.
References ARG_FILE_LINE, ASSERT_ERROR, ASSERT_ERROR_AND_SET, pt_insert_info::attr_list, check_missing_non_null_attrs(), DB_FETCH_CLREAD_INSTWRITE, do_create_odku_stmt(), pt_insert_info::do_replace, ER_ERROR_SEVERITY, ER_FAILED, ER_REPLACE_ODKU_NOT_ALLOWED, er_set(), error(), pt_insert_info::execute_with_commit_allowed, pt_insert_info::hint, parser_node::info, pt_statement_info::insert, is_replace_or_odku_allowed(), is_server_insert_allowed(), is_server_update_allowed(), pt_node_list_info::list_type, locator_fetch_class(), NO_ERROR, pt_statement_info::node_list, NULL, pt_insert_info::odku_assignments, pt_insert_info::odku_non_null_attrs, PT_HINT_USE_SBR, PT_IS_DEFAULT_VALUE, pt_insert_info::server_allowed, SERVER_INSERT_IS_ALLOWED, SERVER_INSERT_IS_NOT_ALLOWED, sm_class_has_triggers(), pt_insert_info::spec, and TR_EVENT_STATEMENT_INSERT.
Referenced by do_insert_template(), and do_prepare_insert().
|
static |
Definition at line 12007 of file execute_statement.c.
References parser_context::abort, ARG_FILE_LINE, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, pt_update_info::assignment, pt_insert_info::attr_list, pt_statement_info::check_option, pt_update_info::check_where, pt_insert_info::class_specs, cleanup(), parser_context::custom_print, db_error_string(), db_free_attribute_descriptor(), db_get_attribute_descriptor(), db_get_object(), db_is_vclass(), db_make_null(), db_make_object(), db_make_sequence(), DB_NOT_PARTITIONED_CLASS, pt_name_info::db_object, db_value_create(), dbt_abort_object(), dbt_create_object_internal(), dbt_finish_object(), dbt_set_label(), do_clear_insert_values(), do_evaluate_insert_values(), do_insert_at_server(), do_insert_checks(), do_on_duplicate_key_update(), pt_insert_info::do_replace, do_replace_into(), er_clear(), ER_DO_INSERT_TOO_MANY, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), parser_node::etc, pt_check_option_info::expr, pt_spec_info::flag, parser_context::flag, pt_spec_info::flat_entity_list, free_and_init, pt_insert_info::hint, i, if(), parser_node::info, pt_statement_info::insert, insert_object_attr(), insert_subquery_results(), pt_insert_info::into_var, pt_node_list_info::list, pt_node_list_info::list_type, log_get_mvcc_snapshot(), make_vmops(), pt_name_info::meta_class, mq_evaluate_check_option(), MSGCAT_RUNTIME_DBT_PUT_ERROR, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, parser_node::next, NO_ERROR, pt_statement_info::node_list, NULL, obt_quit(), obt_retain_after_finish(), obt_set_force_flush(), pt_insert_info::odku_assignments, pt_insert_info::odku_non_null_attrs, pt_name_info::original, parser_free_tree(), parser_walk_tree(), pt_associate_label_with_value_check_reference(), pt_chop_trailing_dots(), PT_ERRORmf3, pt_find_value_of_label(), pt_has_error, PT_HINT_LK_TIMEOUT, PT_INSERT_VALUE, PT_IS_DEFAULT_VALUE, PT_IS_HINT_NODE, PT_IS_NAME_NODE, PT_IS_SUBQUERY, PT_IS_VALUE, pt_length_of_list(), PT_PARAMETER, PT_PRINT_DB_VALUE, pt_short_print(), qo_get_optimization_param(), qo_need_skip_execution(), QO_PARAM_LEVEL, parser_context::return_generated_keys, pt_insert_info::server_allowed, SERVER_INSERT_IS_ALLOWED, set_create_sequence(), set_free(), set_put_element(), sm_partitioned_class_type(), pt_insert_info::spec, pt_update_info::spec, pt_statement_info::spec, TM_TRAN_ISOLATION, TM_TRAN_WAIT_MSECS, TRAN_REP_READ, tran_reset_wait_times(), pt_statement_info::update, pt_insert_info::value_clauses, pt_insert_info::waitsecs_hint, and pt_insert_info::where.
Referenced by insert_local().
int do_kill | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 17445 of file execute_statement.c.
References ARG_FILE_LINE, assert, au_is_dba_group_member(), Au_user, pt_value_info::data_value, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, i, pt_data_value::i, parser_node::info, pt_killstmt_info::kill_type, pt_statement_info::killstmt, KILLSTMT_QUERY, parser_node::next, NO_ERROR, NULL, pt_length_of_list(), PT_TYPE_INTEGER, thread_kill_or_interrupt_tran(), pt_killstmt_info::tran_id_list, parser_node::type_enum, and pt_statement_info::value.
Referenced by do_execute_statement().
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().
|
static |
Definition at line 11841 of file execute_statement.c.
References assert, assert_release, cleanup(), do_find_unique_constraint_violations(), free_and_init, parser_node::info, NO_ERROR, NULL, pt_update_info::object, ON_DUPLICATE_KEY_UPDATE, pt_statement_info::update, update_object_by_oid(), and ws_mop().
Referenced by do_insert_template(), and insert_subquery_results().
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().
int do_prepare_insert | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 13394 of file execute_statement.c.
References assert, ASSERT_ERROR, pt_update_info::assignment, AU_DISABLE, AU_ENABLE, pt_statement_info::check_option, pt_update_info::check_where, cleanup(), do_insert_checks(), do_prepare_insert_internal(), ER_GENERIC_ERROR, error(), parser_node::etc, pt_check_option_info::expr, pt_spec_info::flat_entity_list, parser_node::info, pt_statement_info::insert, NO_ERROR, parser_node::node_type, NULL, parser_free_tree(), PT_INSERT, pt_length_of_list(), pt_insert_info::server_allowed, SERVER_INSERT_IS_ALLOWED, pt_insert_info::spec, pt_update_info::spec, pt_statement_info::spec, pt_statement_info::update, and pt_insert_info::value_clauses.
Referenced by do_prepare_statement().
|
static |
Definition at line 10823 of file execute_statement.c.
References parser_node::alias_print, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, xasl_stream::buffer, parser_node::cannot_prepare, parser_context::context, parser_context::dont_prt_long_string, xasl_node::dptr_list, er_errid(), ER_GENERIC_ERROR, error(), parser_node::flag, parser_context::flag, free_and_init, parser_node::info, init_xasl_stream(), pt_statement_info::insert, pt_node_list_info::list, parser_context::long_string_skipped, MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, parser_node::next, NO_ERROR, pt_statement_info::node_list, parser_node::node_type, NULL, prepare_query(), parser_context::print_type_ambiguity, PT_CONVERT_RANGE, pt_enter_packing_buf(), PT_ERRORm, pt_exit_packing_buf(), PT_INSERT, pt_is_const_not_hostvar, PT_IS_NULL_NODE, PT_NODE_PRINT_TO_ALIAS, PT_PRINT_QUOTES, PT_PRINT_USER, pt_rewrite_to_auto_param(), pt_to_insert_xasl(), parser_node::recompile, compile_context::recompile_xasl, 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, pt_insert_info::value_clauses, compile_context::xasl, xasl_stream::xasl_id, parser_node::xasl_id, and xts_map_xasl_to_stream().
Referenced by do_prepare_insert().
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().
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().
int do_prepare_session_statement | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 14269 of file execute_statement.c.
References ARG_FILE_LINE, assert, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), pt_statement_info::execute, parser_node::info, NO_ERROR, parser_node::node_type, NULL, PT_EXECUTE_PREPARE, pt_execute_info::xasl_id, parser_node::xasl_id, and XASL_ID_COPY.
Referenced by do_prepare_statement().
int do_prepare_statement | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 3380 of file execute_statement.c.
References do_prepare_delete(), do_prepare_insert(), do_prepare_merge(), do_prepare_select(), do_prepare_session_statement(), do_prepare_update(), er_errid(), ER_FAILED, ER_GENERIC_ERROR, err, init_compile_context(), NO_ERROR, parser_node::node_type, NULL, PT_DELETE, PT_DIFFERENCE, PT_EXECUTE_PREPARE, PT_INSERT, PT_INTERSECTION, PT_MERGE, PT_SELECT, PT_UNION, and PT_UPDATE.
Referenced by db_compile_statement_local(), db_execute_and_keep_statement_local(), and do_scope().
int do_prepare_to_commit | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 4416 of file execute_statement.c.
References db_2pc_prepare_to_commit_transaction(), ER_GENERIC_ERROR, parser_node::info, parser_node::node_type, pt_statement_info::prepare_to_commit, pt_has_error, PT_PREPARE_TO_COMMIT, and pt_attach_info::trans_id.
Referenced by do_execute_statement(), and do_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().
int do_remove_trigger | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 6612 of file execute_statement.c.
References CHECK_MODIFICATION_ERROR, convert_speclist_to_objlist(), error(), parser_node::info, ml_ext_free(), db_objlist::next, NO_ERROR, NULL, db_objlist::op, pt_statement_info::remove_trigger, tr_drop_deferred_activities(), and pt_remove_trigger_info::trigger_spec_list.
Referenced by do_execute_statement(), and do_statement().
int do_rename_trigger | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 6645 of file execute_statement.c.
References assert, CHECK_MODIFICATION_ERROR, er_errid(), error(), parser_node::info, pt_statement_info::name, pt_rename_trigger_info::new_name, NO_ERROR, NULL, pt_rename_trigger_info::old_name, pt_name_info::original, pt_statement_info::rename_trigger, tr_find_trigger(), and tr_rename_trigger().
Referenced by do_execute_statement(), and do_statement().
|
static |
Definition at line 11897 of file execute_statement.c.
References cleanup(), db_is_deleted(), delete_object_tuple(), do_find_unique_constraint_violations(), error(), free_and_init, i, NO_ERROR, NULL, and ws_mop().
Referenced by do_insert_template(), and insert_subquery_results().
|
static |
Definition at line 17190 of file execute_statement.c.
References eval_insert_value::attr_list, cubregex::count(), db_get_object(), db_is_any_class(), db_make_object(), pt_name_info::db_object, db_real_instance(), DB_TYPE_OBJECT, DB_TYPE_VOBJ, DB_VALUE_TYPE, pt_name_info::default_value, error(), parser_node::info, is_class(), pt_name_info::meta_class, MSGCAT_RUNTIME__CAN_NOT_EVALUATE, MSGCAT_RUNTIME_OUT_OF_MEMORY, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, parser_node::next, NO_ERROR, parser_node::node_type, NULL, parser_copy_tree(), parser_free_tree(), parser_new_node(), PT_CLASSOID_ATTR, PT_CONTINUE_WALK, pt_dbval_to_value(), PT_ERRORmf, pt_evaluate_tree_having_serial(), PT_EXPR, PT_FUNCTION, pt_has_error, PT_IS_INSERT_VALUE_NODE, PT_IS_VALUE_NODE, PT_LIST_WALK, PT_META_CLASS, PT_NAME, pt_name_equal(), PT_NODE_MOVE_NUMBER_OUTERLINK, PT_PARAMETER, pt_resolve_default_value(), pt_short_print(), PT_STOP_WALK, PT_TYPE_NULL, PT_VALUE, eval_insert_value::reevaluate_needed, eval_insert_value::replace_names, eval_insert_value::spec_id, pt_name_info::spec_id, parser_node::type_enum, eval_insert_value::value_list, and vid_vobj_to_object().
Referenced by do_evaluate_insert_values(), and insert_rewrite_names_in_value_clauses().
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().
int do_reset_auto_increment_serial | ( | MOP | serial_obj | ) |
Definition at line 942 of file execute_statement.c.
References assert, db_get(), db_make_int(), db_make_null(), db_value_clear(), dbt_abort_object(), dbt_edit_object(), dbt_finish_object(), dbt_put_internal(), er_errid(), ER_OBJ_INVALID_ARGUMENTS, locator_flush_instance(), NO_ERROR, NULL, SERIAL_ATTR_CURRENT_VAL, SERIAL_ATTR_MIN_VAL, and SERIAL_ATTR_STARTED.
Referenced by sm_truncate_class().
int do_rollback | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 4453 of file execute_statement.c.
References assert, db_abort_to_savepoint_internal(), db_make_null(), db_value_clear(), er_errid(), ER_GENERIC_ERROR, error(), get_savepoint_name_from_db_value(), parser_node::info, pt_name_info::meta_class, pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, pt_name_info::original, pt_evaluate_tree(), pt_has_error, PT_NAME, PT_PARAMETER, pt_statement_info::rollback_work, pt_rollback_work_info::save_name, and tran_abort().
Referenced by do_alter(), do_alter_index_comment(), do_alter_index_rebuild(), do_alter_index_status(), do_execute_statement(), and do_statement().
int do_savepoint | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 4505 of file execute_statement.c.
References assert, db_make_null(), db_savepoint_transaction_internal(), db_value_clear(), er_errid(), ER_GENERIC_ERROR, error(), get_savepoint_name_from_db_value(), parser_node::info, pt_name_info::meta_class, pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, pt_name_info::original, pt_evaluate_tree(), pt_has_error, PT_INTERNAL_ERROR, PT_NAME, PT_PARAMETER, pt_savepoint_info::save_name, and pt_statement_info::savepoint.
Referenced by do_execute_statement(), and do_statement().
int do_scope | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 14945 of file execute_statement.c.
References pt_trigger_action_info::action_type, do_execute_statement(), do_prepare_statement(), do_statement(), do_Trigger_involved, ER_GENERIC_ERROR, error(), pt_trigger_action_info::expression, parser_node::info, NO_ERROR, parser_node::node_type, prm_get_integer_value(), PT_EXPRESSION, PT_INVALIDATE_XACTION, PT_PRINT, PT_REJECT, PT_SCOPE, PT_TRIGGER_ACTION, pt_statement_info::scope, pt_scope_info::stmt, and pt_statement_info::trigger_action.
Referenced by do_execute_statement(), do_statement(), and pt_exec_trigger_stmt().
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().
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().
|
static |
Definition at line 13898 of file execute_statement.c.
References assert, AU_DISABLE, AU_ENABLE, parser_context::au_save, parser_context::auto_param_count, xasl_stream::buffer, xasl_stream::buffer_size, CHECK_MODIFICATION_ERROR, db_value_clear(), db_value_copy(), DEFAULT_EXEC_MODE, do_send_plan_trace_to_session(), do_set_trace_to_query_flag(), DONT_COLLECT_EXEC_STATS, parser_context::dont_collect_exec_stats, er_errid(), ER_FAILED, ER_REGU_SYSTEM, error(), parser_node::etc, parser_node::flag, parser_context::flag, free_and_init, parser_context::host_var_count, parser_context::host_variables, i, parser_node::info, init_xasl_stream(), pt_query_info::into_list, parser_context::is_auto_commit, parser_node::is_click_counter, MSGCAT_RUNTIME_PARM_IS_NOT_SET, MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, regu_variable_list_node::next, NO_ERROR, parser_node::node_type, NULL, pt_name_info::original, xasl_node::outptr_list, parser_generate_xasl(), prepare_and_execute_query(), prm_get_bool_value(), PRM_ID_QUERY_TRACE, pt_associate_label_with_value_check_reference(), PT_CONVERT_RANGE, pt_enter_packing_buf(), PT_ERRORm, PT_ERRORmf, pt_exit_packing_buf(), pt_false_where(), pt_get_one_tuple_from_list_id(), pt_has_error, pt_length_of_list(), PT_NAME, PT_NODE_PRINT_TO_ALIAS, pt_null_etc(), pt_report_to_ersys(), pt_reset_error(), PT_SEMANTIC, pt_statement_info::query, parser_context::query_id, parser_context::query_trace, REGU_VARIABLE_UPD_INS_LIST, TRAN_AUTO_COMMIT, valptr_list_node::valptrp, and xts_map_xasl_to_stream().
Referenced by do_select(), and do_select_for_ins_upd().
|
static |
Definition at line 17525 of file execute_statement.c.
References assert, csession_set_session_variables(), db_make_char(), db_make_string(), pt_plan_trace_info::format, free_and_init, i, pt_plan_trace_info::json_plan, LANG_COERCIBLE_CODESET, LANG_COERCIBLE_COLL, NULL, parser_context::num_plan_trace, parser_context::plan_trace, port_close_memstream(), port_open_memstream(), QUERY_TRACE_JSON, QUERY_TRACE_TEXT, pt_plan_trace_info::text_plan, and pt_plan_trace_info::trace.
Referenced by do_execute_delete(), do_execute_do(), do_execute_insert(), do_execute_select(), do_execute_session_statement(), do_execute_update(), and do_select_internal().
|
static |
Definition at line 11427 of file execute_statement.c.
References pt_insert_info::attr_list, check_for_cons(), pt_name_info::db_object, error(), pt_spec_info::flat_entity_list, pt_insert_info::has_uniques, parser_node::info, pt_statement_info::insert, pt_statement_info::name, NO_ERROR, parser_node::node_type, pt_insert_info::non_null_attrs, NULL, PT_INSERT, PT_STOP_WALK, pt_insert_info::server_allowed, SERVER_INSERT_IS_NOT_ALLOWED, SERVER_INSERT_NOT_CHECKED, pt_insert_info::spec, and pt_statement_info::spec.
Referenced by is_server_insert_allowed().
int do_set_names | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 16638 of file execute_statement.c.
References pt_set_names_info::charset_node, COLL_NAME_SIZE, pt_set_names_info::collation_node, db_set_system_parameters(), ER_GENERIC_ERROR, ER_OBJ_INVALID_ARGUMENTS, error(), parser_node::info, lang_get_collation_name(), NO_ERROR, NULL, pt_check_grammar_charset_collation(), and pt_statement_info::set_names.
Referenced by do_execute_statement(), and do_statement().
int do_set_optimization_param | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 4831 of file execute_statement.c.
References db_get_int(), db_get_string(), db_make_null(), DB_TYPE_CHAR, DB_TYPE_INTEGER, DB_TYPE_NCHAR, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, DB_VALUE_TYPE, ER_ERROR_SEVERITY, ER_OBJ_INVALID_ARGUMENTS, er_set(), parser_node::info, parser_node::next, NO_ERROR, NULL, pt_set_opt_lvl_info::option, pr_clear_value(), pt_evaluate_tree(), pt_has_error, PT_OPT_COST, PT_OPT_LVL, QO_PARAM_COST, QO_PARAM_LEVEL, qo_set_optimization_param(), pt_statement_info::set_opt_lvl, pt_set_opt_lvl_info::val, serial_invariant::val1, and serial_invariant::val2.
Referenced by do_execute_statement(), and do_statement().
|
static |
Definition at line 7336 of file execute_statement.c.
References pt_union_info::arg1, pt_union_info::arg2, pt_name_info::db_object, DB_PARTITION_CLASS, pt_spec_info::derived_table, pt_spec_info::entity_name, ER_FAILED, error(), pt_spec_info::flag, pt_select_info::from, parser_node::info, MSGCAT_RUNTIME_NOT_ALLOWED_ACCESS_TO_PARTITION, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_name_info::original, client_update_class_info::pruning_type, PT_ERROR, PT_ERRORmf, PT_NAME, PT_SELECT, PT_SPEC, PT_SPEC_FLAG_UPDATE, PT_SPEC_IS_CTE, PT_SPEC_IS_ENTITY, PT_UNION, pt_query_info::q, pt_statement_info::query, pt_query_info::select, sm_partitioned_class_type(), pt_statement_info::spec, and pt_query_info::union_.
Referenced by init_update_data().
int do_set_query_trace | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 17410 of file execute_statement.c.
References pt_trace_info::format, parser_node::info, NO_ERROR, pt_trace_info::on_off, PRM_ID_QUERY_TRACE, PRM_ID_QUERY_TRACE_FORMAT, prm_set_bool_value(), prm_set_integer_value(), PT_TRACE_FORMAT_JSON, PT_TRACE_FORMAT_TEXT, PT_TRACE_ON, QUERY_TRACE_JSON, QUERY_TRACE_TEXT, and pt_statement_info::trace.
Referenced by do_execute_statement(), and do_statement().
int do_set_session_variables | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 15112 of file execute_statement.c.
References pt_expr_info::arg1, pt_expr_info::arg2, ARG_FILE_LINE, assert, pt_set_session_variable_info::assignments, cleanup(), cubregex::count(), csession_set_session_variables(), db_make_null(), er_errid(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), pt_statement_info::expr, free_and_init, i, parser_node::info, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pr_clear_value(), pr_clone_value(), pt_evaluate_tree_having_serial(), PT_EXECUTION, pt_has_error, pt_report_to_ersys(), PT_SET_SESSION_VARIABLES, pt_value_to_db(), and pt_statement_info::set_variables.
Referenced by do_execute_statement().
int do_set_sys_params | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 4910 of file execute_statement.c.
References db_get_string(), db_make_null(), db_set_system_parameters(), ER_GENERIC_ERROR, ER_OBJ_INVALID_ARGUMENTS, error(), parser_node::info, parser_node::next, NO_ERROR, NULL, pr_clear_value(), pt_evaluate_tree(), pt_has_error, pt_statement_info::set_sys_params, and pt_set_sys_params_info::val.
Referenced by do_execute_statement(), and do_statement().
int do_set_timezone | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 16671 of file execute_statement.c.
References assert, parser_varchar::bytes, pt_value_info::data_value, db_set_system_parameters(), ER_OBJ_INVALID_ARGUMENTS, error(), parser_node::info, MAX_LEN, NO_ERROR, NULL, pt_statement_info::set_timezone, pt_data_value::str, pt_set_timezone_info::timezone_node, and pt_statement_info::value.
Referenced by do_execute_statement(), and do_statement().
|
static |
Definition at line 17503 of file execute_statement.c.
References prm_get_integer_value(), PRM_ID_QUERY_TRACE_FORMAT, QUERY_TRACE_JSON, QUERY_TRACE_TEXT, XASL_TRACE_JSON, and XASL_TRACE_TEXT.
Referenced by do_execute_delete(), do_execute_do(), do_execute_insert(), do_execute_select(), do_execute_session_statement(), do_execute_update(), and do_select_internal().
int do_set_trigger | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 6679 of file execute_statement.c.
References ARG_FILE_LINE, db_get_int(), db_make_null(), db_value_clear(), DOMAIN_COMPATIBLE, er_errid(), ER_ERROR_SEVERITY, ER_IT_DATA_OVERFLOW, er_set(), ER_TP_CANT_COERCE, error(), parser_node::info, MAX_DOMAIN_NAME_SIZE, NO_ERROR, pt_set_trigger_info::option, pt_evaluate_tree(), pt_has_error, pt_report_to_ersys(), PT_SEMANTIC, PT_TRIGGER_DEPTH, PT_TRIGGER_TRACE, pt_statement_info::set_trigger, tp_domain_name(), tp_domain_status_er_set(), tp_Integer_domain, tp_value_coerce(), tp_value_domain_name(), tr_set_depth(), tr_set_trace(), and pt_set_trigger_info::val.
Referenced by do_execute_statement(), and do_statement().
int do_set_xaction | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 4667 of file execute_statement.c.
References pt_isolation_lvl_info::async_ws, check_timeout_value(), db_get_float(), db_make_null(), DB_TYPE_INTEGER, DB_VALUE_TYPE, ER_GENERIC_ERROR, error(), parser_node::info, pt_statement_info::isolation_lvl, pt_isolation_lvl_info::level, map_iso_levels(), mode, MSGCAT_MVCC_RUNTIME_XACT_ISO_LVL_MSG, MSGCAT_SET_PARSER_RUNTIME, parser_node::next, NO_ERROR, parser_node::node_type, NULL, PT_ERRORm, pt_evaluate_tree(), pt_has_error, PT_ISOLATION_LVL, PT_TIMEOUT, set_iso_level(), pt_statement_info::set_xaction, pt_statement_info::timeout, tran_reset_isolation(), tran_reset_wait_times(), pt_timeout_info::val, and pt_set_xaction_info::xaction_modes.
Referenced by do_execute_statement(), and do_statement().
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().
int do_update | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 8642 of file execute_statement.c.
References pt_update_info::assignment, AU_DISABLE, AU_ENABLE, parser_context::au_save, CHECK_MODIFICATION_ERROR, parser_node::column_number, db_abort_to_savepoint(), er_errid(), ER_GENERIC_ERROR, ER_LK_UNILATERALLY_ABORTED, er_msg(), error(), parser_node::info, parser_node::line_number, mq_generate_name(), parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_update_info::object, pt_false_where(), PT_INTERNAL_ERROR, pt_record_error(), PT_UPDATE, pt_update_info::server_update, parser_context::statement_number, TM_TRAN_ISOLATION, TRAN_REP_READ, tran_system_savepoint(), pt_statement_info::update, UPDATE_OBJECT, update_object_by_oid(), update_real_class(), and update_savepoint_number.
Referenced by do_statement().
int do_update_auto_increment_serial_on_rename | ( | MOP | serial_obj, |
const char * | class_name, | ||
const char * | att_name | ||
) |
Definition at line 813 of file execute_statement.c.
References ARG_FILE_LINE, assert, AU_DISABLE, AU_ENABLE, au_fetch_instance_force(), AU_FETCH_WRITE, AUTO_INCREMENT_SERIAL_NAME_EXTRA_LENGTH, db_make_null(), db_make_string(), dbt_abort_object(), dbt_edit_object(), dbt_finish_object(), dbt_put_internal(), er_errid(), ER_ERROR_SEVERITY, ER_OBJ_INVALID_ARGUMENTS, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, LC_FETCH_MVCC_VERSION, NO_ERROR, NULL, pr_clear_value(), SERIAL_ATTR_ATT_NAME, SERIAL_ATTR_CLASS_NAME, SERIAL_ATTR_NAME, SET_AUTO_INCREMENT_SERIAL_NAME, sm_downcase_name(), SM_MAX_IDENTIFIER_LENGTH, strlen, ws_decache(), and WS_ISDIRTY.
Referenced by dbt_rename(), do_change_att_schema_only(), and sm_rename_class().
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().
int do_update_stats | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 4003 of file execute_statement.c.
References pt_update_stats_info::all_classes, ARG_FILE_LINE, ASSERT_ERROR_AND_SET, AU_ALTER, au_check_authorization(), au_is_dba_group_member(), Au_user, CHECK_MODIFICATION_ERROR, pt_update_stats_info::class_list, db_find_class(), pt_name_info::db_object, ER_AU_ALTER_FAILURE, ER_AU_DBA_ONLY, ER_ERROR_SEVERITY, er_set(), error(), parser_node::info, pt_statement_info::name, parser_node::next, NO_ERROR, NULL, pt_name_info::original, pt_check_user_owns_class(), sm_update_all_catalog_statistics(), sm_update_all_statistics(), sm_update_statistics(), STATS_WITH_FULLSCAN, STATS_WITH_SAMPLING, pt_statement_info::update_stats, and pt_update_stats_info::with_fullscan.
Referenced by do_execute_statement(), and do_statement().
|
static |
Definition at line 17391 of file execute_statement.c.
References assert, cvacuum(), error(), NO_ERROR, NULL, and PT_IS_VACUUM_NODE.
Referenced by do_execute_statement().
|
static |
Definition at line 4085 of file execute_statement.c.
References CAST_STRLEN, free_and_init, intl_mbs_chr(), intl_mbs_ncpy(), and NULL.
Referenced by make_cst_item_value().
|
static |
Definition at line 4124 of file execute_statement.c.
References intl_mbs_chr().
Referenced by make_cst_item_value().
|
static |
Definition at line 6044 of file execute_statement.c.
References pt_expr_info::arg1, pt_update_info::assignment, cubregex::count(), pt_statement_info::expr, i, parser_node::info, pt_statement_info::name, parser_node::next, NULL, pt_name_info::original, PT_IS_N_COLUMN_UPDATE_EXPR, pt_length_of_list(), and pt_statement_info::update.
|
static |
Definition at line 6151 of file execute_statement.c.
References parser_varchar::bytes, pt_value_info::data_value, parser_node::info, IS_INVALIDATE_ACTION_STATEMENT, IS_PRINT_ACTION_STATEMENT, IS_REJECT_ACTION_STATEMENT, parser_node::node_type, NULL, parser_print_tree_with_quotes(), PT_VALUE, pt_data_value::str, pt_trigger_action_info::string, TR_ACT_EXPRESSION, TR_ACT_INVALIDATE, TR_ACT_NULL, TR_ACT_PRINT, TR_ACT_REJECT, pt_statement_info::trigger_action, and pt_statement_info::value.
Referenced by do_create_trigger().
|
static |
Definition at line 5493 of file execute_statement.c.
References db_get_double(), DOMAIN_COMPATIBLE, NULL, pt_value_to_db(), tp_Double_domain, tp_value_coerce(), and TR_LOWEST_PRIORITY.
Referenced by do_alter_trigger(), and do_create_trigger().
Definition at line 5115 of file execute_statement.c.
References db_get_string(), DB_TYPE_CHAR, DB_TYPE_NCHAR, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, DB_VALUE_TYPE, DOMAIN_COMPATIBLE, NULL, tp_domain_resolve_default(), and tp_value_cast().
Referenced by do_get_stats(), do_rollback(), and do_savepoint().
|
static |
Definition at line 6882 of file execute_statement.c.
References assert, AU_DISABLE, AU_ENABLE, parser_context::au_save, do_select_for_ins_upd(), err, parser_node::etc, parser_node::info, mq_translate(), NO_ERROR, parser_node::node_type, NULL, parser_free_tree(), pt_copy_upddel_hints_to_select(), PT_SPEC, pt_to_upd_del_query(), parser_context::query_id, pt_spec_info::range_var, S_UPDATE, and pt_statement_info::spec.
Referenced by update_real_class().
|
static |
Definition at line 9870 of file execute_statement.c.
References db_get_constraints(), sm_class_constraint::next, NULL, SM_IS_CONSTRAINT_UNIQUE_FAMILY, and sm_class_constraint::type.
Referenced by delete_list_by_oids(), and update_object_tuple().
|
static |
Definition at line 8066 of file execute_statement.c.
References bool, parser_context::context, parser_context::flag, compile_context::is_xasl_pinned_reference, parser_context::is_xasl_pinned_reference, compile_context::recompile_xasl_pinned, and parser_context::recompile_xasl_pinned.
Referenced by do_prepare_statement().
|
static |
Definition at line 7457 of file execute_statement.c.
References pt_update_info::assignment, pt_merge_info::assignment, pt_update_info::check_where, pt_merge_info::check_where, pt_update_info::class_specs, db_free_attribute_descriptor(), db_make_null(), DB_NOT_PARTITIONED_CLASS, db_private_alloc, db_private_free, do_set_pruning_type(), ER_REGU_NO_SPACE, error(), client_update_class_info::first_assign, pt_spec_info::flag, i, pt_spec_info::id, parser_node::info, pt_merge_info::into, pt_assignments_helper::is_rhs_const, pt_assignments_helper::lhs, pt_statement_info::merge, pt_statement_info::name, client_update_info::next, parser_node::next, NO_ERROR, parser_node::node_type, NULL, client_update_class_info::oid, pt_get_next_assignment(), pt_init_assignments_helper(), PT_MERGE, PT_SPEC_FLAG_UPDATE, pt_value_to_db(), pt_assignments_helper::rhs, client_update_class_info::spec, pt_update_info::spec, pt_statement_info::spec, pt_name_info::spec_id, pt_merge_info::update, and pt_statement_info::update.
Referenced by update_class_attributes(), update_object_by_oid(), and update_objs_for_list_file().
|
static |
Definition at line 8080 of file execute_statement.c.
Referenced by build_xasl_for_server_delete(), do_execute_do(), do_insert_at_server(), do_prepare_delete(), do_prepare_insert_internal(), do_prepare_merge(), do_prepare_select(), do_prepare_update(), do_select_internal(), and update_at_server().
|
static |
Definition at line 198 of file execute_statement.c.
References serial_invariant::cmp_op, serial_invariant::error_type, serial_invariant::val1, serial_invariant::val1_msgid, serial_invariant::val2, and serial_invariant::val2_msgid.
Referenced by do_alter_serial(), and do_create_serial().
|
static |
Definition at line 13134 of file execute_statement.c.
References pt_insert_info::attr_list, AU_DISABLE, AU_ENABLE, parser_context::au_save, check_missing_non_null_attrs(), csession_reset_cur_insert_id(), pt_name_info::db_object, do_evaluate_default_expr(), do_insert_template(), pt_insert_info::do_replace, do_Trigger_involved, ER_GENERIC_ERROR, ER_LK_UNILATERALLY_ABORTED, error(), parser_node::etc, pt_spec_info::flat_entity_list, parser_node::info, pt_statement_info::insert, insert_savepoint_number, pt_node_list_info::list, pt_node_list_info::list_type, mq_generate_name(), pt_statement_info::name, parser_node::next, NO_ERROR, pt_statement_info::node_list, parser_node::node_type, NULL, obt_begin_insert_values(), obt_Last_insert_id_generated, pt_insert_info::odku_assignments, parser_walk_tree(), pt_false_where(), pt_find_node_type_pre(), PT_INSERT, PT_IS_DEFAULT_VALUE, PT_IS_SUBQUERY, pt_insert_info::server_allowed, sm_class_has_triggers(), pt_insert_info::spec, pt_statement_info::spec, SYSTEM_SAVEPOINT, test_check_option(), TM_TRAN_ISOLATION, TR_EVENT_INSERT, TR_EVENT_UPDATE, tran_internal_abort_upto_savepoint(), TRAN_REP_READ, tran_system_savepoint(), and pt_insert_info::value_clauses.
Referenced by do_insert().
|
static |
Definition at line 10779 of file execute_statement.c.
References obj_template::classobj, db_get_attribute(), db_get_object(), DB_IS_NULL, db_is_vclass(), db_make_object(), pt_name_info::db_object, db_real_instance(), DB_TYPE_OBJECT, DB_VALUE_TYPE, dbt_dput_internal(), error(), parser_node::info, pt_statement_info::name, NO_ERROR, obj_set_shared(), and pt_name_info::original.
Referenced by do_insert_template(), and insert_subquery_results().
void insert_rewrite_names_in_value_clauses | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | insert_statement | ||
) |
Definition at line 17100 of file execute_statement.c.
References eval_insert_value::attr_list, pt_insert_info::attr_list, eval_insert_value::crt_attr_index, do_replace_names_for_insert_values_pre(), pt_spec_info::id, parser_node::info, pt_statement_info::insert, pt_node_list_info::list, parser_node::next, pt_statement_info::node_list, parser_node::node_type, NULL, parser_walk_tree(), pt_has_error, PT_INSERT, PT_IS_HOSTVAR, PT_IS_VALUE, PT_IS_VALUE_NODE, pt_semantic_type(), pt_insert_info::spec, pt_statement_info::spec, eval_insert_value::spec_id, pt_insert_info::value_clauses, and eval_insert_value::value_list.
Referenced by mq_translate_insert().
|
static |
Definition at line 12569 of file execute_statement.c.
References ARG_FILE_LINE, assert, pt_update_info::assignment, pt_insert_info::attr_list, pt_merge_info::attr_list, pt_statement_info::check_option, pt_update_info::check_where, pt_merge_info::check_where, pt_insert_info::class_specs, cleanup(), cursor_close(), cursor_free_self_list_id, cursor_get_tuple_value_list(), cursor_next_tuple(), cursor_open(), odku_tuple_value_arg::cursor_p, DB_CURSOR_SUCCESS, db_free_attribute_descriptor(), db_get_attribute_descriptor(), db_is_vclass(), db_make_null(), db_make_object(), db_make_sequence(), DB_NOT_PARTITIONED_CLASS, pt_name_info::db_object, db_value_clear(), db_value_create(), dbt_abort_object(), dbt_create_object_internal(), dbt_finish_object(), do_create_odku_stmt(), do_on_duplicate_key_update(), pt_insert_info::do_replace, do_replace_into(), do_select(), ER_DO_INSERT_TOO_MANY, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), parser_node::etc, EXCLUDE_HIDDEN_COLUMNS, pt_check_option_info::expr, pt_spec_info::flag, parser_context::flag, free_and_init, i, parser_node::info, pt_merge_info::insert, pt_statement_info::insert, insert_object_attr(), insert_savepoint_number, odku_tuple_value_arg::insert_stmt, obj_template::is_autoincrement_set, pt_node_list_info::list, pt_node_list_info::list_type, pt_statement_info::merge, mq_evaluate_check_option(), mq_generate_name(), pt_statement_info::name, parser_node::next, NO_ERROR, pt_statement_info::node_list, parser_node::node_type, NULL, obt_quit(), obt_retain_after_finish(), obt_set_force_flush(), pt_insert_info::odku_assignments, pt_name_info::original, parser_free_tree(), parser_walk_tree(), obj_template::pruning_type, pt_append_odku_references(), PT_DIFFERENCE, pt_end_query(), pt_get_select_list(), pt_has_error, PT_INSERT, PT_INTERSECTION, PT_IS_SUBQUERY, pt_length_of_select_list(), PT_MERGE, PT_NODE_LIST, PT_SELECT, PT_UNION, cursor_id::query_id, parser_context::query_id, parser_context::return_generated_keys, set_create_sequence(), set_free(), set_put_element(), sm_partitioned_class_type(), pt_insert_info::spec, pt_update_info::spec, pt_statement_info::spec, TM_TRAN_ISOLATION, TRAN_REP_READ, tran_system_savepoint(), pt_statement_info::update, and pt_insert_info::where.
Referenced by do_execute_merge(), do_insert_template(), and do_merge().
|
static |
Definition at line 12974 of file execute_statement.c.
References parser_node::info, intl_identifier_casecmp(), pt_statement_info::name, parser_node::next, NULL, and pt_name_info::original.
Referenced by check_missing_non_null_attrs().
|
static |
Definition at line 11960 of file execute_statement.c.
References au_fetch_class(), AU_FETCH_READ, AU_SELECT, error(), sm_class::inheritance, NO_ERROR, NULL, sm_is_partitioned_class(), and sm_class::users.
Referenced by do_insert_checks().
|
static |
Definition at line 11216 of file execute_statement.c.
References assert, pt_insert_info::attr_list, AU_DISABLE, AU_ENABLE, check_for_cons(), pt_name_info::db_object, do_check_insert_server_allowed(), pt_insert_info::do_replace, do_set_insert_server_not_allowed(), do_Trigger_involved, ER_FAILED, error(), pt_spec_info::flat_entity_list, pt_insert_info::has_uniques, pt_insert_info::hint, parser_node::info, pt_statement_info::insert, pt_insert_info::insert_mode, INSERT_SELECT, INSERT_VALUES, pt_insert_info::into_var, pt_node_list_info::list_type, mode, pt_statement_info::name, parser_node::next, NO_ERROR, pt_statement_info::node_list, parser_node::node_type, pt_insert_info::non_null_attrs, NULL, pt_insert_info::odku_assignments, pt_name_info::original, parser_walk_tree(), prm_get_integer_value(), PRM_ID_INSERT_MODE, pt_has_error, PT_HINT_INSERT_MODE, PT_INSERT, PT_IS_SUBQUERY, PT_IS_VALUE, PT_NAME, PT_NORMAL, pt_insert_info::server_allowed, SERVER_INSERT_IS_ALLOWED, SERVER_INSERT_IS_NOT_ALLOWED, SERVER_INSERT_NOT_CHECKED, sm_class_has_triggers(), pt_insert_info::spec, pt_statement_info::spec, TR_EVENT_DELETE, TR_EVENT_INSERT, TR_EVENT_UPDATE, pt_insert_info::value_clauses, and pt_insert_info::where.
Referenced by do_check_insert_server_allowed(), and do_insert_checks().
|
static |
Definition at line 8563 of file execute_statement.c.
References pt_update_info::assignment, AU_DISABLE, AU_ENABLE, pt_name_info::db_object, error(), pt_spec_info::flag, pt_spec_info::flat_entity_list, parser_node::info, pt_statement_info::name, parser_node::next, NO_ERROR, NULL, parser_free_tree(), PT_SPEC_FLAG_UPDATE, sm_class_has_triggers(), sm_partitioned_class_type(), pt_update_info::spec, pt_statement_info::spec, TR_EVENT_ALL, TR_EVENT_UPDATE, pt_statement_info::update, update_check_for_constraints(), update_check_having_meta_attr(), and pt_name_info::virt_object.
Referenced by do_insert_checks(), and update_real_class().
Definition at line 359 of file execute_statement.c.
References pt_statement_info::delete_, pt_delete_info::hint, pt_insert_info::hint, pt_update_info::hint, parser_node::info, pt_statement_info::insert, parser_node::node_type, PT_DELETE, PT_DROP_VARIABLE, PT_HINT_USE_SBR, PT_INSERT, pt_is_ddl_statement(), PT_TRUNCATE, PT_UPDATE, and pt_statement_info::update.
Referenced by do_execute_statement(), and do_statement().
Definition at line 4153 of file execute_statement.c.
References ARG_FILE_LINE, assert, cst_item::att_id, class_stats::attr_stats, cst_item::bt_idx, attr_stats::bt_stats, CST_BT_NKEYS, CST_NATTRIBUTES, CST_NOBJECTS, CST_NPAGES, CST_UNDEFINED, db_make_int(), db_make_null(), ER_DO_UNDEFINED_CST_ITEM, er_errid(), er_set(), ER_SYNTAX_ERROR_SEVERITY, error(), extract_att_name(), extract_bt_idx(), free_and_init, class_stats::heap_num_objects, class_stats::heap_num_pages, btree_stats::height, i, attr_stats::id, intl_mbs_ncasecmp(), cst_item::item, btree_stats::keys, btree_stats::leafs, class_stats::n_attrs, attr_stats::n_btstats, NO_ERROR, NULL, btree_stats::pages, sm_att_id(), sm_get_statistics_force(), and strlen.
Referenced by do_get_stats().
|
static |
Definition at line 13045 of file execute_statement.c.
References db_get_object(), db_make_object(), pt_spec_info::flat_entity_list, parser_node::info, pt_statement_info::insert, pt_insert_info::into_var, pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, pt_find_value_of_label(), PT_INSERT, pt_insert_info::spec, pt_statement_info::spec, vid_build_virtual_mop(), and pt_name_info::virt_object.
Referenced by do_insert_template().
|
static |
Definition at line 4956 of file execute_statement.c.
References ER_GENERIC_ERROR, parser_node::info, pt_isolation_lvl_info::instances, pt_statement_info::isolation_lvl, MSGCAT_RUNTIME_XACT_INVALID_ISO_LVL_MSG, MSGCAT_SET_PARSER_RUNTIME, NO_ERROR, PT_ERRORmf2, PT_READ_COMMITTED, PT_REPEATABLE_READ, PT_SERIALIZABLE, pt_show_misc_type(), pt_isolation_lvl_info::schema, TRAN_READ_COMMITTED, TRAN_REPEATABLE_READ, and TRAN_SERIALIZABLE.
Referenced by do_get_stats(), and do_set_xaction().
|
static |
Definition at line 5226 of file execute_statement.c.
References ml_ext_free(), ml_find(), db_objlist::next, NULL, and db_objlist::op.
Referenced by convert_speclist_to_objlist().
|
static |
Definition at line 16711 of file execute_statement.c.
References pt_dot_info::arg1, ARG_FILE_LINE, assert, odku_tuple_value_arg::cursor_p, pt_statement_info::dot, ER_ERROR_SEVERITY, ER_OBJ_INVALID_ARGUMENTS, er_set(), pt_select_info::from, pt_spec_info::id, parser_node::info, pt_statement_info::insert, odku_tuple_value_arg::insert_stmt, pt_node_list_info::list, pt_statement_info::name, pt_statement_info::node_list, parser_node::node_type, NULL, PT_CONTINUE_WALK, PT_DOT_, pt_get_select_list(), PT_INSERT, PT_IS_SELECT, PT_LIST_WALK, pt_make_tuple_value_reference(), PT_NAME, PT_NODE_LIST, PT_STOP_WALK, pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_insert_info::spec, pt_statement_info::spec, pt_name_info::spec_id, and pt_insert_info::value_clauses.
Referenced by insert_subquery_results().
|
static |
Definition at line 9412 of file execute_statement.c.
References assert, AU_DISABLE, AU_ENABLE, parser_context::au_save, pt_delete_info::class_specs, pt_statement_info::delete_, do_select(), er_errid(), parser_node::etc, parser_node::info, mq_translate(), NO_ERROR, NULL, parser_free_tree(), pt_copy_upddel_hints_to_select(), pt_to_upd_del_query(), parser_context::query_id, S_DELETE, pt_delete_info::search_cond, pt_delete_info::spec, pt_delete_info::using_index, and pt_delete_info::with.
Referenced by delete_real_class().
|
static |
Definition at line 5023 of file execute_statement.c.
References db_get_int(), ER_GENERIC_ERROR, error(), MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_MVCC_RUNTIME_XACT_ISO_LVL_MSG, MSGCAT_RUNTIME_ISO_LVL_SET_TO_MSG, MSGCAT_RUNTIME_REPREAD_S_READCOM_I, MSGCAT_RUNTIME_REPREAD_S_REPREAD_I, MSGCAT_RUNTIME_SERIAL_S_SERIAL_I, MSGCAT_SET_PARSER_RUNTIME, NO_ERROR, PT_ERRORm, tran_get_tran_settings(), TRAN_READ_COMMITTED, TRAN_REPEATABLE_READ, and TRAN_SERIALIZABLE.
Referenced by do_get_stats(), and do_set_xaction().
|
static |
Definition at line 8054 of file execute_statement.c.
References pt_to_update_xasl().
Referenced by update_at_server().
|
static |
Definition at line 13091 of file execute_statement.c.
References pt_spec_info::flat_entity_list, parser_node::info, pt_statement_info::insert, pt_statement_info::name, parser_node::node_type, PT_INSERT, PT_STOP_WALK, SM_CLASSFLAG_LOCALCHECKOPTION, SM_CLASSFLAG_WITHCHECKOPTION, sm_get_class_flag(), pt_insert_info::spec, pt_statement_info::spec, and pt_name_info::virt_object.
Referenced by insert_local().
Definition at line 308 of file execute_statement.c.
References assert, au_fetch_class(), AU_FETCH_READ, classobj_find_cons_primary_key(), sm_class::constraints, DB_AUTH_NONE, db_find_class(), error(), pt_spec_info::flat_entity_list, parser_node::info, pt_statement_info::name, parser_node::next, NO_ERROR, NULL, pt_name_info::original, pt_truncate_info::spec, pt_statement_info::spec, and pt_statement_info::truncate.
Referenced by do_replicate_statement().
|
static |
Definition at line 6854 of file execute_statement.c.
References parser_node::next, and NULL.
|
static |
Definition at line 8114 of file execute_statement.c.
References assert, update_proc_node::assigns, AU_RESTORE, AU_SAVE_AND_ENABLE, parser_context::auto_param_count, xasl_stream::buffer, xasl_stream::buffer_size, update_assignment::constant, cubregex::count(), cursor_free_self_list_id, pt_name_info::db_object, DEFAULT_EXEC_MODE, er_errid(), error(), parser_node::flag, parser_context::flag, pt_spec_info::flat_entity_list, free_and_init, parser_context::host_var_count, parser_context::host_variables, i, parser_node::info, init_xasl_stream(), parser_context::is_auto_commit, MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, parser_node::next, NO_ERROR, NULL, update_proc_node::num_assigns, pr_clear_value(), prepare_and_execute_query(), xasl_node::proc, pt_end_query(), pt_enter_packing_buf(), PT_ERRORm, pt_exit_packing_buf(), parser_context::query_id, sm_decache_instances_after_query_executed_with_commit(), sm_flush_and_decache_objects(), pt_update_info::spec, pt_statement_info::spec, statement_to_update_xasl(), TRAN_AUTO_COMMIT, tran_was_latest_query_committed(), qfile_list_id::tuple_cnt, xasl_node::update, pt_statement_info::update, parser_node::use_auto_commit, and xts_map_xasl_to_stream().
Referenced by update_real_class().
|
static |
Definition at line 8242 of file execute_statement.c.
References pt_expr_info::arg1, pt_update_info::assignment, pt_merge_info::assignment, ER_GENERIC_ERROR, error(), pt_statement_info::expr, parser_node::info, pt_statement_info::merge, MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, parser_node::next, NO_ERROR, parser_node::node_type, NULL, parser_append_node(), parser_free_tree(), PT_ALL, PT_ERRORm, pt_find_spec_in_statement(), PT_IS_N_COLUMN_UPDATE_EXPR, PT_MERGE, PT_NAME, pt_point(), PT_SPEC_FLAG_DOESNT_HAVE_UNIQUE, PT_SPEC_FLAG_HAS_UNIQUE, sm_att_constrained(), SM_ATTFLAG_NON_NULL, sm_class_has_unique_constraint(), pt_merge_info::update, and pt_statement_info::update.
Referenced by do_merge(), do_prepare_merge(), do_prepare_update(), and is_server_update_allowed().
|
static |
Definition at line 8353 of file execute_statement.c.
References pt_expr_info::arg1, pt_statement_info::expr, parser_node::info, pt_name_info::meta_class, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, PT_IS_N_COLUMN_UPDATE_EXPR, PT_NAME, and PT_NORMAL.
Referenced by do_prepare_merge(), do_prepare_update(), and is_server_update_allowed().
|
static |
Definition at line 7948 of file execute_statement.c.
References assert, pt_update_info::assignment, pt_merge_info::assignment, client_update_info::cls_info, db_free_attribute_descriptor(), db_private_free, dbt_abort_object(), dbt_edit_object(), dbt_finish_object(), dbt_put_internal(), er_errid(), ER_GENERIC_ERROR, error(), parser_node::info, init_update_data(), pt_assignments_helper::is_n_column, pt_statement_info::merge, NO_ERROR, parser_node::node_type, NULL, pt_evaluate_tree(), pt_get_next_assignment(), pt_has_error, pt_init_assignments_helper(), PT_MERGE, pt_assignments_helper::rhs, pt_merge_info::update, and pt_statement_info::update.
Referenced by do_execute_merge(), do_execute_update(), do_merge(), update_object_by_oid(), and update_real_class().
|
static |
Definition at line 6945 of file execute_statement.c.
References db_is_vclass(), pt_name_info::db_object, dbt_dput_internal(), error(), parser_node::info, pt_statement_info::name, NO_ERROR, obj_set_shared(), and pt_name_info::original.
Referenced by update_object_tuple().
|
static |
Definition at line 7190 of file execute_statement.c.
References pt_expr_info::arg1, assert, pt_update_info::assignment, DB_FETCH_CLREAD_INSTWRITE, db_free_attribute_descriptor(), db_make_object(), pt_name_info::db_object, db_private_free, er_errid(), ER_GENERIC_ERROR, error(), pt_statement_info::expr, pt_spec_info::flag, pt_spec_info::flat_entity_list, i, parser_node::info, init_update_data(), pt_assignments_helper::is_n_column, pt_assignments_helper::lhs, locator_fetch_class(), pt_name_info::meta_class, mq_evaluate_expression_having_serial(), pt_statement_info::name, parser_node::next, NO_ERROR, NULL, obj_inst_lock(), pt_update_info::object, pt_get_next_assignment(), pt_init_assignments_helper(), PT_INTERNAL_ERROR, PT_IS_N_COLUMN_UPDATE_EXPR, PT_META_ATTR, PT_SPEC_FLAG_UPDATE, pt_assignments_helper::rhs, pt_update_info::spec, pt_statement_info::spec, pt_statement_info::update, update_class_attributes(), and update_object_tuple().
Referenced by do_execute_update(), do_on_duplicate_key_update(), and do_update().
|
static |
Definition at line 6988 of file execute_statement.c.
References assert, client_update_info::attr_desc, au_fetch_class(), AU_FETCH_READ, AU_SELECT, pt_statement_info::check_option, client_update_class_info::check_where, client_update_class_info::class_mop, db_get_attribute_descriptor(), db_get_object(), db_is_deleted(), DB_IS_NULL, db_is_vclass(), DB_NOT_PARTITIONED_CLASS, pt_name_info::db_object, db_real_instance(), client_update_info::db_val, db_value_clear(), dbt_abort_object(), dbt_edit_object(), dbt_finish_object(), delete_object_tuple(), do_Trigger_involved, er_clear(), er_errid(), ER_GENERIC_ERROR, ER_HEAP_UNKNOWN_OBJECT, error(), pt_check_option_info::expr, client_update_class_info::first_assign, pt_spec_info::flat_entity_list, obj_template::force_check_not_null, has_unique_constraint(), parser_node::info, client_update_info::is_const, locator_flush_instance(), mq_evaluate_check_option(), pt_statement_info::name, client_update_info::next, NO_ERROR, NULL, obt_disable_serializable_conflict_checking(), obt_disable_unique_checking(), obt_set_force_flush(), client_update_class_info::oid, ON_DUPLICATE_KEY_UPDATE, pt_name_info::original, client_update_class_info::pruning_type, obj_template::pruning_type, client_update_class_info::smclass, client_update_class_info::spec, pt_statement_info::spec, client_update_info::upd_col_name, update_object_attribute(), ws_class_mop(), and ws_mop_compare().
Referenced by update_object_by_oid(), and update_objs_for_list_file().
|
static |
Definition at line 7715 of file execute_statement.c.
References assert, pt_update_info::check_where, pt_merge_info::check_where, cubregex::count(), cursor_close(), cursor_get_tuple_value_list(), cursor_next_tuple(), cursor_open(), cursor_set_prefetch_lock_mode(), DB_CURSOR_END, DB_CURSOR_SUCCESS, DB_FETCH_WRITE, db_free_attribute_descriptor(), db_get_int(), DB_IS_NULL, pt_name_info::db_object, db_private_free, er_errid(), ER_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_LK_UNILATERALLY_ABORTED, ER_REGU_SYSTEM, er_set(), error(), parser_node::flag, pt_merge_info::flags, pt_merge_info::has_delete, pt_update_info::has_trigger, pt_update_info::has_unique, parser_node::info, init_update_data(), pt_statement_info::merge, mq_generate_name(), pt_statement_info::name, NO_ERROR, parser_node::node_type, NORMAL_UPDATE, NULL, PT_MERGE, PT_MERGE_INFO_HAS_UNIQUE, PT_SPEC_FLAG_HAS_UNIQUE, PT_UPDATE, cursor_id::query_id, parser_context::query_id, sm_flush_for_multi_update(), client_update_class_info::spec, TM_TRAN_ISOLATION, tran_abort_upto_system_savepoint(), TRAN_REP_READ, tran_system_savepoint(), qfile_list_id::tuple_cnt, pt_merge_info::update, pt_statement_info::update, update_object_tuple(), and update_savepoint_number.
Referenced by do_execute_merge(), do_execute_update(), do_merge(), and update_real_class().
|
static |
Definition at line 8399 of file execute_statement.c.
References pt_expr_info::arg1, assert, pt_update_info::assignment, pt_update_info::class_specs, cursor_free_self_list_id, DB_FETCH_READ, er_errid(), ER_GENERIC_ERROR, error(), pt_statement_info::expr, get_select_list_to_update(), pt_update_info::hint, parser_node::info, is_server_update_allowed(), locator_fetch_class(), pt_name_info::meta_class, pt_statement_info::name, NO_ERROR, NULL, pt_update_info::order_by, pt_update_info::orderby_for, pt_name_info::original, parser_free_tree(), pt_end_query(), pt_get_assignment_lists(), PT_HINT_LK_TIMEOUT, PT_IS_HINT_NODE, PT_IS_N_COLUMN_UPDATE_EXPR, PT_META_ATTR, pt_restore_assignment_links(), PT_SPEC_FLAG_UPDATE, parser_context::query_id, pt_update_info::search_cond, pt_update_info::spec, TM_TRAN_WAIT_MSECS, tran_reset_wait_times(), pt_statement_info::update, update_at_server(), update_class_attributes(), update_objs_for_list_file(), pt_update_info::using_index, pt_update_info::waitsecs_hint, and pt_update_info::with.
Referenced by do_update().
|
static |
Definition at line 3976 of file execute_statement.c.
|
static |
Definition at line 9391 of file execute_statement.c.
Referenced by delete_list_by_oids(), do_delete(), and do_execute_delete().
bool do_Trigger_involved |
Definition at line 2932 of file execute_statement.c.
Referenced by db_execute_and_keep_statement_local(), delete_list_by_oids(), do_execute_statement(), do_insert_at_server(), do_scope(), insert_local(), is_server_insert_allowed(), locator_lock(), populate_auto_increment(), and update_object_tuple().
|
static |
Definition at line 10743 of file execute_statement.c.
Referenced by insert_local(), and insert_subquery_results().
|
static |
Definition at line 15231 of file execute_statement.c.
Referenced by do_execute_merge(), and do_merge().
|
static |
Definition at line 5204 of file execute_statement.c.
Referenced by check_merge_trigger(), and check_trigger().
|
static |
Definition at line 6812 of file execute_statement.c.
Referenced by do_execute_update(), do_update(), and update_objs_for_list_file().