34 #if !defined(CAS_FOR_ORACLE) && !defined(CAS_FOR_MYSQL) 39 #if !defined(CAS_FOR_ORACLE) && !defined(CAS_FOR_MYSQL) 40 #define CAS_SUPPORT_XA 43 #define MAX_GTRIDS 100 106 #ifdef CAS_SUPPORT_XA 122 for (i = 0; i <
count; i++)
145 #ifdef CAS_SUPPORT_XA 149 int i, err_code, gtrid,
count;
158 if (tran_type != CCI_TRAN_COMMIT && tran_type != CCI_TRAN_ROLLBACK)
173 for (gtrid = -1, i = 0; i <
count; i++)
216 #ifdef CAS_SUPPORT_XA 223 memset (xid, 0,
sizeof (
XID));
225 memcpy (&data_size, buf, 4);
226 data_size =
ntohl (data_size);
229 for (i = 0; i < 3; i++)
233 memcpy (&
id[i], buf, 4);
239 if (data_size <
id[1] +
id[2])
245 memcpy (xid->
data, buf,
id[1] +
id[2]);
#define NET_BUF_ERR_SET(NET_BUF)
int net_buf_cp_str(T_NET_BUF *net_buf, const char *buf, int size)
void unset_xa_prepare_flag(void)
int db_2pc_prepared_transactions(int gtrids[], int size)
static bool xa_prepare_flag
int db_get_global_transaction_info(int global_transaction_id, void *buffer, int size)
int net_buf_cp_int(T_NET_BUF *net_buf, int value, int *begin_offset)
FN_RETURN fn_xa_prepare(SOCKET sock_fd, int argc, void **argv, T_NET_BUF *net_buf, T_REQ_INFO *req_info)
#define CAS_ERROR_INDICATOR
void set_xa_prepare_flag(void)
FN_RETURN fn_xa_end_tran(SOCKET sock_fd, int argc, void **argv, T_NET_BUF *net_buf, T_REQ_INFO *req_info)
int count(int &result, const cub_regex_object ®, const std::string &src, const int position, const INTL_CODESET codeset)
int db_2pc_attach_transaction(int global_transaction_id)
bool is_xa_prepared(void)
FN_RETURN fn_xa_recover(SOCKET sock_fd, int argc, void **argv, T_NET_BUF *net_buf, T_REQ_INFO *req_info)
int db_2pc_prepare_transaction(void)
static void net_buf_cp_xid(T_NET_BUF *net_buf, XID *xid)
void cas_log_write(unsigned int seq_num, bool unit_start, const char *fmt,...)
int db_set_global_transaction_info(int global_transaction_id, void *info, int size)
#define ERROR_INFO_SET(ERR_CODE, ERR_INDICATOR)
#define DBMS_ERROR_INDICATOR
int ux_end_tran(int tran_type, bool reset_con_status)
unsigned int ntohl(unsigned int from)
static int net_arg_get_xid(XID *xid, char *buf)
static T_REQ_INFO req_info
static int compare_xid(XID *xid1, XID *xid2)
int db_2pc_start_transaction(void)
#define net_arg_get_char(value, arg)