CUBRID Engine  latest
execute_statement.h
Go to the documentation of this file.
1 /*
2  * Copyright 2008 Search Solution Corporation
3  * Copyright 2016 CUBRID Corporation
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 
20 /*
21  * execute_statement.h -
22  */
23 
24 #ifndef _EXECUTE_STATEMENT_H_
25 #define _EXECUTE_STATEMENT_H_
26 
27 #ident "$Id$"
28 
29 #if defined (SERVER_MODE)
30 #error Does not belong to server module
31 #endif /* SERVER_MODE */
32 
33 #include "dbi.h"
34 #include "parser.h"
35 
36 extern int do_update_auto_increment_serial_on_rename (MOP serial_obj, const char *class_name, const char *att_name);
37 extern int do_reset_auto_increment_serial (MOP serial_obj);
38 
39 extern int do_change_auto_increment_serial (PARSER_CONTEXT * const parser, MOP serial_obj, PT_NODE * new_cur_val);
40 
41 
42 extern MOP do_get_serial_obj_id (DB_IDENTIFIER * serial_obj_id, DB_OBJECT * serial_class_mop, const char *serial_name);
43 extern int do_get_serial_cached_num (int *cached_num, MOP serial_obj);
44 
45 extern int do_create_serial (PARSER_CONTEXT * parser, PT_NODE * statement);
46 
47 extern int do_create_auto_increment_serial (PARSER_CONTEXT * parser, MOP * serial_object, const char *class_name,
48  PT_NODE * att);
49 
51  const char *class_name, PT_NODE * att);
52 
53 extern int do_alter_serial (PARSER_CONTEXT * parser, PT_NODE * statement);
54 extern int do_drop_serial (PARSER_CONTEXT * parser, PT_NODE * statement);
55 
56 
57 typedef int (PT_DO_FUNC) (PARSER_CONTEXT *, PT_NODE *);
58 
59 extern bool do_Trigger_involved;
60 
61 extern int do_alter (PARSER_CONTEXT * parser, PT_NODE * statement);
62 
63 extern int do_alter_index (PARSER_CONTEXT * parser, const PT_NODE * statement);
64 extern int do_create_index (PARSER_CONTEXT * parser, const PT_NODE * statement);
65 extern int do_drop_index (PARSER_CONTEXT * parser, const PT_NODE * statement);
66 
67 extern int do_attach (PARSER_CONTEXT * parser, PT_NODE * statement);
68 extern int do_commit (PARSER_CONTEXT * parser, PT_NODE * statement);
69 extern int do_get_optimization_param (PARSER_CONTEXT * parser, PT_NODE * statement);
70 extern int do_get_xaction (PARSER_CONTEXT * parser, PT_NODE * statement);
71 extern int do_prepare_to_commit (PARSER_CONTEXT * parser, PT_NODE * statement);
72 extern int do_rollback (PARSER_CONTEXT * parser, PT_NODE * statement);
73 extern int do_savepoint (PARSER_CONTEXT * parser, PT_NODE * statement);
74 extern int do_set_optimization_param (PARSER_CONTEXT * parser, PT_NODE * statement);
75 extern int do_set_sys_params (PARSER_CONTEXT * parser, PT_NODE * statement);
76 extern int do_set_xaction (PARSER_CONTEXT * parser, PT_NODE * statement);
77 
78 extern int do_create_trigger (PARSER_CONTEXT * parser, PT_NODE * statement);
79 extern int do_drop_trigger (PARSER_CONTEXT * parser, PT_NODE * statement);
80 extern int do_set_trigger (PARSER_CONTEXT * parser, PT_NODE * statement);
81 extern int do_get_trigger (PARSER_CONTEXT * parser, PT_NODE * statement);
82 extern int do_rename_trigger (PARSER_CONTEXT * parser, PT_NODE * statement);
83 extern int do_alter_trigger (PARSER_CONTEXT * parser, PT_NODE * statement);
84 extern int do_execute_trigger (PARSER_CONTEXT * parser, PT_NODE * statement);
85 extern int do_remove_trigger (PARSER_CONTEXT * parser, PT_NODE * statement);
86 
87 extern int do_delete (PARSER_CONTEXT * parser, PT_NODE * statement);
88 extern int do_prepare_delete (PARSER_CONTEXT * parser, PT_NODE * statement, PT_NODE * parent);
89 extern int do_execute_delete (PARSER_CONTEXT * parser, PT_NODE * statement);
90 
91 extern int do_drop (PARSER_CONTEXT * parser, PT_NODE * statement);
92 
93 extern int do_drop_variable (PARSER_CONTEXT * parser, PT_NODE * statement);
94 
95 extern int do_evaluate (PARSER_CONTEXT * parser, PT_NODE * statement);
96 
97 extern int do_grant (const PARSER_CONTEXT * parser, const PT_NODE * statement);
98 extern int do_revoke (const PARSER_CONTEXT * parser, const PT_NODE * statement);
99 extern int do_create_user (const PARSER_CONTEXT * parser, const PT_NODE * statement);
100 extern int do_drop_user (const PARSER_CONTEXT * parser, const PT_NODE * statement);
101 extern int do_alter_user (const PARSER_CONTEXT * parser, const PT_NODE * statement);
102 
103 extern int do_insert (PARSER_CONTEXT * parser, PT_NODE * statement);
104 extern int do_prepare_insert (PARSER_CONTEXT * parser, PT_NODE * statement);
105 extern int do_execute_insert (PARSER_CONTEXT * parser, PT_NODE * statement);
106 
107 extern int do_call_method (PARSER_CONTEXT * parser, PT_NODE * statement);
108 extern void do_print_classname_on_method (DB_OBJECT * self, DB_VALUE * result);
109 extern void do_print_on_method (DB_OBJECT * self, DB_VALUE * result, DB_VALUE * msg);
110 extern void dbmeth_class_name (DB_OBJECT * self, DB_VALUE * result);
111 extern void dbmeth_print (DB_OBJECT * self, DB_VALUE * result, DB_VALUE * msg);
112 
113 extern int do_rename (const PARSER_CONTEXT * parser, const PT_NODE * statement);
114 
115 extern int do_scope (PARSER_CONTEXT * parser, PT_NODE * statement);
116 
117 extern int do_select (PARSER_CONTEXT * parser, PT_NODE * statement);
118 extern int do_select_for_ins_upd (PARSER_CONTEXT * parser, PT_NODE * statement);
119 extern int do_prepare_select (PARSER_CONTEXT * parser, PT_NODE * statement);
120 extern int do_execute_select (PARSER_CONTEXT * parser, PT_NODE * statement);
121 
122 extern int do_update (PARSER_CONTEXT * parser, PT_NODE * statement);
123 extern int do_prepare_update (PARSER_CONTEXT * parser, PT_NODE * statement);
124 extern int do_execute_update (PARSER_CONTEXT * parser, PT_NODE * statement);
125 
126 extern int do_update_stats (PARSER_CONTEXT * parser, PT_NODE * statement);
127 extern int do_get_stats (PARSER_CONTEXT * parser, PT_NODE * statement);
128 
129 extern int do_check_delete_trigger (PARSER_CONTEXT * parser, PT_NODE * statement, PT_DO_FUNC * do_func);
130 extern int do_check_insert_trigger (PARSER_CONTEXT * parser, PT_NODE * statement, PT_DO_FUNC * do_func);
131 extern int do_check_update_trigger (PARSER_CONTEXT * parser, PT_NODE * statement, PT_DO_FUNC * do_func);
132 extern int do_check_merge_trigger (PARSER_CONTEXT * parser, PT_NODE * statement, PT_DO_FUNC * do_func);
133 
134 extern int do_replicate_statement (PARSER_CONTEXT * parser, PT_NODE * statement);
135 
136 extern int do_statement (PARSER_CONTEXT * parser, PT_NODE * statement);
137 #if defined(ENABLE_UNUSED_FUNCTION)
138 extern int do_statements (PARSER_CONTEXT * parser, PT_NODE * statement_list);
139 extern int do_internal_statements (PARSER_CONTEXT * parser, PT_NODE * internal_stmt_list, const int phase);
140 #endif
141 extern int do_prepare_statement (PARSER_CONTEXT * parser, PT_NODE * statement);
142 extern int do_execute_statement (PARSER_CONTEXT * parser, PT_NODE * statement);
143 extern int do_check_internal_statements (PARSER_CONTEXT * parser, PT_NODE * statement,
144  /* PT_NODE * internal_stmt_list, */
145  PT_DO_FUNC do_func);
146 extern int do_truncate (PARSER_CONTEXT * parser, PT_NODE * statement);
147 extern int do_execute_do (PARSER_CONTEXT * parser, PT_NODE * statement);
148 extern int do_set_session_variables (PARSER_CONTEXT * parser, PT_NODE * statement);
149 extern int do_drop_session_variables (PARSER_CONTEXT * parser, PT_NODE * statement);
150 
151 extern int do_prepare_session_statement (PARSER_CONTEXT * parser, PT_NODE * statement);
152 extern int do_execute_session_statement (PARSER_CONTEXT * parser, PT_NODE * statement);
153 extern int do_evaluate_default_expr (PARSER_CONTEXT * parser, PT_NODE * class_name);
154 extern bool is_stmt_based_repl_type (const PT_NODE * node);
155 
156 extern int do_merge (PARSER_CONTEXT * parser, PT_NODE * statement);
157 extern int do_prepare_merge (PARSER_CONTEXT * parser, PT_NODE * statement);
158 extern int do_execute_merge (PARSER_CONTEXT * parser, PT_NODE * statement);
159 extern int do_set_names (PARSER_CONTEXT * parser, PT_NODE * statement);
160 extern int do_set_timezone (PARSER_CONTEXT * parser, PT_NODE * statement);
161 
162 extern int do_set_query_trace (PARSER_CONTEXT * parser, PT_NODE * statement);
163 extern int do_kill (PARSER_CONTEXT * parser, PT_NODE * statement);
164 #endif /* _EXECUTE_STATEMENT_H_ */
int do_update_auto_increment_serial_on_rename(MOP serial_obj, const char *class_name, const char *att_name)
int do_merge(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_create_trigger(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_prepare_update(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_update_maxvalue_of_auto_increment_serial(PARSER_CONTEXT *parser, MOP *serial_object, const char *class_name, PT_NODE *att)
int do_execute_statement(PARSER_CONTEXT *parser, PT_NODE *statement)
int( PT_DO_FUNC)(PARSER_CONTEXT *, PT_NODE *)
int do_alter(PARSER_CONTEXT *parser, PT_NODE *statement)
void do_print_classname_on_method(DB_OBJECT *self, DB_VALUE *result)
int do_commit(PARSER_CONTEXT *parser, PT_NODE *statement)
MOP do_get_serial_obj_id(DB_IDENTIFIER *serial_obj_id, DB_OBJECT *serial_class_mop, const char *serial_name)
int do_set_optimization_param(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_update(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_set_sys_params(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_alter_index(PARSER_CONTEXT *parser, const PT_NODE *statement)
void dbmeth_class_name(DB_OBJECT *self, DB_VALUE *result)
int do_create_serial(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_truncate(PARSER_CONTEXT *parser, PT_NODE *statement)
bool is_stmt_based_repl_type(const PT_NODE *node)
int do_replicate_statement(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_execute_merge(PARSER_CONTEXT *parser, PT_NODE *statement)
bool do_Trigger_involved
int do_kill(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_select_for_ins_upd(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_check_update_trigger(PARSER_CONTEXT *parser, PT_NODE *statement, PT_DO_FUNC *do_func)
int do_set_timezone(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_check_internal_statements(PARSER_CONTEXT *parser, PT_NODE *statement, PT_DO_FUNC do_func)
int do_insert(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_drop_serial(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_prepare_insert(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_evaluate_default_expr(PARSER_CONTEXT *parser, PT_NODE *class_name)
int do_get_trigger(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_drop(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_set_session_variables(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_change_auto_increment_serial(PARSER_CONTEXT *const parser, MOP serial_obj, PT_NODE *new_cur_val)
int do_alter_user(const PARSER_CONTEXT *parser, const PT_NODE *statement)
int do_alter_trigger(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_drop_user(const PARSER_CONTEXT *parser, const PT_NODE *statement)
int do_scope(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_get_xaction(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_get_serial_cached_num(int *cached_num, MOP serial_obj)
int do_drop_session_variables(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_create_user(const PARSER_CONTEXT *parser, const PT_NODE *statement)
int do_get_optimization_param(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_prepare_statement(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_check_delete_trigger(PARSER_CONTEXT *parser, PT_NODE *statement, PT_DO_FUNC *do_func)
void dbmeth_print(DB_OBJECT *self, DB_VALUE *result, DB_VALUE *msg)
int do_call_method(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_set_query_trace(PARSER_CONTEXT *parser, PT_NODE *statement)
SP_PARSER_CTX * parser
int do_delete(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_prepare_session_statement(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_prepare_merge(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_create_index(PARSER_CONTEXT *parser, const PT_NODE *statement)
int do_evaluate(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_check_merge_trigger(PARSER_CONTEXT *parser, PT_NODE *statement, PT_DO_FUNC *do_func)
int do_revoke(const PARSER_CONTEXT *parser, const PT_NODE *statement)
int do_drop_trigger(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_statement(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_prepare_delete(PARSER_CONTEXT *parser, PT_NODE *statement, PT_NODE *parent)
int do_grant(const PARSER_CONTEXT *parser, const PT_NODE *statement)
int do_remove_trigger(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_attach(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_drop_variable(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_prepare_select(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_update_stats(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_check_insert_trigger(PARSER_CONTEXT *parser, PT_NODE *statement, PT_DO_FUNC *do_func)
int do_execute_delete(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_set_trigger(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_prepare_to_commit(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_set_xaction(PARSER_CONTEXT *parser, PT_NODE *statement)
void do_print_on_method(DB_OBJECT *self, DB_VALUE *result, DB_VALUE *msg)
int do_rename(const PARSER_CONTEXT *parser, const PT_NODE *statement)
int do_execute_session_statement(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_rollback(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_execute_insert(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_execute_do(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_drop_index(PARSER_CONTEXT *parser, const PT_NODE *statement)
int do_execute_select(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_alter_serial(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_rename_trigger(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_reset_auto_increment_serial(MOP serial_obj)
int do_savepoint(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_execute_trigger(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_get_stats(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_set_names(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_execute_update(PARSER_CONTEXT *parser, PT_NODE *statement)
int do_select(PARSER_CONTEXT *parser, PT_NODE *statement)