38 #if !defined(CAS_FOR_ORACLE) && !defined(CAS_FOR_MYSQL) 48 #define SRV_HANDLE_ALLOC_SIZE 256 57 #if !defined(LIBCAS_FOR_JSP) 65 int new_max_srv_handle;
66 int new_handle_id = 0;
70 #if !defined(LIBCAS_FOR_JSP) 79 if (srv_handle_table[i] ==
NULL)
81 *new_handle = srv_handle_table[
i];
82 new_handle_id = i + 1;
87 if (new_handle_id == 0)
91 if (new_srv_handle_table ==
NULL)
96 new_handle_id = max_srv_handle + 1;
97 memset (new_srv_handle_table + max_srv_handle, 0,
sizeof (
T_SRV_HANDLE *) * SRV_HANDLE_ALLOC_SIZE);
98 max_srv_handle = new_max_srv_handle;
99 srv_handle_table = new_srv_handle_table;
103 if (srv_handle ==
NULL)
108 srv_handle->
id = new_handle_id;
114 #if defined(CAS_FOR_ORACLE) 115 srv_handle->has_out_result =
false;
117 #if defined(CAS_FOR_ORACLE) || defined(CAS_FOR_MYSQL) 118 srv_handle->send_metadata_before_execute =
false;
119 srv_handle->next_cursor_pos = 1;
121 #if !defined(LIBCAS_FOR_JSP) 125 #if defined(CAS_FOR_MYSQL) 126 srv_handle->has_mysql_last_insert_id =
false;
129 *new_handle = srv_handle;
130 srv_handle_table[new_handle_id - 1] = srv_handle;
136 #if !defined(LIBCAS_FOR_JSP) 140 return new_handle_id;
151 return (srv_handle_table[h_id - 1]);
164 srv_handle = srv_handle_table[h_id - 1];
165 if (srv_handle ==
NULL)
173 #if !defined(CAS_FOR_ORACLE) && !defined(CAS_FOR_MYSQL) 179 srv_handle_table[h_id - 1] =
NULL;
180 #if !defined(LIBCAS_FOR_JSP) 190 int new_max_handle_id = 0;
194 srv_handle = srv_handle_table[
i];
195 if (srv_handle ==
NULL)
202 new_max_handle_id =
i;
209 srv_handle_table[
i] =
NULL;
210 #if !defined(LIBCAS_FOR_JSP) 215 max_handle_id = new_max_handle_id;
216 #if !defined(LIBCAS_FOR_JSP) 233 srv_handle = srv_handle_table[
i];
234 if (srv_handle ==
NULL)
253 srv_handle = srv_handle_table[
i];
254 if (srv_handle ==
NULL)
259 #if defined(CAS_FOR_ORACLE) || defined(CAS_FOR_MYSQL) 279 || srv_handle->
schema_type == CCI_SCH_DIRECT_SUPER_CLASS || srv_handle->
schema_type == CCI_SCH_PRIMARY_KEY)
287 #if defined (ENABLE_UNUSED_FUNCTION) 289 hm_srv_handle_set_pooled ()
296 srv_handle = srv_handle_table[
i];
297 if (srv_handle ==
NULL)
320 #if defined(CAS_FOR_ORACLE) || defined(CAS_FOR_MYSQL) 322 #if defined(CAS_FOR_MYSQL) 325 cas_mysql_stmt_free_result (srv_handle->
session);
329 if (free_flag ==
TRUE)
340 if (q_result[i].copied !=
TRUE && q_result[i].result)
344 if (q_result[i].is_holdable ==
true)
347 #if !defined(LIBCAS_FOR_JSP) 354 if (q_result[i].column_info)
360 if (free_flag ==
TRUE)
363 FREE_MEM (q_result[i].null_type_column);
367 if (free_flag ==
TRUE)
373 if (free_flag ==
TRUE)
390 #if defined(CAS_FOR_ORACLE) 391 cas_oracle_stmt_close (srv_handle->
session);
392 #elif defined(CAS_FOR_MYSQL) 393 cas_mysql_stmt_close (srv_handle->
session);
410 #if defined(CAS_FOR_ORACLE) || defined(CAS_FOR_MYSQL) 422 || srv_handle->
schema_type == CCI_SCH_DIRECT_SUPER_CLASS || srv_handle->
schema_type == CCI_SCH_PRIMARY_KEY)
427 else if (srv_handle->
schema_type == CCI_SCH_CLASS_PRIVILEGE || srv_handle->
schema_type == CCI_SCH_ATTR_PRIVILEGE
433 else if (srv_handle->
schema_type == CCI_SCH_TRIGGER)
441 else if (srv_handle->
schema_type == CCI_SCH_IMPORTED_KEYS || srv_handle->
schema_type == CCI_SCH_EXPORTED_KEYS
442 || srv_handle->
schema_type == CCI_SCH_CROSS_REFERENCE)
461 #if !defined(CAS_FOR_ORACLE) && !defined(CAS_FOR_MYSQL) 479 #if !defined(CAS_FOR_ORACLE) && !defined(CAS_FOR_MYSQL) 496 #if !defined(LIBCAS_FOR_JSP)
T_QUERY_RESULT * q_result
static int max_srv_handle
int max_prepared_stmt_count
static void srv_handle_rm_tmp_file(int h_id, T_SRV_HANDLE *srv_handle)
static void col_update_info_free(T_QUERY_RESULT *q_result)
static void srv_handle_content_free(T_SRV_HANDLE *srv_handle)
static int current_handle_count
void db_query_format_free(DB_QUERY_TYPE *query_type)
void release_all_fk_info_results(T_FK_INFO_RESULT *fk_res)
void hm_qresult_clear(T_QUERY_RESULT *q_result)
T_PREPARE_CALL_INFO * prepare_call_info
#define SRV_HANDLE_ALLOC_SIZE
char cur_statement_pooling
void hm_srv_handle_free(int h_id)
void hm_qresult_end(T_SRV_HANDLE *srv_handle, char free_flag)
char * cas_log_query_plan_file(int id)
void ux_free_result(void *res)
T_COL_UPDATE_INFO * col_update_info
void db_objlist_free(DB_OBJLIST *list)
bool is_from_current_transaction
unsigned int query_seq_num
T_SRV_HANDLE * hm_find_srv_handle(int h_id)
#define CAS_ERROR_INDICATOR
void db_close_session(DB_SESSION *session)
static T_SRV_HANDLE ** srv_handle_table
void hm_col_update_info_clear(T_COL_UPDATE_INFO *col_update_info)
static T_SHM_APPL_SERVER * shm_appl
void hm_srv_handle_free_all(bool free_holdable)
int hm_new_srv_handle(T_SRV_HANDLE **new_handle, unsigned int seq_num)
T_APPL_SERVER_INFO * as_info
#define ERROR_INFO_SET(ERR_CODE, ERR_INDICATOR)
void hm_srv_handle_qresult_end_all(bool end_holdable)
void ux_prepare_call_info_free(T_PREPARE_CALL_INFO *call_info)
void hm_srv_handle_unset_prepare_flag_all(void)
#define REALLOC(PTR, SIZE)
int hm_srv_handle_get_current_count(void)
void hm_session_free(T_SRV_HANDLE *srv_handle)