CUBRID Engine  latest
cas_protocol.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SRV_CON_CLIENT_INFO_SIZE   10
 
#define SRV_CON_CLIENT_MAGIC_LEN   5
 
#define SRV_CON_CLIENT_MAGIC_STR   "CUBRK"
 
#define SRV_CON_CLIENT_MAGIC_STR_SSL   "CUBRS"
 
#define SRV_CON_MSG_IDX_CLIENT_TYPE   5
 
#define IS_SSL_CLIENT(driver_info)   (strncmp (driver_info, SRV_CON_CLIENT_MAGIC_STR_SSL, SRV_CON_CLIENT_MAGIC_LEN) == 0)
 
#define SRV_CON_MSG_IDX_PROTO_VERSION   6
 
#define SRV_CON_MSG_IDX_FUNCTION_FLAG   7
 
#define SRV_CON_MSG_IDX_RESERVED2   8
 
#define SRV_CON_MSG_IDX_MAJOR_VER   (SRV_CON_MSG_IDX_PROTO_VERSION)
 
#define SRV_CON_MSG_IDX_MINOR_VER   (SRV_CON_MSG_IDX_FUNCTION_FLAG)
 
#define SRV_CON_MSG_IDX_PATCH_VER   (SRV_CON_MSG_IDX_RESERVED2)
 
#define SRV_CON_DBNAME_SIZE   32
 
#define SRV_CON_DBUSER_SIZE   32
 
#define SRV_CON_DBPASSWD_SIZE   32
 
#define SRV_CON_URL_SIZE   512
 
#define SRV_CON_DBSESS_ID_SIZE   20
 
#define SRV_CON_VER_STR_MAX_SIZE   20
 
#define SRV_CON_DB_INFO_SIZE
 
#define SRV_CON_DB_INFO_SIZE_PRIOR_8_4_0
 
#define SRV_CON_DB_INFO_SIZE_PRIOR_8_2_0   (SRV_CON_DBNAME_SIZE + SRV_CON_DBUSER_SIZE + SRV_CON_DBPASSWD_SIZE)
 
#define CAS_INFO_FLAG_MASK_AUTOCOMMIT   0x01
 
#define CAS_INFO_FLAG_MASK_FORCE_OUT_TRAN   0x02
 
#define CAS_INFO_FLAG_MASK_NEW_SESSION_ID   0x04
 
#define CAS_INFO_SIZE   (4)
 
#define CAS_INFO_RESERVED_DEFAULT   (-1)
 
#define MSG_HEADER_INFO_SIZE   CAS_INFO_SIZE
 
#define MSG_HEADER_MSG_SIZE   ((int) sizeof(int))
 
#define MSG_HEADER_SIZE   (MSG_HEADER_INFO_SIZE + MSG_HEADER_MSG_SIZE)
 
#define BROKER_INFO_SIZE   8
 
#define BROKER_RENEWED_ERROR_CODE   0x80
 
#define BROKER_SUPPORT_HOLDABLE_RESULT   0x40
 
#define BROKER_RECONNECT_WHEN_SERVER_DOWN   0x20
 
#define BROKER_INFO_MAJOR_VERSION   (BROKER_INFO_PROTO_VERSION)
 
#define BROKER_INFO_MINOR_VERSION   (BROKER_INFO_FUNCTION_FLAG)
 
#define BROKER_INFO_PATCH_VERSION   (BROKER_INFO_RESERVED2)
 
#define BROKER_INFO_RESERVED   (BROKER_INFO_RESERVED3)
 
#define CAS_PID_SIZE   4
 
#define SESSION_ID_SIZE   4
 
#define DRIVER_SESSION_SIZE   SRV_CON_DBSESS_ID_SIZE
 
#define CAS_CONNECTION_REPLY_SIZE_PRIOR_PROTOCOL_V3   (CAS_PID_SIZE + BROKER_INFO_SIZE + SESSION_ID_SIZE)
 
#define CAS_CONNECTION_REPLY_SIZE_V3   (CAS_PID_SIZE + BROKER_INFO_SIZE + DRIVER_SESSION_SIZE)
 
#define CAS_CONNECTION_REPLY_SIZE_V4   (CAS_PID_SIZE + CAS_PID_SIZE + BROKER_INFO_SIZE + DRIVER_SESSION_SIZE)
 
#define CAS_CONNECTION_REPLY_SIZE   CAS_CONNECTION_REPLY_SIZE_V4
 
#define CAS_KEEP_CONNECTION_ON   1
 
#define CAS_GET_QUERY_INFO_PLAN   1
 
#define CAS_STATEMENT_POOLING_OFF   0
 
#define CAS_STATEMENT_POOLING_ON   1
 
#define CCI_PCONNECT_OFF   0
 
#define CCI_PCONNECT_ON   1
 
#define CAS_REQ_HEADER_JDBC   "JDBC"
 
#define CAS_REQ_HEADER_ODBC   "ODBC"
 
#define CAS_REQ_HEADER_PHP   "PHP"
 
#define CAS_REQ_HEADER_OLEDB   "OLEDB"
 
#define CAS_REQ_HEADER_CCI   "CCI"
 
#define SHARD_ID_INVALID   (-1)
 
#define SHARD_ID_UNSUPPORTED   (-2)
 
#define HEALTH_CHECK_DUMMY_DB   "___health_check_dummy_db___"
 
#define IS_CONNECTED_TO_PROXY(type)
 
#define IS_VALID_CAS_FC(fc)   (fc >= CAS_FC_END_TRAN && fc < CAS_FC_MAX)
 
#define CAS_PROTOCOL_VERSION   ((unsigned char)(CURRENT_PROTOCOL))
 
#define CAS_PROTO_INDICATOR   (0x40)
 
#define CAS_PROTO_MAKE_VER(VER)   ((T_BROKER_VERSION) (CAS_PROTO_INDICATOR << 24 | (VER)))
 
#define CAS_PROTO_CURRENT_VER   ((T_BROKER_VERSION) CAS_PROTO_MAKE_VER(CURRENT_PROTOCOL))
 
#define DOES_CLIENT_MATCH_THE_PROTOCOL(CLIENT, MATCH)   ((CLIENT) == CAS_PROTO_MAKE_VER((MATCH)))
 
#define DOES_CLIENT_UNDERSTAND_THE_PROTOCOL(CLIENT, REQUIRE)   ((CLIENT) >= CAS_PROTO_MAKE_VER((REQUIRE)))
 
#define CAS_PROTO_VER_MASK   (0x3F)
 
#define CAS_PROTO_PACK_NET_VER(VER)   (char)((char)CAS_PROTO_INDICATOR | (char)(VER))
 
#define CAS_PROTO_UNPACK_NET_VER(VER)   (CAS_PROTO_MAKE_VER(CAS_PROTO_VER_MASK & (char)(VER)))
 
#define CAS_PROTO_PACK_CURRENT_NET_VER   CAS_PROTO_PACK_NET_VER(CURRENT_PROTOCOL)
 
#define CAS_CONV_ERROR_TO_OLD(V)   (V + 9000)
 
#define CAS_CONV_ERROR_TO_NEW(V)   (V - 9000)
 
#define CAS_MAKE_VER(MAJOR, MINOR, PATCH)   ((T_BROKER_VERSION) (((MAJOR) << 16) | ((MINOR) << 8) | (PATCH)))
 
#define CAS_MAKE_PROTO_VER(DRIVER_INFO)
 
#define CAS_TYPE_FIRST_BYTE_PROTOCOL_MASK   0x80
 
#define CAS_VER_TO_MAJOR(VER)   ((int) (((VER) >> 16) & 0xFF))
 
#define CAS_VER_TO_MINOR(VER)   ((int) (((VER) >> 8) & 0xFF))
 
#define CAS_VER_TO_PATCH(VER)   ((int) ((VER) & 0xFF))
 
#define CAS_PROTO_TO_VER_STR(MSG_P, VER)
 

Typedefs

typedef enum t_cas_func_code T_CAS_FUNC_CODE
 
typedef enum t_cas_protocol T_CAS_PROTOCOL
 
typedef enum t_broker_info_pos T_BROKER_INFO_POS
 
typedef enum t_driver_info_pos T_DRIVER_INFO_POS
 
typedef enum t_dbms_type T_DBMS_TYPE
 
typedef int T_BROKER_VERSION
 

Enumerations

enum  CAS_CLIENT_TYPE {
  CAS_CLIENT_TYPE_MIN = 0, CAS_CLIENT_NONE = 0, CAS_CLIENT_CCI = 1, CAS_CLIENT_ODBC = 2,
  CAS_CLIENT_JDBC = 3, CAS_CLIENT_PHP = 4, CAS_CLIENT_OLEDB = 5, CAS_CLIENT_SERVER_SIDE_JDBC = 6,
  CAS_CLIENT_TYPE_MAX = 6
}
 
enum  CAS_INFO_STATUS_TYPE { CAS_INFO_STATUS_INACTIVE = 0, CAS_INFO_STATUS_ACTIVE = 1 }
 
enum  CAS_INFO_TYPE { CAS_INFO_STATUS = 0, CAS_INFO_RESERVED_1 = 1, CAS_INFO_RESERVED_2 = 2, CAS_INFO_ADDITIONAL_FLAG = 3 }
 
enum  CAS_CHANGE_MODE { CAS_CHANGE_MODE_UNKNOWN = 0, CAS_CHANGE_MODE_AUTO = 1, CAS_CHANGE_MODE_KEEP = 2, CAS_CHANGE_MODE_DEFAULT = CAS_CHANGE_MODE_AUTO }
 
enum  t_cas_func_code {
  CAS_FC_END_TRAN = 1, CAS_FC_PREPARE = 2, CAS_FC_EXECUTE = 3, CAS_FC_GET_DB_PARAMETER = 4,
  CAS_FC_SET_DB_PARAMETER = 5, CAS_FC_CLOSE_REQ_HANDLE = 6, CAS_FC_CURSOR = 7, CAS_FC_FETCH = 8,
  CAS_FC_SCHEMA_INFO = 9, CAS_FC_OID_GET = 10, CAS_FC_OID_PUT = 11, CAS_FC_DEPRECATED1 = 12,
  CAS_FC_DEPRECATED2 = 13, CAS_FC_DEPRECATED3 = 14, CAS_FC_GET_DB_VERSION = 15, CAS_FC_GET_CLASS_NUM_OBJS = 16,
  CAS_FC_OID_CMD = 17, CAS_FC_COLLECTION = 18, CAS_FC_NEXT_RESULT = 19, CAS_FC_EXECUTE_BATCH = 20,
  CAS_FC_EXECUTE_ARRAY = 21, CAS_FC_CURSOR_UPDATE = 22, CAS_FC_GET_ATTR_TYPE_STR = 23, CAS_FC_GET_QUERY_INFO = 24,
  CAS_FC_DEPRECATED4 = 25, CAS_FC_SAVEPOINT = 26, CAS_FC_PARAMETER_INFO = 27, CAS_FC_XA_PREPARE = 28,
  CAS_FC_XA_RECOVER = 29, CAS_FC_XA_END_TRAN = 30, CAS_FC_CON_CLOSE = 31, CAS_FC_CHECK_CAS = 32,
  CAS_FC_MAKE_OUT_RS = 33, CAS_FC_GET_GENERATED_KEYS = 34, CAS_FC_LOB_NEW = 35, CAS_FC_LOB_WRITE = 36,
  CAS_FC_LOB_READ = 37, CAS_FC_END_SESSION = 38, CAS_FC_GET_ROW_COUNT = 39, CAS_FC_GET_LAST_INSERT_ID = 40,
  CAS_FC_PREPARE_AND_EXECUTE = 41, CAS_FC_CURSOR_CLOSE = 42, CAS_FC_GET_SHARD_INFO = 43, CAS_FC_CAS_CHANGE_MODE = 44,
  CAS_FC_MAX, CAS_FC_CURSOR_CLOSE_FOR_PROTO_V2 = 41, CAS_FC_PREPARE_AND_EXECUTE_FOR_PROTO_V2 = 42
}
 
enum  t_cas_protocol {
  PROTOCOL_V0 = 0, PROTOCOL_V1 = 1, PROTOCOL_V2 = 2, PROTOCOL_V3 = 3,
  PROTOCOL_V4 = 4, PROTOCOL_V5 = 5, PROTOCOL_V6 = 6, PROTOCOL_V7 = 7,
  PROTOCOL_V8 = 8, PROTOCOL_V9 = 9, PROTOCOL_V10 = 10, CURRENT_PROTOCOL = PROTOCOL_V10
}
 
enum  t_broker_info_pos {
  BROKER_INFO_DBMS_TYPE = 0, BROKER_INFO_KEEP_CONNECTION, BROKER_INFO_STATEMENT_POOLING, BROKER_INFO_CCI_PCONNECT,
  BROKER_INFO_PROTO_VERSION, BROKER_INFO_FUNCTION_FLAG, BROKER_INFO_RESERVED2, BROKER_INFO_RESERVED3
}
 
enum  t_driver_info_pos {
  DRIVER_INFO_MAGIC1 = 0, DRIVER_INFO_MAGIC2, DRIVER_INFO_MAGIC3, DRIVER_INFO_MAGIC4,
  DRIVER_INFO_MAGIC5, DRIVER_INFO_CLIENT_TYPE, DRIVER_INFO_PROTOCOL_VERSION, DRIVER_INFO_FUNCTION_FLAG,
  DRIVER_INFO_RESERVED
}
 
enum  t_dbms_type {
  CAS_DBMS_CUBRID = 1, CAS_DBMS_MYSQL = 2, CAS_DBMS_ORACLE = 3, CAS_PROXY_DBMS_CUBRID = 4,
  CAS_PROXY_DBMS_MYSQL = 5, CAS_PROXY_DBMS_ORACLE = 6
}
 

Functions

const char * cas_bi_get_broker_info (void)
 
char cas_bi_get_dbms_type (void)
 
void cas_bi_set_dbms_type (const char dbms_type)
 
void cas_bi_set_keep_connection (const char keep_connection)
 
char cas_bi_get_keep_connection (void)
 
void cas_bi_set_statement_pooling (const char statement_pooling)
 
char cas_bi_get_statement_pooling (void)
 
void cas_bi_set_cci_pconnect (const char cci_pconnect)
 
char cas_bi_get_cci_pconnect (void)
 
void cas_bi_set_protocol_version (const char protocol_version)
 
char cas_bi_get_protocol_version (void)
 
void cas_bi_set_renewed_error_code (const bool renewed_error_code)
 
bool cas_bi_get_renewed_error_code (void)
 
bool cas_di_understand_renewed_error_code (const char *driver_info)
 
void cas_bi_make_broker_info (char *broker_info, char dbms_type, char statement_pooling, char cci_pconnect)
 

Macro Definition Documentation

#define BROKER_INFO_MAJOR_VERSION   (BROKER_INFO_PROTO_VERSION)

Definition at line 123 of file cas_protocol.h.

#define BROKER_INFO_MINOR_VERSION   (BROKER_INFO_FUNCTION_FLAG)

Definition at line 124 of file cas_protocol.h.

#define BROKER_INFO_PATCH_VERSION   (BROKER_INFO_RESERVED2)

Definition at line 125 of file cas_protocol.h.

#define BROKER_INFO_RESERVED   (BROKER_INFO_RESERVED3)

Definition at line 126 of file cas_protocol.h.

#define BROKER_INFO_SIZE   8
#define BROKER_RECONNECT_WHEN_SERVER_DOWN   0x20

Definition at line 120 of file cas_protocol.h.

#define CAS_CONNECTION_REPLY_SIZE   CAS_CONNECTION_REPLY_SIZE_V4
#define CAS_CONNECTION_REPLY_SIZE_PRIOR_PROTOCOL_V3   (CAS_PID_SIZE + BROKER_INFO_SIZE + SESSION_ID_SIZE)
#define CAS_CONNECTION_REPLY_SIZE_V3   (CAS_PID_SIZE + BROKER_INFO_SIZE + DRIVER_SESSION_SIZE)
#define CAS_CONNECTION_REPLY_SIZE_V4   (CAS_PID_SIZE + CAS_PID_SIZE + BROKER_INFO_SIZE + DRIVER_SESSION_SIZE)

Definition at line 133 of file cas_protocol.h.

#define CAS_CONV_ERROR_TO_NEW (   V)    (V - 9000)

Definition at line 302 of file cas_protocol.h.

Referenced by proxy_convert_error_code().

#define CAS_CONV_ERROR_TO_OLD (   V)    (V + 9000)
#define CAS_GET_QUERY_INFO_PLAN   1

Definition at line 138 of file cas_protocol.h.

Referenced by ux_get_query_info().

#define CAS_INFO_FLAG_MASK_AUTOCOMMIT   0x01

Definition at line 105 of file cas_protocol.h.

Referenced by process_request(), and proxy_init_net_buf().

#define CAS_INFO_FLAG_MASK_FORCE_OUT_TRAN   0x02
#define CAS_INFO_FLAG_MASK_NEW_SESSION_ID   0x04

Definition at line 107 of file cas_protocol.h.

Referenced by init_msg_header(), and proxy_init_net_buf().

#define CAS_INFO_RESERVED_DEFAULT   (-1)

Definition at line 110 of file cas_protocol.h.

Referenced by cas_main(), init_msg_header(), process_request(), and shard_cas_main().

#define CAS_INFO_SIZE   (4)
#define CAS_KEEP_CONNECTION_ON   1

Definition at line 136 of file cas_protocol.h.

Referenced by cas_bi_make_broker_info().

#define CAS_MAKE_PROTO_VER (   DRIVER_INFO)
Value:
(DRIVER_INFO)[SRV_CON_MSG_IDX_MINOR_VER], \
(DRIVER_INFO)[SRV_CON_MSG_IDX_PATCH_VER])
#define SRV_CON_MSG_IDX_MINOR_VER
Definition: cas_protocol.h:51
#define CAS_PROTO_INDICATOR
Definition: cas_protocol.h:281
#define SRV_CON_MSG_IDX_PROTO_VERSION
Definition: cas_protocol.h:46
#define CAS_MAKE_VER(MAJOR, MINOR, PATCH)
Definition: cas_protocol.h:304
#define CAS_PROTO_UNPACK_NET_VER(VER)
Definition: cas_protocol.h:296
#define SRV_CON_MSG_IDX_PATCH_VER
Definition: cas_protocol.h:52
#define SRV_CON_MSG_IDX_MAJOR_VER
Definition: cas_protocol.h:50

Definition at line 307 of file cas_protocol.h.

Referenced by fn_proxy_cas_check_cas(), fn_proxy_cas_prepare(), fn_proxy_cas_prepare_and_execute(), fn_proxy_cas_schema_info(), fn_proxy_client_execute(), fn_proxy_client_execute_array(), fn_proxy_client_prepare(), fn_proxy_client_prepare_and_execute(), fn_proxy_client_schema_info(), get_dbinfo_length(), proxy_cas_execute_internal(), proxy_handler_process_client_request(), proxy_handler_process_client_wakeup_by_shard(), proxy_io_make_check_cas(), proxy_io_make_client_dbinfo_ok(), proxy_io_make_client_proxy_alive(), proxy_io_make_close_req_handle_ok(), proxy_io_make_end_tran_request(), proxy_io_make_error_msg(), proxy_io_make_ex_get_int(), proxy_io_make_get_db_version(), proxy_io_make_shard_info(), proxy_process_client_register(), send_error_to_driver(), shard_shm_set_as_client_info(), and shard_shm_set_as_client_info_with_db_param().

#define CAS_PID_SIZE   4
#define CAS_PROTO_INDICATOR   (0x40)
#define CAS_PROTO_PACK_CURRENT_NET_VER   CAS_PROTO_PACK_NET_VER(CURRENT_PROTOCOL)

Definition at line 298 of file cas_protocol.h.

Referenced by cas_bi_make_broker_info().

#define CAS_PROTO_PACK_NET_VER (   VER)    (char)((char)CAS_PROTO_INDICATOR | (char)(VER))

Definition at line 294 of file cas_protocol.h.

#define CAS_PROTO_TO_VER_STR (   MSG_P,
  VER 
)
Value:
do { \
switch (VER) \
{ \
case PROTOCOL_V1: \
*((char **) (MSG_P)) = (char *) "8.4.1"; \
break; \
case PROTOCOL_V2: \
*((char **) (MSG_P)) = (char *) "9.0.0"; \
break; \
case PROTOCOL_V3: \
*((char **) (MSG_P)) = (char *) "8.4.3"; \
break; \
case PROTOCOL_V4: \
*((char **) (MSG_P)) = (char *) "9.1.0"; \
break; \
default: \
*((char **) (MSG_P)) = (char *) ""; \
break; \
} \
} while (0)

Definition at line 320 of file cas_protocol.h.

Referenced by cas_main(), and proxy_process_client_register().

#define CAS_PROTO_UNPACK_NET_VER (   VER)    (CAS_PROTO_MAKE_VER(CAS_PROTO_VER_MASK & (char)(VER)))

Definition at line 296 of file cas_protocol.h.

Referenced by proxy_socket_io_new_client(), and receiver_thr_f().

#define CAS_PROTO_VER_MASK   (0x3F)

Definition at line 293 of file cas_protocol.h.

Referenced by cas_main(), and proxy_process_client_register().

#define CAS_PROTOCOL_VERSION   ((unsigned char)(CURRENT_PROTOCOL))

Definition at line 278 of file cas_protocol.h.

#define CAS_REQ_HEADER_CCI   "CCI"

Definition at line 150 of file cas_protocol.h.

#define CAS_REQ_HEADER_JDBC   "JDBC"

Definition at line 146 of file cas_protocol.h.

#define CAS_REQ_HEADER_ODBC   "ODBC"

Definition at line 147 of file cas_protocol.h.

#define CAS_REQ_HEADER_OLEDB   "OLEDB"

Definition at line 149 of file cas_protocol.h.

#define CAS_REQ_HEADER_PHP   "PHP"

Definition at line 148 of file cas_protocol.h.

#define CAS_STATEMENT_POOLING_OFF   0

Definition at line 140 of file cas_protocol.h.

Referenced by cas_bi_make_broker_info(), and cas_bi_set_statement_pooling().

#define CAS_STATEMENT_POOLING_ON   1

Definition at line 141 of file cas_protocol.h.

Referenced by cas_bi_make_broker_info(), and cas_bi_set_statement_pooling().

#define CAS_TYPE_FIRST_BYTE_PROTOCOL_MASK   0x80

Definition at line 314 of file cas_protocol.h.

Referenced by encode_ext_type_to_short(), and net_buf_cp_cas_type_and_charset().

#define CAS_VER_TO_MAJOR (   VER)    ((int) (((VER) >> 16) & 0xFF))

Definition at line 317 of file cas_protocol.h.

Referenced by cas_main(), and proxy_process_client_register().

#define CAS_VER_TO_MINOR (   VER)    ((int) (((VER) >> 8) & 0xFF))

Definition at line 318 of file cas_protocol.h.

Referenced by cas_main(), and proxy_process_client_register().

#define CAS_VER_TO_PATCH (   VER)    ((int) ((VER) & 0xFF))

Definition at line 319 of file cas_protocol.h.

Referenced by cas_main(), and proxy_process_client_register().

#define CCI_PCONNECT_OFF   0

Definition at line 143 of file cas_protocol.h.

Referenced by cas_bi_make_broker_info(), and cas_bi_set_cci_pconnect().

#define CCI_PCONNECT_ON   1

Definition at line 144 of file cas_protocol.h.

Referenced by cas_bi_make_broker_info(), and cas_bi_set_cci_pconnect().

#define DOES_CLIENT_MATCH_THE_PROTOCOL (   CLIENT,
  MATCH 
)    ((CLIENT) == CAS_PROTO_MAKE_VER((MATCH)))
#define HEALTH_CHECK_DUMMY_DB   "___health_check_dummy_db___"

Definition at line 156 of file cas_protocol.h.

Referenced by cas_main(), and proxy_process_client_register().

#define IS_CONNECTED_TO_PROXY (   type)
#define IS_SSL_CLIENT (   driver_info)    (strncmp (driver_info, SRV_CON_CLIENT_MAGIC_STR_SSL, SRV_CON_CLIENT_MAGIC_LEN) == 0)

Definition at line 40 of file cas_protocol.h.

Referenced by cas_main(), and receiver_thr_f().

#define IS_VALID_CAS_FC (   fc)    (fc >= CAS_FC_END_TRAN && fc < CAS_FC_MAX)

Definition at line 274 of file cas_protocol.h.

Referenced by fn_proxy_client_conn_error().

#define MSG_HEADER_MSG_SIZE   ((int) sizeof(int))

Definition at line 113 of file cas_protocol.h.

Referenced by init_msg_header(), and proxy_io_make_close_req_handle_ok().

#define SESSION_ID_SIZE   4
#define SHARD_ID_INVALID   (-1)

Definition at line 152 of file cas_protocol.h.

#define SHARD_ID_UNSUPPORTED   (-2)

Definition at line 153 of file cas_protocol.h.

#define SRV_CON_CLIENT_MAGIC_LEN   5

Definition at line 35 of file cas_protocol.h.

Referenced by receiver_thr_f().

#define SRV_CON_CLIENT_MAGIC_STR   "CUBRK"

Definition at line 36 of file cas_protocol.h.

Referenced by receiver_thr_f().

#define SRV_CON_CLIENT_MAGIC_STR_SSL   "CUBRS"

Definition at line 37 of file cas_protocol.h.

Referenced by receiver_thr_f().

#define SRV_CON_DB_INFO_SIZE
Value:
#define SRV_CON_DBPASSWD_SIZE
Definition: cas_protocol.h:56
#define SRV_CON_DBNAME_SIZE
Definition: cas_protocol.h:54
#define SRV_CON_URL_SIZE
Definition: cas_protocol.h:57
#define SRV_CON_DBSESS_ID_SIZE
Definition: cas_protocol.h:58
#define SRV_CON_DBUSER_SIZE
Definition: cas_protocol.h:55

Definition at line 61 of file cas_protocol.h.

Referenced by cas_main(), check_cas_log(), and get_dbinfo_length().

#define SRV_CON_DB_INFO_SIZE_PRIOR_8_2_0   (SRV_CON_DBNAME_SIZE + SRV_CON_DBUSER_SIZE + SRV_CON_DBPASSWD_SIZE)

Definition at line 67 of file cas_protocol.h.

Referenced by cas_main(), and get_dbinfo_length().

#define SRV_CON_DB_INFO_SIZE_PRIOR_8_4_0
Value:
#define SRV_CON_DBPASSWD_SIZE
Definition: cas_protocol.h:56
#define SRV_CON_DBNAME_SIZE
Definition: cas_protocol.h:54
#define SRV_CON_URL_SIZE
Definition: cas_protocol.h:57
#define SRV_CON_DBUSER_SIZE
Definition: cas_protocol.h:55

Definition at line 64 of file cas_protocol.h.

Referenced by cas_main(), and get_dbinfo_length().

#define SRV_CON_DBNAME_SIZE   32

Definition at line 54 of file cas_protocol.h.

#define SRV_CON_DBPASSWD_SIZE   32
#define SRV_CON_DBSESS_ID_SIZE   20

Definition at line 58 of file cas_protocol.h.

Referenced by cas_main(), and proxy_process_client_register().

#define SRV_CON_DBUSER_SIZE   32
#define SRV_CON_MSG_IDX_CLIENT_TYPE   5

Definition at line 38 of file cas_protocol.h.

Referenced by receiver_thr_f().

#define SRV_CON_MSG_IDX_FUNCTION_FLAG   7

Definition at line 47 of file cas_protocol.h.

Referenced by proxy_socket_io_new_client(), and receiver_thr_f().

#define SRV_CON_MSG_IDX_MAJOR_VER   (SRV_CON_MSG_IDX_PROTO_VERSION)

Definition at line 50 of file cas_protocol.h.

Referenced by receiver_thr_f().

#define SRV_CON_MSG_IDX_MINOR_VER   (SRV_CON_MSG_IDX_FUNCTION_FLAG)

Definition at line 51 of file cas_protocol.h.

Referenced by receiver_thr_f().

#define SRV_CON_MSG_IDX_PATCH_VER   (SRV_CON_MSG_IDX_RESERVED2)

Definition at line 52 of file cas_protocol.h.

Referenced by receiver_thr_f().

#define SRV_CON_MSG_IDX_PROTO_VERSION   6
#define SRV_CON_MSG_IDX_RESERVED2   8

Definition at line 48 of file cas_protocol.h.

#define SRV_CON_URL_SIZE   512

Definition at line 57 of file cas_protocol.h.

Referenced by cas_main(), and proxy_process_client_register().

#define SRV_CON_VER_STR_MAX_SIZE   20

Typedef Documentation

Definition at line 243 of file cas_protocol.h.

typedef int T_BROKER_VERSION

Definition at line 342 of file cas_protocol.h.

Definition at line 213 of file cas_protocol.h.

Definition at line 230 of file cas_protocol.h.

typedef enum t_dbms_type T_DBMS_TYPE

Definition at line 268 of file cas_protocol.h.

Definition at line 257 of file cas_protocol.h.

Enumeration Type Documentation

Enumerator
CAS_CHANGE_MODE_UNKNOWN 
CAS_CHANGE_MODE_AUTO 
CAS_CHANGE_MODE_KEEP 
CAS_CHANGE_MODE_DEFAULT 

Definition at line 97 of file cas_protocol.h.

Enumerator
CAS_CLIENT_TYPE_MIN 
CAS_CLIENT_NONE 
CAS_CLIENT_CCI 
CAS_CLIENT_ODBC 
CAS_CLIENT_JDBC 
CAS_CLIENT_PHP 
CAS_CLIENT_OLEDB 
CAS_CLIENT_SERVER_SIDE_JDBC 
CAS_CLIENT_TYPE_MAX 

Definition at line 70 of file cas_protocol.h.

Enumerator
CAS_INFO_STATUS_INACTIVE 
CAS_INFO_STATUS_ACTIVE 

Definition at line 83 of file cas_protocol.h.

Enumerator
CAS_INFO_STATUS 
CAS_INFO_RESERVED_1 
CAS_INFO_RESERVED_2 
CAS_INFO_ADDITIONAL_FLAG 

Definition at line 89 of file cas_protocol.h.

Enumerator
BROKER_INFO_DBMS_TYPE 
BROKER_INFO_KEEP_CONNECTION 
BROKER_INFO_STATEMENT_POOLING 
BROKER_INFO_CCI_PCONNECT 
BROKER_INFO_PROTO_VERSION 
BROKER_INFO_FUNCTION_FLAG 
BROKER_INFO_RESERVED2 
BROKER_INFO_RESERVED3 

Definition at line 232 of file cas_protocol.h.

Enumerator
CAS_FC_END_TRAN 
CAS_FC_PREPARE 
CAS_FC_EXECUTE 
CAS_FC_GET_DB_PARAMETER 
CAS_FC_SET_DB_PARAMETER 
CAS_FC_CLOSE_REQ_HANDLE 
CAS_FC_CURSOR 
CAS_FC_FETCH 
CAS_FC_SCHEMA_INFO 
CAS_FC_OID_GET 
CAS_FC_OID_PUT 
CAS_FC_DEPRECATED1 
CAS_FC_DEPRECATED2 
CAS_FC_DEPRECATED3 
CAS_FC_GET_DB_VERSION 
CAS_FC_GET_CLASS_NUM_OBJS 
CAS_FC_OID_CMD 
CAS_FC_COLLECTION 
CAS_FC_NEXT_RESULT 
CAS_FC_EXECUTE_BATCH 
CAS_FC_EXECUTE_ARRAY 
CAS_FC_CURSOR_UPDATE 
CAS_FC_GET_ATTR_TYPE_STR 
CAS_FC_GET_QUERY_INFO 
CAS_FC_DEPRECATED4 
CAS_FC_SAVEPOINT 
CAS_FC_PARAMETER_INFO 
CAS_FC_XA_PREPARE 
CAS_FC_XA_RECOVER 
CAS_FC_XA_END_TRAN 
CAS_FC_CON_CLOSE 
CAS_FC_CHECK_CAS 
CAS_FC_MAKE_OUT_RS 
CAS_FC_GET_GENERATED_KEYS 
CAS_FC_LOB_NEW 
CAS_FC_LOB_WRITE 
CAS_FC_LOB_READ 
CAS_FC_END_SESSION 
CAS_FC_GET_ROW_COUNT 
CAS_FC_GET_LAST_INSERT_ID 
CAS_FC_PREPARE_AND_EXECUTE 
CAS_FC_CURSOR_CLOSE 
CAS_FC_GET_SHARD_INFO 
CAS_FC_CAS_CHANGE_MODE 
CAS_FC_MAX 
CAS_FC_CURSOR_CLOSE_FOR_PROTO_V2 
CAS_FC_PREPARE_AND_EXECUTE_FOR_PROTO_V2 

Definition at line 158 of file cas_protocol.h.

Enumerator
PROTOCOL_V0 
PROTOCOL_V1 
PROTOCOL_V2 
PROTOCOL_V3 
PROTOCOL_V4 
PROTOCOL_V5 
PROTOCOL_V6 
PROTOCOL_V7 
PROTOCOL_V8 
PROTOCOL_V9 
PROTOCOL_V10 
CURRENT_PROTOCOL 

Definition at line 215 of file cas_protocol.h.

Enumerator
CAS_DBMS_CUBRID 
CAS_DBMS_MYSQL 
CAS_DBMS_ORACLE 
CAS_PROXY_DBMS_CUBRID 
CAS_PROXY_DBMS_MYSQL 
CAS_PROXY_DBMS_ORACLE 

Definition at line 259 of file cas_protocol.h.

Enumerator
DRIVER_INFO_MAGIC1 
DRIVER_INFO_MAGIC2 
DRIVER_INFO_MAGIC3 
DRIVER_INFO_MAGIC4 
DRIVER_INFO_MAGIC5 
DRIVER_INFO_CLIENT_TYPE 
DRIVER_INFO_PROTOCOL_VERSION 
DRIVER_INFO_FUNCTION_FLAG 
DRIVER_INFO_RESERVED 

Definition at line 245 of file cas_protocol.h.

Function Documentation

const char* cas_bi_get_broker_info ( void  )

Definition at line 52 of file cas_meta.c.

References broker_info.

Referenced by cas_send_connect_reply_to_driver().

Here is the caller graph for this function:

char cas_bi_get_cci_pconnect ( void  )

Definition at line 118 of file cas_meta.c.

References broker_info, and BROKER_INFO_CCI_PCONNECT.

char cas_bi_get_dbms_type ( void  )

Definition at line 64 of file cas_meta.c.

References broker_info, and BROKER_INFO_DBMS_TYPE.

char cas_bi_get_keep_connection ( void  )

Definition at line 76 of file cas_meta.c.

References broker_info, and BROKER_INFO_KEEP_CONNECTION.

char cas_bi_get_protocol_version ( void  )

Definition at line 130 of file cas_meta.c.

References broker_info, and BROKER_INFO_PROTO_VERSION.

bool cas_bi_get_renewed_error_code ( void  )

Definition at line 197 of file cas_meta.c.

References BI_FUNC_ERROR_CODE, and cas_bi_is_enabled_function().

char cas_bi_get_statement_pooling ( void  )

Definition at line 97 of file cas_meta.c.

References broker_info, and BROKER_INFO_STATEMENT_POOLING.

void cas_bi_set_cci_pconnect ( const char  cci_pconnect)

Definition at line 103 of file cas_meta.c.

References assert, broker_info, BROKER_INFO_CCI_PCONNECT, CCI_PCONNECT_OFF, and CCI_PCONNECT_ON.

Referenced by cas_main().

Here is the caller graph for this function:

void cas_bi_set_dbms_type ( const char  dbms_type)

Definition at line 58 of file cas_meta.c.

References broker_info, and BROKER_INFO_DBMS_TYPE.

Referenced by cas_main().

Here is the caller graph for this function:

void cas_bi_set_keep_connection ( const char  keep_connection)

Definition at line 70 of file cas_meta.c.

References broker_info, and BROKER_INFO_KEEP_CONNECTION.

void cas_bi_set_protocol_version ( const char  protocol_version)

Definition at line 124 of file cas_meta.c.

References broker_info, and BROKER_INFO_PROTO_VERSION.

void cas_bi_set_renewed_error_code ( const bool  renewed_error_code)
void cas_bi_set_statement_pooling ( const char  statement_pooling)

Definition at line 82 of file cas_meta.c.

References assert, broker_info, BROKER_INFO_STATEMENT_POOLING, CAS_STATEMENT_POOLING_OFF, and CAS_STATEMENT_POOLING_ON.

Referenced by cas_main().

Here is the caller graph for this function:

bool cas_di_understand_renewed_error_code ( const char *  driver_info)