36 #if !defined(SERVER_MODE) 46 #define DB_CONNECTION_STATUS_NOT_CONNECTED 0 47 #define DB_CONNECTION_STATUS_CONNECTED 1 48 #define DB_CONNECTION_STATUS_RESET -1 55 #if !defined(_DB_DISABLE_MODIFICATIONS_) 56 #define _DB_DISABLE_MODIFICATIONS_ 60 #if !defined(SERVER_MODE) 70 #define CHECK_CONNECT_VOID() \ 72 if (db_Connect_status != DB_CONNECTION_STATUS_CONNECTED) \ 74 er_set(ER_ERROR_SEVERITY, ARG_FILE_LINE, ER_OBJ_NO_CONNECT, 0); \ 79 #define CHECK_CONNECT_AND_RETURN_EXPR(return_expr_) \ 81 if (db_Connect_status != DB_CONNECTION_STATUS_CONNECTED) \ 83 er_set(ER_ERROR_SEVERITY, ARG_FILE_LINE, ER_OBJ_NO_CONNECT, 0); \ 84 return (return_expr_); \ 88 #define CHECK_CONNECT_ERROR() \ 89 CHECK_CONNECT_AND_RETURN_EXPR((DB_TYPE) ER_OBJ_NO_CONNECT) 91 #define CHECK_CONNECT_NULL() \ 92 CHECK_CONNECT_AND_RETURN_EXPR(NULL) 94 #define CHECK_CONNECT_ZERO() \ 95 CHECK_CONNECT_AND_RETURN_EXPR(0) 97 #define CHECK_CONNECT_ZERO_TYPE(TYPE) \ 98 CHECK_CONNECT_AND_RETURN_EXPR((TYPE)0) 100 #define CHECK_CONNECT_MINUSONE() \ 101 CHECK_CONNECT_AND_RETURN_EXPR(-1) 103 #define CHECK_CONNECT_FALSE() \ 104 CHECK_CONNECT_AND_RETURN_EXPR(false) 107 #define CHECK_MODIFICATION_VOID() \ 109 if (db_Disable_modifications) { \ 110 er_set(ER_ERROR_SEVERITY, ARG_FILE_LINE, ER_DB_NO_MODIFICATIONS, 0); \ 115 #define CHECK_MODIFICATION_AND_RETURN_EXPR(return_expr_) \ 116 if (db_Disable_modifications) { \ 117 er_set(ER_ERROR_SEVERITY, ARG_FILE_LINE, ER_DB_NO_MODIFICATIONS, 0); \ 118 return (return_expr_); \ 121 #define CHECK_MODIFICATION_ERROR() \ 122 CHECK_MODIFICATION_AND_RETURN_EXPR(ER_DB_NO_MODIFICATIONS) 124 #define CHECK_MODIFICATION_NULL() \ 125 CHECK_MODIFICATION_AND_RETURN_EXPR(NULL) 127 #define CHECK_MODIFICATION_MINUSONE() \ 128 CHECK_MODIFICATION_AND_RETURN_EXPR(-1) 130 #ifndef CHECK_MODIFICATION_NO_RETURN 131 #if defined (SA_MODE) 132 #define CHECK_MODIFICATION_NO_RETURN(error) \ 135 #define CHECK_MODIFICATION_NO_RETURN(error) \ 136 if (db_Disable_modifications) { \ 137 er_set(ER_ERROR_SEVERITY, ARG_FILE_LINE, ER_DB_NO_MODIFICATIONS, 0); \ 138 er_log_debug (ARG_FILE_LINE, "db_Disable_modification = %d\n", \ 139 db_Disable_modifications); \ 140 error = ER_DB_NO_MODIFICATIONS; \ 147 #define CHECK_1ARG_RETURN_EXPR(obj, expr) \ 149 if((obj) == NULL) { \ 150 er_set(ER_WARNING_SEVERITY, ARG_FILE_LINE, ER_OBJ_INVALID_ARGUMENTS, 0); \ 155 #define CHECK_2ARGS_RETURN_EXPR(obj1, obj2, expr) \ 157 if((obj1) == NULL || (obj2) == NULL) { \ 158 er_set(ER_WARNING_SEVERITY, ARG_FILE_LINE, ER_OBJ_INVALID_ARGUMENTS, 0); \ 163 #define CHECK_3ARGS_RETURN_EXPR(obj1, obj2, obj3, expr) \ 165 if((obj1) == NULL || (obj2) == NULL || (obj3) == NULL) { \ 166 er_set(ER_WARNING_SEVERITY, ARG_FILE_LINE, ER_OBJ_INVALID_ARGUMENTS, 0); \ 171 #define CHECK_1ARG_NULL(obj) \ 172 CHECK_1ARG_RETURN_EXPR(obj, NULL) 174 #define CHECK_2ARGS_NULL(obj1, obj2) \ 175 CHECK_2ARGS_RETURN_EXPR(obj1,obj2,NULL) 177 #define CHECK_3ARGS_NULL(obj1, obj2, obj3) \ 178 CHECK_3ARGS_RETURN_EXPR(obj1,obj2,obj3,NULL) 180 #define CHECK_1ARG_FALSE(obj) \ 181 CHECK_1ARG_RETURN_EXPR(obj,false) 183 #define CHECK_1ARG_TRUE(obj) \ 184 CHECK_1ARG_RETURN_EXPR(obj, true) 186 #define CHECK_1ARG_ERROR(obj) \ 187 CHECK_1ARG_RETURN_EXPR(obj,ER_OBJ_INVALID_ARGUMENTS) 189 #define CHECK_1ARG_ERROR_WITH_TYPE(obj, TYPE) \ 190 CHECK_1ARG_RETURN_EXPR(obj,(TYPE)ER_OBJ_INVALID_ARGUMENTS) 192 #define CHECK_1ARG_MINUSONE(obj) \ 193 CHECK_1ARG_RETURN_EXPR(obj,-1) 195 #define CHECK_2ARGS_ERROR(obj1, obj2) \ 196 CHECK_2ARGS_RETURN_EXPR(obj1, obj2, ER_OBJ_INVALID_ARGUMENTS) 198 #define CHECK_3ARGS_ERROR(obj1, obj2, obj3) \ 199 CHECK_3ARGS_RETURN_EXPR(obj1, obj2, obj3, ER_OBJ_INVALID_ARGUMENTS) 201 #define CHECK_1ARG_ZERO(obj) \ 202 CHECK_1ARG_RETURN_EXPR(obj, 0) 204 #define CHECK_1ARG_ZERO_WITH_TYPE(obj1, RETURN_TYPE) \ 205 CHECK_1ARG_RETURN_EXPR(obj1, (RETURN_TYPE) 0) 207 #define CHECK_2ARGS_ZERO(obj1, obj2) \ 208 CHECK_2ARGS_RETURN_EXPR(obj1,obj2, 0) 210 #define CHECK_1ARG_UNKNOWN(obj1) \ 211 CHECK_1ARG_RETURN_EXPR(obj1, DB_TYPE_UNKNOWN) 213 extern int db_init (
const char *program,
int print_version,
const char *
dbname,
const char *db_path,
214 const char *vol_path,
const char *log_path,
const char *lob_path,
215 const char *host_name,
const bool overwrite,
const char *comments,
const char *addmore_vols_file,
216 int npages,
int desired_pagesize,
int log_npages,
int desired_log_page_size,
234 #if !defined (SERVER_MODE) 245 #if defined (ENABLE_UNUSED_FUNCTION) 246 extern void *db_value_eh_key (
DB_VALUE * value);
247 extern int db_value_put_db_data (
DB_VALUE * value,
const DB_DATA * data);
269 int include_oid,
DB_SESSION ** session,
int *stmt_no);
272 int include_oid,
int execute,
bool is_new_statement);
int db_execute_statement_local(DB_SESSION *session, int stmt, DB_QUERY_RESULT **result)
int db_col_optimize(DB_COLLECTION *col)
int db_rename_internal(DB_OBJECT *classobj, const char *name, int class_namespace, const char *newname)
int db_savepoint_transaction_internal(const char *savepoint_name)
DB_SESSION * db_open_buffer_local(const char *buffer)
void db_drop_all_statements(DB_SESSION *session)
int db_drop_set_attribute_domain(MOP class_, const char *name, int class_attribute, const char *domain)
int db_get_parser_line_col(DB_SESSION *session, int *line, int *col)
int db_dput_internal(DB_OBJECT *obj, DB_ATTDESC *attribute, DB_VALUE *value)
PARSER_CONTEXT * db_get_parser(DB_SESSION *session)
int db_error_code_test(void)
DB_DATA * db_value_get_db_data(DB_VALUE *value)
DB_OBJECT * db_create_by_name_internal(const char *name)
int db_open_buffer_and_compile_first_statement(const char *CSQL_query, DB_QUERY_ERROR *query_error, int include_oid, DB_SESSION **session, int *stmt_no)
int parse_one_statement(int state)
int dbt_put_internal(DB_OTMPL *def, const char *name, DB_VALUE *value)
DB_NODE * db_get_statement(DB_SESSION *session, int id)
INTL_CODESET lang_charset(void)
DB_OBJECT * db_create_internal(DB_OBJECT *obj)
int db_parse_one_statement(DB_SESSION *session)
int db_init(const char *program, int print_version, const char *dbname, const char *db_path, const char *vol_path, const char *log_path, const char *lob_path, const char *host_name, const bool overwrite, const char *comments, const char *addmore_vols_file, int npages, int desired_pagesize, int log_npages, int desired_log_page_size, const char *lang_charset)
int db_set_system_generated_statement(DB_SESSION *session)
int db_add_attribute_internal(MOP class_, const char *name, const char *domain, DB_VALUE *default_value, SM_NAME_SPACE name_space)
DB_SESSION * db_make_session_for_one_statement_execution(FILE *file)
int db_Disable_modifications
void db_close_session_local(DB_SESSION *session)
BTID * db_constraint_index(DB_CONSTRAINT *constraint, BTID *index)
int db_put_internal(DB_OBJECT *obj, const char *name, DB_VALUE *value)
char ** db_get_lock_classes(DB_SESSION *session)
const char * db_error_string_test(int level)
DB_DOMAIN * db_attdesc_domain(DB_ATTDESC *desc)
DB_OTMPL * dbt_create_object_internal(DB_OBJECT *classobj)
int db_abort_to_savepoint_internal(const char *savepoint_name)
int dbt_dput_internal(DB_OTMPL *def, DB_ATTDESC *attribute, DB_VALUE *value)
int db_add_super_internal(DB_OBJECT *classobj, DB_OBJECT *super)
void db_set_connect_status(int status)
int db_compile_and_execute_queries_internal(const char *CSQL_query, void *result, DB_QUERY_ERROR *query_error, int include_oid, int execute, bool is_new_statement)
DB_VALUE * db_get_hostvars(DB_SESSION *session)
int db_compile_statement_local(DB_SESSION *session)
int db_compile_and_execute_local(const char *CSQL_query, void *result, DB_QUERY_ERROR *query_error)
int db_drop_attribute_internal(DB_OBJECT *classobj, const char *name)
int db_get_line_col_of_1st_error(DB_SESSION *session, DB_QUERY_ERROR *linecol)
int db_get_line_of_statement(DB_SESSION *session, int stmt_id)
int db_get_connect_status(void)