File execute_statement.c
FileList > cubrid > src > query > execute_statement.c
Go to the source code of this file
#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 "schema_system_catalog_constants.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"
#include "crypt_opfunc.h"
#include "method_callback.hpp"
#include "network.h"
Classes
Public Types
Public Attributes
Public Static Attributes
Public Functions
| Type |
Name |
| int |
do_alter_serial (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_alter_server (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_alter_synonym (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_alter_trigger (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_attach (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_call_method (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_change_auto_increment_serial (PARSER_CONTEXT *const parser, MOP serial_obj, PT_NODE * node_new_val)
|
| int |
do_check_delete_trigger (PARSER_CONTEXT * parser, PT_NODE * statement, PT_DO_FUNC * do_func)
|
| int |
do_check_insert_trigger (PARSER_CONTEXT * parser, PT_NODE * statement, PT_DO_FUNC * do_func)
|
| int |
do_check_internal_statements (PARSER_CONTEXT * parser, PT_NODE * statement, PT_DO_FUNC do_func)
|
| int |
do_check_merge_trigger (PARSER_CONTEXT * parser, PT_NODE * statement, PT_DO_FUNC * do_func)
|
| int |
do_check_update_trigger (PARSER_CONTEXT * parser, PT_NODE * statement, PT_DO_FUNC * do_func)
|
| int |
do_commit (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_create_auto_increment_serial (PARSER_CONTEXT * parser, MOP * serial_object, const char * class_name, PT_NODE * att)
|
| int |
do_create_serial (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_create_server (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_create_synonym (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_create_trigger (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_delete (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_drop_serial (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_drop_server (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_drop_session_variables (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_drop_synonym (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_drop_trigger (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_evaluate (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_evaluate_default_expr (PARSER_CONTEXT * parser, PT_NODE * class_name)
|
| int |
do_execute_delete (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_execute_do (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_execute_insert (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_execute_merge (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_execute_prepared_subquery (PARSER_CONTEXT * parser, PT_NODE * stmt, int num_query, DB_PREPARE_SUBQUERY_INFO * info)
|
| int |
do_execute_select (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_execute_session_statement (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_execute_statement (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_execute_subquery (PARSER_CONTEXT * parser, PT_NODE * stmt)
|
| int |
do_execute_trigger (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_execute_update (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_find_class_by_query (const char * name, char * buf, int buf_size)
|
| int |
do_find_serial_by_query (const char * name, char * buf, int buf_size)
|
| int |
do_find_stored_procedure_by_query (const char * name, char * buf, int buf_size)
|
| int |
do_find_synonym_by_query (const char * name, char * buf, int buf_size)
|
| int |
do_find_trigger_by_query (const char * name, char * buf, int buf_size)
|
| int |
do_get_optimization_param (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_get_serial_cached_num (int * cached_num, MOP serial_obj)
|
| MOP |
do_get_serial_obj_id (DB_IDENTIFIER * serial_obj_id, DB_OBJECT * serial_class_mop, const char * serial_name)
|
| int |
do_get_stats (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_get_trigger (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_get_xaction (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_insert (PARSER_CONTEXT * parser, PT_NODE * root_statement)
|
| int |
do_internal_statements (PARSER_CONTEXT * parser, PT_NODE * internal_stmt_list, const int phase)
|
| int |
do_kill (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_merge (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_prepare_delete (PARSER_CONTEXT * parser, PT_NODE * statement, PT_NODE * parent)
|
| int |
do_prepare_insert (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_prepare_merge (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_prepare_select (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_prepare_session_statement (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_prepare_statement (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_prepare_subquery (PARSER_CONTEXT * parser, PT_NODE * stmt)
|
| int |
do_prepare_to_commit (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_prepare_update (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_remove_trigger (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_rename_server (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_rename_synonym (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_rename_trigger (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_replicate_statement (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_reset_auto_increment_serial (MOP serial_obj)
|
| int |
do_rollback (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_savepoint (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_scope (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_select (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_select_for_ins_upd (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_set_names (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_set_optimization_param (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_set_query_trace (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_set_session_variables (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_set_sys_params (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_set_timezone (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_set_trigger (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_set_xaction (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_statement (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_statements (PARSER_CONTEXT * parser, PT_NODE * statement_list)
|
| int |
do_update (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_update_auto_increment_serial_on_rename (MOP serial_obj, const char * class_name, const char * att_name)
|
| int |
do_update_maxvalue_of_auto_increment_serial (PARSER_CONTEXT * parser, MOP * serial_object, const char * class_name, PT_NODE * att)
|
| int |
do_update_stats (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
get_dblink_info_from_dbserver (PARSER_CONTEXT * parser, PT_NODE * server_name, PT_NODE * owner_name, DB_VALUE * out_val)
|
| int |
get_dblink_owner_name_from_dbserver (PARSER_CONTEXT * parser, PT_NODE * server_nm, PT_NODE * owner_nm, DB_VALUE * out_val)
|
| int |
init_update_data (PARSER_CONTEXT * parser, PT_NODE * statement, CLIENT_UPDATE_INFO ** assigns_data, int * assigns_count, CLIENT_UPDATE_CLASS_INFO ** cls_data, int * cls_count, DB_VALUE ** values, int * values_cnt, bool has_delete)
|
| void |
insert_rewrite_names_in_value_clauses (PARSER_CONTEXT * parser, PT_NODE * insert_statement)
|
| bool |
is_stmt_based_repl_type (const PT_NODE * node)
|
| int |
pt_check_dblink_password (PARSER_CONTEXT * parser, const char * passwd, char * cipher_buf, int ciper_buf_size)
|
| bool |
pt_is_allowed_result_cache ()
|
Public Static Functions
| Type |
Name |
| int |
build_xasl_for_server_delete (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
call_method (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
check_for_cons (PARSER_CONTEXT * parser, int * has_unique, PT_NODE ** non_null_attrs, const PT_NODE * attr_list, DB_OBJECT * class_obj)
|
| int |
check_merge_trigger (PT_DO_FUNC * do_func, PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
check_missing_non_null_attrs (const PARSER_CONTEXT * parser, const PT_NODE * spec, PT_NODE * attr_list, const bool has_default_values_list)
|
| int |
check_serial_invariants (SERIAL_INVARIANT * invariants, int num_invariants, int * ret_msg_id)
|
| int |
check_timeout_value (PARSER_CONTEXT * parser, PT_NODE * statement, DB_VALUE * val)
|
| int |
check_trigger (DB_TRIGGER_EVENT event, PT_DO_FUNC * do_func, PARSER_CONTEXT * parser, PT_NODE * statement)
|
| DB_TRIGGER_EVENT |
convert_event_to_tr_event (const PT_EVENT_TYPE ev)
|
| DB_TRIGGER_STATUS |
convert_misc_to_tr_status (const PT_MISC_TYPE pt_status)
|
| DB_TRIGGER_TIME |
convert_misc_to_tr_time (const PT_MISC_TYPE pt_time)
|
| int |
convert_speclist_to_objlist (DB_OBJLIST ** triglist, PT_NODE * specnode)
|
| int |
delete_list_by_oids (PARSER_CONTEXT * parser, PT_NODE * statement, QFILE_LIST_ID * list_id, bool savepoint_started)
|
| int |
delete_object_by_oid (const PARSER_CONTEXT * parser, const PT_NODE * statement)
|
| int |
delete_object_tuple (DB_OBJECT * obj)
|
| int |
delete_real_class (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_alter_synonym_internal (const char * synonym_name, const char * target_name, DB_OBJECT * target_owner, const char * comment, const int is_public_synonym, bool is_dblinked)
|
| PT_NODE * |
do_check_cte_or_system_class_spec (PARSER_CONTEXT * parser, PT_NODE * stmt, void * arg, int * continue_walk)
|
| int |
do_check_for_empty_classes_in_delete (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| PT_NODE * |
do_check_insert_server_allowed (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| int |
do_check_subquery_cache (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| void |
do_clear_insert_values (PARSER_CONTEXT * parser, PT_NODE * insert_statement)
|
| PT_NODE * |
do_clear_subquery_cache_flag (PARSER_CONTEXT * parser, PT_NODE * stmt, void * arg, int * continue_walk)
|
| int |
do_create_midxkey_for_constraint (DB_OTMPL * tmpl, SM_CLASS_CONSTRAINT * constraint, DB_VALUE * key)
|
| PT_NODE * |
do_create_odku_stmt (PARSER_CONTEXT * parser, PT_NODE * insert)
|
| int |
do_create_serial_internal (MOP * serial_object, const char * serial_name, DB_VALUE * start_val, DB_VALUE * inc_val, DB_VALUE * min_val, DB_VALUE * max_val, const int cyclic, const int cached_num, const int started, const char * comment, const char * class_name, const char * att_name)
|
| int |
do_create_server_internal (MOP * server_object, DB_VALUE * port_no, DB_VALUE * passwd, MOP owner, const char ** attr_names, char ** attr_val, int attr_cnt)
|
| int |
do_create_synonym_internal (const char * synonym_name, DB_OBJECT * synonym_owner, const char * target_name, DB_OBJECT * target_owner, const char * comment, const int is_public_synonym, const int or_replace, bool is_dblinked)
|
| int |
do_drop_synonym_internal (const char * synonym_name, const int is_public_synonym, const int if_exists, DB_OBJECT * synonym_class_obj, DB_OBJECT * synonym_obj)
|
| int |
do_evaluate_insert_values (PARSER_CONTEXT * parser, PT_NODE * insert_statement)
|
| int |
do_find_object_type (PT_MISC_TYPE type, const char * classname, CDC_DDL_OBJECT_TYPE * objtype)
|
| int |
do_find_unique_constraint_violations (DB_OTMPL * tmpl, bool for_update, OID ** oids, int * oids_count)
|
| MOP |
do_get_obj_id (DB_IDENTIFIER * obj_id, DB_OBJECT * class_mop, const char * name, const char * attr_name)
|
| MOP |
do_get_server_obj_id (DB_IDENTIFIER * server_obj_id, DB_OBJECT * server_class_mop, const char * server_name)
|
| int |
do_insert_at_server (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
do_insert_checks (PARSER_CONTEXT * parser, PT_NODE * statement, PT_NODE ** class_, PT_NODE ** update, PT_NODE * values)
|
| int |
do_insert_template (PARSER_CONTEXT * parser, DB_OTMPL ** otemplate, PT_NODE * statement, const char ** savepoint_name, int * row_count_ptr)
|
| int |
do_on_duplicate_key_update (PARSER_CONTEXT * parser, DB_OTMPL * tpl, PT_NODE * update_stmt)
|
| int |
do_prepare_insert_internal (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| PT_NODE * |
do_prepare_subquery_pre (PARSER_CONTEXT * parser, PT_NODE * stmt, void * arg, int * continue_walk)
|
| int |
do_rename_synonym_internal (const char * old_synonym_name, const char * new_synonym_name)
|
| int |
do_replace_into (PARSER_CONTEXT * parser, DB_OTMPL * tmpl, PT_NODE * spec, PT_NODE * class_specs)
|
| PT_NODE * |
do_replace_names_for_insert_values_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| int |
do_reserve_classinfo (PARSER_CONTEXT * parser, PT_NODE * statement, RESERVED_CLASS_INFO ** cls_info)
|
| int |
do_reserve_oidinfo (PARSER_CONTEXT * parser, PT_NODE * statement, OID ** oid)
|
| int |
do_select_internal (PARSER_CONTEXT * parser, PT_NODE * statement, bool for_ins_upd)
|
| void |
do_send_plan_trace_to_session (PARSER_CONTEXT * parser)
|
| PT_NODE * |
do_set_insert_server_not_allowed (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
|
| int |
do_set_pruning_type (PARSER_CONTEXT * parser, PT_NODE * spec, CLIENT_UPDATE_CLASS_INFO * cls)
|
| void |
do_set_trace_to_query_flag (QUERY_FLAG * query_flag)
|
| int |
do_supplemental_statement (PARSER_CONTEXT * parser, PT_NODE * statement, RESERVED_CLASS_INFO ** cls_info, OID * reserved_oid)
|
| int |
do_vacuum (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| char * |
extract_att_name (const char * str)
|
| int |
extract_bt_idx (const char * str)
|
| char ** |
find_update_columns (int * count_ptr, PT_NODE * statement)
|
| void |
get_activity_info (PARSER_CONTEXT * parser, DB_TRIGGER_ACTION * type, const char ** source, PT_NODE * statement)
|
| int |
get_dblink_password_decrypt (const char * passwd_cipher, DB_VALUE * decrypt_val)
|
| int |
get_dblink_password_encrypt (const char * passwd, DB_VALUE * encrypt_val)
|
| double |
get_priority (PARSER_CONTEXT * parser, PT_NODE * node)
|
| const char * |
get_savepoint_name_from_db_value (DB_VALUE * val)
|
| QFILE_LIST_ID * |
get_select_list_to_update (PARSER_CONTEXT * parser, PT_NODE * from, PT_NODE * column_names, PT_NODE * column_values, PT_NODE * with, PT_NODE * where, PT_NODE * order_by, PT_NODE * orderby_for, PT_NODE * using_index, PT_NODE * class_specs, PT_NODE * update_stmt)
|
| int |
has_unique_constraint (DB_OBJECT * mop)
|
| void |
init_compile_context (PARSER_CONTEXT * parser)
|
| void |
init_xasl_stream (XASL_STREAM * stream)
|
| void |
initialize_serial_invariant (SERIAL_INVARIANT * invariant, DB_VALUE val1, DB_VALUE val2, PT_OP_TYPE cmp_op, int val1_msgid, int val2_msgid, int error_type)
|
| int |
insert_local (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
insert_object_attr (const PARSER_CONTEXT * parser, DB_OTMPL * otemplate, DB_VALUE * value, PT_NODE * name, DB_ATTDESC * attr_desc)
|
| int |
insert_subquery_results (PARSER_CONTEXT * parser, PT_NODE * statement, PT_NODE * values_list, PT_NODE * class_, const char ** savepoint_name)
|
| int |
is_attr_not_in_insert_list (const PARSER_CONTEXT * parser, PT_NODE * name_list, const char * name)
|
| int |
is_replace_or_odku_allowed (DB_OBJECT * obj, int * allowed)
|
| int |
is_server_insert_allowed (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
is_server_update_allowed (PARSER_CONTEXT * parser, PT_NODE ** non_null_attrs, int * has_uniques, int *const server_allowed, const PT_NODE * statement)
|
| int |
make_cst_item_value (DB_OBJECT * obj, const char * str, DB_VALUE * db_val)
|
| PT_NODE * |
make_vmops (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| int |
map_iso_levels (PARSER_CONTEXT * parser, PT_NODE * statement, DB_TRAN_ISOLATION * tran_isolation, PT_NODE * node)
|
| int |
merge_mop_list_extension (DB_OBJLIST * new_objlist, DB_OBJLIST ** list)
|
| PT_NODE * |
pt_append_odku_references (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| PT_NODE * |
pt_sub_host_vars_index (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| int |
select_delete_list (PARSER_CONTEXT * parser, QFILE_LIST_ID ** result_p, PT_NODE * delete_stmt)
|
| MOP |
server_find (PT_NODE * node_server, PT_NODE * node_owner)
|
| int |
set_iso_level (PARSER_CONTEXT * parser, DB_TRAN_ISOLATION * tran_isolation, bool * async_ws, PT_NODE * statement, const DB_VALUE * level)
|
| XASL_NODE * |
statement_to_update_xasl (PARSER_CONTEXT * parser, PT_NODE * statement, PT_NODE ** non_null_attrs)
|
| PT_NODE * |
test_check_option (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| bool |
truncate_need_repl_log (PT_NODE * statement)
|
| void |
unlink_list (PT_NODE * list)
|
| int |
update_at_server (PARSER_CONTEXT * parser, PT_NODE * from, PT_NODE * statement, PT_NODE ** non_null_attrs, int has_uniques)
|
| int |
update_check_for_constraints (PARSER_CONTEXT * parser, int * has_unique, PT_NODE ** not_nulls, const PT_NODE * statement)
|
| bool |
update_check_having_meta_attr (PARSER_CONTEXT * parser, PT_NODE * assignment)
|
| int |
update_class_attributes (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| int |
update_object_attribute (PARSER_CONTEXT * parser, DB_OTMPL * otemplate, PT_NODE * name, DB_ATTDESC * attr_desc, DB_VALUE * value)
|
| int |
update_object_by_oid (PARSER_CONTEXT * parser, PT_NODE * statement, UPDATE_TYPE update_type)
|
| int |
update_object_tuple (PARSER_CONTEXT * parser, CLIENT_UPDATE_INFO * assigns, int assigns_count, CLIENT_UPDATE_CLASS_INFO * upd_classes_info, int classes_cnt, const int turn_off_unique_check, const int turn_off_serializable_conflict_check, UPDATE_TYPE update_type, bool should_delete)
|
| int |
update_objs_for_list_file (PARSER_CONTEXT * parser, QFILE_LIST_ID * list_id, PT_NODE * statement, bool savepoint_started)
|
| int |
update_real_class (PARSER_CONTEXT * parser, PT_NODE * statement, bool savepoint_started)
|
Macros
Public Types Documentation
typedef CST_ITEM
typedef struct cst_item CST_ITEM;
enum CST_ITEM_ENUM
enum CST_ITEM_ENUM {
CST_UNDEFINED,
CST_NOBJECTS,
CST_NPAGES,
CST_NATTRIBUTES,
CST_BT_NKEYS
};
typedef EVAL_INSERT_VALUE
typedef struct eval_insert_value EVAL_INSERT_VALUE;
typedef ODKU_TUPLE_VALUE_ARG
typedef struct odku_tuple_value_arg ODKU_TUPLE_VALUE_ARG;
typedef RESERVED_CLASS_INFO
typedef struct reserved_class_info RESERVED_CLASS_INFO;
typedef SERIAL_INVARIANT
typedef struct serial_invariant SERIAL_INVARIANT;
enum SERVER_PREFERENCE
enum SERVER_PREFERENCE {
INSERT_SELECT = 1,
INSERT_VALUES = 2,
INSERT_DEFAULT = 4,
INSERT_REPLACE = 8,
INSERT_ON_DUP_KEY_UPDATE = 16
};
enum UPDATE_TYPE
enum UPDATE_TYPE {
NORMAL_UPDATE,
UPDATE_OBJECT,
ON_DUPLICATE_KEY_UPDATE
};
Public Attributes Documentation
variable cdc_Trigger_involved
bool cdc_Trigger_involved;
variable do_Trigger_involved
bool do_Trigger_involved;
Public Static Attributes Documentation
variable cst_item_tbl
variable delete_savepoint_number
int delete_savepoint_number;
variable insert_savepoint_number
int insert_savepoint_number;
variable merge_savepoint_number
int merge_savepoint_number;
variable tr_savepoint_number
variable update_savepoint_number
int update_savepoint_number;
Public Functions Documentation
function do_alter_serial
int do_alter_serial (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_alter_server
int do_alter_server (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_alter_synonym
int do_alter_synonym (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_alter_trigger
int do_alter_trigger (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_attach
int do_attach (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_call_method
int do_call_method (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_change_auto_increment_serial
int do_change_auto_increment_serial (
PARSER_CONTEXT * const parser,
MOP serial_obj,
PT_NODE * node_new_val
)
function do_check_delete_trigger
int do_check_delete_trigger (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_DO_FUNC * do_func
)
function do_check_insert_trigger
int do_check_insert_trigger (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_DO_FUNC * do_func
)
function do_check_internal_statements
int do_check_internal_statements (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_DO_FUNC do_func
)
function do_check_merge_trigger
int do_check_merge_trigger (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_DO_FUNC * do_func
)
function do_check_update_trigger
int do_check_update_trigger (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_DO_FUNC * do_func
)
function do_commit
int do_commit (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_create_auto_increment_serial
int do_create_auto_increment_serial (
PARSER_CONTEXT * parser,
MOP * serial_object,
const char * class_name,
PT_NODE * att
)
function do_create_serial
int do_create_serial (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_create_server
int do_create_server (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_create_synonym
int do_create_synonym (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_create_trigger
int do_create_trigger (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_delete
int do_delete (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_drop_serial
int do_drop_serial (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_drop_server
int do_drop_server (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_drop_session_variables
int do_drop_session_variables (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_drop_synonym
int do_drop_synonym (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_drop_trigger
int do_drop_trigger (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_evaluate
int do_evaluate (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_evaluate_default_expr
int do_evaluate_default_expr (
PARSER_CONTEXT * parser,
PT_NODE * class_name
)
function do_execute_delete
int do_execute_delete (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_execute_do
int do_execute_do (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_execute_insert
int do_execute_insert (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_execute_merge
int do_execute_merge (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_execute_prepared_subquery
int do_execute_prepared_subquery (
PARSER_CONTEXT * parser,
PT_NODE * stmt,
int num_query,
DB_PREPARE_SUBQUERY_INFO * info
)
function do_execute_select
int do_execute_select (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_execute_session_statement
int do_execute_session_statement (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_execute_statement
int do_execute_statement (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_execute_subquery
int do_execute_subquery (
PARSER_CONTEXT * parser,
PT_NODE * stmt
)
function do_execute_trigger
int do_execute_trigger (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_execute_update
int do_execute_update (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_find_class_by_query
int do_find_class_by_query (
const char * name,
char * buf,
int buf_size
)
function do_find_serial_by_query
int do_find_serial_by_query (
const char * name,
char * buf,
int buf_size
)
function do_find_stored_procedure_by_query
int do_find_stored_procedure_by_query (
const char * name,
char * buf,
int buf_size
)
function do_find_synonym_by_query
int do_find_synonym_by_query (
const char * name,
char * buf,
int buf_size
)
function do_find_trigger_by_query
int do_find_trigger_by_query (
const char * name,
char * buf,
int buf_size
)
function do_get_optimization_param
int do_get_optimization_param (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_get_serial_cached_num
int do_get_serial_cached_num (
int * cached_num,
MOP serial_obj
)
function do_get_serial_obj_id
MOP do_get_serial_obj_id (
DB_IDENTIFIER * serial_obj_id,
DB_OBJECT * serial_class_mop,
const char * serial_name
)
function do_get_stats
int do_get_stats (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_get_trigger
int do_get_trigger (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_get_xaction
int do_get_xaction (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_insert
int do_insert (
PARSER_CONTEXT * parser,
PT_NODE * root_statement
)
function do_internal_statements
int do_internal_statements (
PARSER_CONTEXT * parser,
PT_NODE * internal_stmt_list,
const int phase
)
function do_kill
int do_kill (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_merge
int do_merge (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_prepare_delete
int do_prepare_delete (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_NODE * parent
)
function do_prepare_insert
int do_prepare_insert (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_prepare_merge
int do_prepare_merge (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_prepare_select
int do_prepare_select (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_prepare_session_statement
int do_prepare_session_statement (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_prepare_statement
int do_prepare_statement (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_prepare_subquery
int do_prepare_subquery (
PARSER_CONTEXT * parser,
PT_NODE * stmt
)
function do_prepare_to_commit
int do_prepare_to_commit (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_prepare_update
int do_prepare_update (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_remove_trigger
int do_remove_trigger (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_rename_server
int do_rename_server (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_rename_synonym
int do_rename_synonym (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_rename_trigger
int do_rename_trigger (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_replicate_statement
int do_replicate_statement (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_reset_auto_increment_serial
int do_reset_auto_increment_serial (
MOP serial_obj
)
function do_rollback
int do_rollback (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_savepoint
int do_savepoint (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_scope
int do_scope (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_select
int do_select (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_select_for_ins_upd
int do_select_for_ins_upd (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_set_names
int do_set_names (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_set_optimization_param
int do_set_optimization_param (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_set_query_trace
int do_set_query_trace (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_set_session_variables
int do_set_session_variables (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_set_sys_params
int do_set_sys_params (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_set_timezone
int do_set_timezone (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_set_trigger
int do_set_trigger (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_set_xaction
int do_set_xaction (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_statement
int do_statement (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_statements
int do_statements (
PARSER_CONTEXT * parser,
PT_NODE * statement_list
)
function do_update
int do_update (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_update_auto_increment_serial_on_rename
int do_update_auto_increment_serial_on_rename (
MOP serial_obj,
const char * class_name,
const char * att_name
)
function do_update_maxvalue_of_auto_increment_serial
int do_update_maxvalue_of_auto_increment_serial (
PARSER_CONTEXT * parser,
MOP * serial_object,
const char * class_name,
PT_NODE * att
)
function do_update_stats
int do_update_stats (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function get_dblink_info_from_dbserver
int get_dblink_info_from_dbserver (
PARSER_CONTEXT * parser,
PT_NODE * server_name,
PT_NODE * owner_name,
DB_VALUE * out_val
)
function get_dblink_owner_name_from_dbserver
int get_dblink_owner_name_from_dbserver (
PARSER_CONTEXT * parser,
PT_NODE * server_nm,
PT_NODE * owner_nm,
DB_VALUE * out_val
)
function init_update_data
int init_update_data (
PARSER_CONTEXT * parser,
PT_NODE * statement,
CLIENT_UPDATE_INFO ** assigns_data,
int * assigns_count,
CLIENT_UPDATE_CLASS_INFO ** cls_data,
int * cls_count,
DB_VALUE ** values,
int * values_cnt,
bool has_delete
)
function insert_rewrite_names_in_value_clauses
void insert_rewrite_names_in_value_clauses (
PARSER_CONTEXT * parser,
PT_NODE * insert_statement
)
function is_stmt_based_repl_type
bool is_stmt_based_repl_type (
const PT_NODE * node
)
function pt_check_dblink_password
int pt_check_dblink_password (
PARSER_CONTEXT * parser,
const char * passwd,
char * cipher_buf,
int ciper_buf_size
)
function pt_is_allowed_result_cache
bool pt_is_allowed_result_cache ()
Public Static Functions Documentation
function build_xasl_for_server_delete
static int build_xasl_for_server_delete (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function call_method
static int call_method (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function check_for_cons
static int check_for_cons (
PARSER_CONTEXT * parser,
int * has_unique,
PT_NODE ** non_null_attrs,
const PT_NODE * attr_list,
DB_OBJECT * class_obj
)
function check_merge_trigger
static int check_merge_trigger (
PT_DO_FUNC * do_func,
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function check_missing_non_null_attrs
static int check_missing_non_null_attrs (
const PARSER_CONTEXT * parser,
const PT_NODE * spec,
PT_NODE * attr_list,
const bool has_default_values_list
)
function check_serial_invariants
static int check_serial_invariants (
SERIAL_INVARIANT * invariants,
int num_invariants,
int * ret_msg_id
)
function check_timeout_value
static int check_timeout_value (
PARSER_CONTEXT * parser,
PT_NODE * statement,
DB_VALUE * val
)
function check_trigger
static int check_trigger (
DB_TRIGGER_EVENT event,
PT_DO_FUNC * do_func,
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function convert_event_to_tr_event
static DB_TRIGGER_EVENT convert_event_to_tr_event (
const PT_EVENT_TYPE ev
)
function convert_misc_to_tr_status
static DB_TRIGGER_STATUS convert_misc_to_tr_status (
const PT_MISC_TYPE pt_status
)
function convert_misc_to_tr_time
static DB_TRIGGER_TIME convert_misc_to_tr_time (
const PT_MISC_TYPE pt_time
)
function convert_speclist_to_objlist
static int convert_speclist_to_objlist (
DB_OBJLIST ** triglist,
PT_NODE * specnode
)
function delete_list_by_oids
static int delete_list_by_oids (
PARSER_CONTEXT * parser,
PT_NODE * statement,
QFILE_LIST_ID * list_id,
bool savepoint_started
)
function delete_object_by_oid
static int delete_object_by_oid (
const PARSER_CONTEXT * parser,
const PT_NODE * statement
)
function delete_object_tuple
static int delete_object_tuple (
DB_OBJECT * obj
)
function delete_real_class
static int delete_real_class (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_alter_synonym_internal
static int do_alter_synonym_internal (
const char * synonym_name,
const char * target_name,
DB_OBJECT * target_owner,
const char * comment,
const int is_public_synonym,
bool is_dblinked
)
function do_check_cte_or_system_class_spec
static PT_NODE * do_check_cte_or_system_class_spec (
PARSER_CONTEXT * parser,
PT_NODE * stmt,
void * arg,
int * continue_walk
)
function do_check_for_empty_classes_in_delete
static int do_check_for_empty_classes_in_delete (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_check_insert_server_allowed
static PT_NODE * do_check_insert_server_allowed (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function do_check_subquery_cache
static int do_check_subquery_cache (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_clear_insert_values
static void do_clear_insert_values (
PARSER_CONTEXT * parser,
PT_NODE * insert_statement
)
function do_clear_subquery_cache_flag
static PT_NODE * do_clear_subquery_cache_flag (
PARSER_CONTEXT * parser,
PT_NODE * stmt,
void * arg,
int * continue_walk
)
function do_create_midxkey_for_constraint
static int do_create_midxkey_for_constraint (
DB_OTMPL * tmpl,
SM_CLASS_CONSTRAINT * constraint,
DB_VALUE * key
)
function do_create_odku_stmt
static PT_NODE * do_create_odku_stmt (
PARSER_CONTEXT * parser,
PT_NODE * insert
)
function do_create_serial_internal
static int do_create_serial_internal (
MOP * serial_object,
const char * serial_name,
DB_VALUE * start_val,
DB_VALUE * inc_val,
DB_VALUE * min_val,
DB_VALUE * max_val,
const int cyclic,
const int cached_num,
const int started,
const char * comment,
const char * class_name,
const char * att_name
)
function do_create_server_internal
static int do_create_server_internal (
MOP * server_object,
DB_VALUE * port_no,
DB_VALUE * passwd,
MOP owner,
const char ** attr_names,
char ** attr_val,
int attr_cnt
)
function do_create_synonym_internal
static int do_create_synonym_internal (
const char * synonym_name,
DB_OBJECT * synonym_owner,
const char * target_name,
DB_OBJECT * target_owner,
const char * comment,
const int is_public_synonym,
const int or_replace,
bool is_dblinked
)
function do_drop_synonym_internal
static int do_drop_synonym_internal (
const char * synonym_name,
const int is_public_synonym,
const int if_exists,
DB_OBJECT * synonym_class_obj,
DB_OBJECT * synonym_obj
)
function do_evaluate_insert_values
static int do_evaluate_insert_values (
PARSER_CONTEXT * parser,
PT_NODE * insert_statement
)
function do_find_object_type
static int do_find_object_type (
PT_MISC_TYPE type,
const char * classname,
CDC_DDL_OBJECT_TYPE * objtype
)
function do_find_unique_constraint_violations
static int do_find_unique_constraint_violations (
DB_OTMPL * tmpl,
bool for_update,
OID ** oids,
int * oids_count
)
function do_get_obj_id
static MOP do_get_obj_id (
DB_IDENTIFIER * obj_id,
DB_OBJECT * class_mop,
const char * name,
const char * attr_name
)
function do_get_server_obj_id
static MOP do_get_server_obj_id (
DB_IDENTIFIER * server_obj_id,
DB_OBJECT * server_class_mop,
const char * server_name
)
function do_insert_at_server
static int do_insert_at_server (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_insert_checks
static int do_insert_checks (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_NODE ** class_,
PT_NODE ** update,
PT_NODE * values
)
function do_insert_template
static int do_insert_template (
PARSER_CONTEXT * parser,
DB_OTMPL ** otemplate,
PT_NODE * statement,
const char ** savepoint_name,
int * row_count_ptr
)
function do_on_duplicate_key_update
static int do_on_duplicate_key_update (
PARSER_CONTEXT * parser,
DB_OTMPL * tpl,
PT_NODE * update_stmt
)
function do_prepare_insert_internal
static int do_prepare_insert_internal (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function do_prepare_subquery_pre
static PT_NODE * do_prepare_subquery_pre (
PARSER_CONTEXT * parser,
PT_NODE * stmt,
void * arg,
int * continue_walk
)
function do_rename_synonym_internal
static int do_rename_synonym_internal (
const char * old_synonym_name,
const char * new_synonym_name
)
function do_replace_into
static int do_replace_into (
PARSER_CONTEXT * parser,
DB_OTMPL * tmpl,
PT_NODE * spec,
PT_NODE * class_specs
)
function do_replace_names_for_insert_values_pre
static PT_NODE * do_replace_names_for_insert_values_pre (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function do_reserve_classinfo
static int do_reserve_classinfo (
PARSER_CONTEXT * parser,
PT_NODE * statement,
RESERVED_CLASS_INFO ** cls_info
)
function do_reserve_oidinfo
static int do_reserve_oidinfo (
PARSER_CONTEXT * parser,
PT_NODE * statement,
OID ** oid
)
function do_select_internal
static int do_select_internal (
PARSER_CONTEXT * parser,
PT_NODE * statement,
bool for_ins_upd
)
function do_send_plan_trace_to_session
static void do_send_plan_trace_to_session (
PARSER_CONTEXT * parser
)
function do_set_insert_server_not_allowed
static PT_NODE * do_set_insert_server_not_allowed (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * void_arg,
int * continue_walk
)
function do_set_pruning_type
static int do_set_pruning_type (
PARSER_CONTEXT * parser,
PT_NODE * spec,
CLIENT_UPDATE_CLASS_INFO * cls
)
function do_set_trace_to_query_flag
static void do_set_trace_to_query_flag (
QUERY_FLAG * query_flag
)
function do_supplemental_statement
static int do_supplemental_statement (
PARSER_CONTEXT * parser,
PT_NODE * statement,
RESERVED_CLASS_INFO ** cls_info,
OID * reserved_oid
)
function do_vacuum
static int do_vacuum (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
static char * extract_att_name (
const char * str
)
static int extract_bt_idx (
const char * str
)
function find_update_columns
static char ** find_update_columns (
int * count_ptr,
PT_NODE * statement
)
function get_activity_info
static void get_activity_info (
PARSER_CONTEXT * parser,
DB_TRIGGER_ACTION * type,
const char ** source,
PT_NODE * statement
)
function get_dblink_password_decrypt
static int get_dblink_password_decrypt (
const char * passwd_cipher,
DB_VALUE * decrypt_val
)
function get_dblink_password_encrypt
static int get_dblink_password_encrypt (
const char * passwd,
DB_VALUE * encrypt_val
)
function get_priority
static double get_priority (
PARSER_CONTEXT * parser,
PT_NODE * node
)
function get_savepoint_name_from_db_value
static const char * get_savepoint_name_from_db_value (
DB_VALUE * val
)
function get_select_list_to_update
static QFILE_LIST_ID * get_select_list_to_update (
PARSER_CONTEXT * parser,
PT_NODE * from,
PT_NODE * column_names,
PT_NODE * column_values,
PT_NODE * with,
PT_NODE * where,
PT_NODE * order_by,
PT_NODE * orderby_for,
PT_NODE * using_index,
PT_NODE * class_specs,
PT_NODE * update_stmt
)
function has_unique_constraint
static int has_unique_constraint (
DB_OBJECT * mop
)
function init_compile_context
static void init_compile_context (
PARSER_CONTEXT * parser
)
function init_xasl_stream
static void init_xasl_stream (
XASL_STREAM * stream
)
function initialize_serial_invariant
static void initialize_serial_invariant (
SERIAL_INVARIANT * invariant,
DB_VALUE val1,
DB_VALUE val2,
PT_OP_TYPE cmp_op,
int val1_msgid,
int val2_msgid,
int error_type
)
function insert_local
static int insert_local (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function insert_object_attr
static int insert_object_attr (
const PARSER_CONTEXT * parser,
DB_OTMPL * otemplate,
DB_VALUE * value,
PT_NODE * name,
DB_ATTDESC * attr_desc
)
function insert_subquery_results
static int insert_subquery_results (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_NODE * values_list,
PT_NODE * class_,
const char ** savepoint_name
)
function is_attr_not_in_insert_list
static int is_attr_not_in_insert_list (
const PARSER_CONTEXT * parser,
PT_NODE * name_list,
const char * name
)
function is_replace_or_odku_allowed
static int is_replace_or_odku_allowed (
DB_OBJECT * obj,
int * allowed
)
function is_server_insert_allowed
static int is_server_insert_allowed (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function is_server_update_allowed
static int is_server_update_allowed (
PARSER_CONTEXT * parser,
PT_NODE ** non_null_attrs,
int * has_uniques,
int * const server_allowed,
const PT_NODE * statement
)
function make_cst_item_value
static int make_cst_item_value (
DB_OBJECT * obj,
const char * str,
DB_VALUE * db_val
)
function make_vmops
static PT_NODE * make_vmops (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function map_iso_levels
static int map_iso_levels (
PARSER_CONTEXT * parser,
PT_NODE * statement,
DB_TRAN_ISOLATION * tran_isolation,
PT_NODE * node
)
function merge_mop_list_extension
static int merge_mop_list_extension (
DB_OBJLIST * new_objlist,
DB_OBJLIST ** list
)
function pt_append_odku_references
static PT_NODE * pt_append_odku_references (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_sub_host_vars_index
static PT_NODE * pt_sub_host_vars_index (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function select_delete_list
static int select_delete_list (
PARSER_CONTEXT * parser,
QFILE_LIST_ID ** result_p,
PT_NODE * delete_stmt
)
function server_find
static MOP server_find (
PT_NODE * node_server,
PT_NODE * node_owner
)
function set_iso_level
static int set_iso_level (
PARSER_CONTEXT * parser,
DB_TRAN_ISOLATION * tran_isolation,
bool * async_ws,
PT_NODE * statement,
const DB_VALUE * level
)
function statement_to_update_xasl
static XASL_NODE * statement_to_update_xasl (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_NODE ** non_null_attrs
)
function test_check_option
static PT_NODE * test_check_option (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function truncate_need_repl_log
static bool truncate_need_repl_log (
PT_NODE * statement
)
function unlink_list
static void unlink_list (
PT_NODE * list
)
function update_at_server
static int update_at_server (
PARSER_CONTEXT * parser,
PT_NODE * from,
PT_NODE * statement,
PT_NODE ** non_null_attrs,
int has_uniques
)
function update_check_for_constraints
static int update_check_for_constraints (
PARSER_CONTEXT * parser,
int * has_unique,
PT_NODE ** not_nulls,
const PT_NODE * statement
)
static bool update_check_having_meta_attr (
PARSER_CONTEXT * parser,
PT_NODE * assignment
)
function update_class_attributes
static int update_class_attributes (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function update_object_attribute
static int update_object_attribute (
PARSER_CONTEXT * parser,
DB_OTMPL * otemplate,
PT_NODE * name,
DB_ATTDESC * attr_desc,
DB_VALUE * value
)
function update_object_by_oid
static int update_object_by_oid (
PARSER_CONTEXT * parser,
PT_NODE * statement,
UPDATE_TYPE update_type
)
function update_object_tuple
static int update_object_tuple (
PARSER_CONTEXT * parser,
CLIENT_UPDATE_INFO * assigns,
int assigns_count,
CLIENT_UPDATE_CLASS_INFO * upd_classes_info,
int classes_cnt,
const int turn_off_unique_check,
const int turn_off_serializable_conflict_check,
UPDATE_TYPE update_type,
bool should_delete
)
function update_objs_for_list_file
static int update_objs_for_list_file (
PARSER_CONTEXT * parser,
QFILE_LIST_ID * list_id,
PT_NODE * statement,
bool savepoint_started
)
function update_real_class
static int update_real_class (
PARSER_CONTEXT * parser,
PT_NODE * statement,
bool savepoint_started
)
Macro Definition Documentation
define CUSTOM_PRINT_4_SHA_COMPUTE
#define CUSTOM_PRINT_4_SHA_COMPUTE `( PT_CONVERT_RANGE | PT_PRINT_QUOTES | PT_PRINT_USER | PT_PRINT_HOST_VAR_COUNT | PT_PRINT_DBLINK_INFO )`
define DBLINK_PASSWORD_CIPHER_LENGTH
#define DBLINK_PASSWORD_CIPHER_LENGTH `( DBLINK_PASSWORD_MAX_LENGTH + DBLINK_PASSWORD_CONFUSED_LENGTH )`
define DBLINK_PASSWORD_CONFUSED_LENGTH
#define DBLINK_PASSWORD_CONFUSED_LENGTH `(6)`
define DBLINK_PASSWORD_MAX_BUFSIZE
#define DBLINK_PASSWORD_MAX_BUFSIZE `(( int )( DBLINK_PASSWORD_CIPHER_LENGTH / 3 * 4) + DBLINK_PASSWORD_PAD_LENGTH )`
define DBLINK_PASSWORD_MAX_LENGTH
#define DBLINK_PASSWORD_MAX_LENGTH `(128)`
define DBLINK_PASSWORD_PAD_LENGTH
#define DBLINK_PASSWORD_PAD_LENGTH `(40)`
define DB_SERIAL_MAX
#define DB_SERIAL_MAX `"99999999999999999999999999999999999999"`
define DB_SERIAL_MIN
#define DB_SERIAL_MIN `"-99999999999999999999999999999999999999"`
define DB_VALUE_STACK_MAX
#define DB_VALUE_STACK_MAX `40`
define ER_PT_UNKNOWN_STATEMENT
#define ER_PT_UNKNOWN_STATEMENT `ER_GENERIC_ERROR`
define ER_TR_INVALID_VALUE_TYPE
#define ER_TR_INVALID_VALUE_TYPE `ER_GENERIC_ERROR`
define IS_INVALIDATE_ACTION_STATEMENT
#define IS_INVALIDATE_ACTION_STATEMENT (
statement
) `/* multi line expression */`
define IS_PRINT_ACTION_STATEMENT
#define IS_PRINT_ACTION_STATEMENT (
statement
) `/* multi line expression */`
define IS_REJECT_ACTION_STATEMENT
#define IS_REJECT_ACTION_STATEMENT (
statement
) `/* multi line expression */`
define MAX_DOMAIN_NAME_SIZE
#define MAX_DOMAIN_NAME_SIZE `150`
define MAX_LEN
define MAX_SERIAL_INVARIANT
#define MAX_SERIAL_INVARIANT `8`
define PT_NODE_ACTION
#define PT_NODE_ACTION (
node
) `((node)->info.create_trigger.trigger_action)`
define PT_NODE_ACTION_TIME
#define PT_NODE_ACTION_TIME (
node
) `( convert_misc_to_tr_time ((node)->info.create_trigger.action_time))`
define PT_NODE_COND
#define PT_NODE_COND (
node
) `((node)->info.create_trigger.trigger_condition)`
define PT_NODE_COND_TIME
#define PT_NODE_COND_TIME (
node
) `( convert_misc_to_tr_time ((node)->info.create_trigger.condition_time))`
define PT_NODE_SR_CACHED_NUM_VAL
#define PT_NODE_SR_CACHED_NUM_VAL (
node
) `((node)->info.serial.cached_num_val)`
define PT_NODE_SR_CYCLIC
#define PT_NODE_SR_CYCLIC (
node
) `((node)->info.serial.cyclic )`
define PT_NODE_SR_INCREMENT_VAL
#define PT_NODE_SR_INCREMENT_VAL (
node
) `((node)->info.serial.increment_val)`
define PT_NODE_SR_MAX_VAL
#define PT_NODE_SR_MAX_VAL (
node
) `((node)->info.serial.max_val)`
define PT_NODE_SR_MIN_VAL
#define PT_NODE_SR_MIN_VAL (
node
) `((node)->info.serial.min_val)`
define PT_NODE_SR_NAME
#define PT_NODE_SR_NAME (
node
) `((node)->info.serial.serial_name->info.name.original)`
define PT_NODE_SR_NO_CACHE
#define PT_NODE_SR_NO_CACHE (
node
) `((node)->info.serial.no_cache)`
define PT_NODE_SR_NO_CYCLIC
#define PT_NODE_SR_NO_CYCLIC (
node
) `((node)->info.serial.no_cyclic )`
define PT_NODE_SR_NO_MAX
#define PT_NODE_SR_NO_MAX (
node
) `((node)->info.serial.no_max )`
define PT_NODE_SR_NO_MIN
#define PT_NODE_SR_NO_MIN (
node
) `((node)->info.serial.no_min )`
define PT_NODE_SR_START_VAL
#define PT_NODE_SR_START_VAL (
node
) `((node)->info.serial.start_val)`
define PT_NODE_TR_EVENT_TYPE
#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_NAME
#define PT_NODE_TR_NAME (
node
) `((node)->info.create_trigger.trigger_name->info.name.original)`
define PT_NODE_TR_PRI
#define PT_NODE_TR_PRI (
node
) `((node)->info.create_trigger.trigger_priority)`
define PT_NODE_TR_REF
#define PT_NODE_TR_REF (
node
) `((node)->info.create_trigger.trigger_reference)`
define PT_NODE_TR_STATUS
#define PT_NODE_TR_STATUS (
node
) `( convert_misc_to_tr_status ((node)->info.create_trigger.trigger_status))`
define PT_NODE_TR_TARGET
#define PT_NODE_TR_TARGET (
node
) `((node)->info.create_trigger.trigger_event->info.event_spec.event_target)`
define PT_TR_ATTR_NAME
#define PT_TR_ATTR_NAME (
attr
) `((attr)->info.name.original)`
define PT_TR_REF_REFERENCE
#define PT_TR_REF_REFERENCE (
ref
) `(&(ref)->info.event_object)`
define PT_TR_TARGET_ATTR
#define PT_TR_TARGET_ATTR (
target
) `((target)->info.event_target.attribute)`
define PT_TR_TARGET_CLASS
#define PT_TR_TARGET_CLASS (
target
) `((target)->info.event_target.class_name->info.name.original)`
define QUERY_BUF_SIZE
#define QUERY_BUF_SIZE `2048`
define QUERY_BUF_SIZE
#define QUERY_BUF_SIZE `2048`
define QUERY_BUF_SIZE
#define QUERY_BUF_SIZE `2048`
define QUERY_BUF_SIZE
#define QUERY_BUF_SIZE `2048`
define QUERY_BUF_SIZE
#define QUERY_BUF_SIZE `2048`
#define SERVER_ATTR_COMMENT `"comment"`
define SERVER_ATTR_DB_NAME
#define SERVER_ATTR_DB_NAME `"db_name"`
define SERVER_ATTR_HOST
#define SERVER_ATTR_HOST `"host"`
define SERVER_ATTR_LINK_NAME
#define SERVER_ATTR_LINK_NAME `"link_name"`
define SERVER_ATTR_LINK_NAME_BUF_SIZE
#define SERVER_ATTR_LINK_NAME_BUF_SIZE `(255)`
define SERVER_ATTR_OWNER
#define SERVER_ATTR_OWNER `"owner"`
define SERVER_ATTR_PASSWORD
#define SERVER_ATTR_PASSWORD `"password"`
define SERVER_ATTR_PORT
#define SERVER_ATTR_PORT `"port"`
define SERVER_ATTR_PROPERTIES
#define SERVER_ATTR_PROPERTIES `"properties"`
define SERVER_ATTR_USER_NAME
#define SERVER_ATTR_USER_NAME `"user_name"`
define UNIQUE_SAVEPOINT_ALTER_TRIGGER
#define UNIQUE_SAVEPOINT_ALTER_TRIGGER `"aLTERtRIGGER"`
define UNIQUE_SAVEPOINT_EXTERNAL_STATEMENT
#define UNIQUE_SAVEPOINT_EXTERNAL_STATEMENT `"eXTERNALsTATEMENT"`
The documentation for this class was generated from the following file cubrid/src/query/execute_statement.c