Skip to content

File cas_protocol.h

FileList > broker > cas_protocol.h

Go to the source code of this file

Public Types

Type Name
enum CAS_CHANGE_MODE
enum CAS_CLIENT_TYPE
enum CAS_INFO_STATUS_TYPE
enum CAS_INFO_TYPE
typedef enum t_broker_info_pos T_BROKER_INFO_POS
typedef int T_BROKER_VERSION
typedef enum t_cas_func_code T_CAS_FUNC_CODE
typedef enum t_cas_protocol T_CAS_PROTOCOL
typedef enum t_dbms_type T_DBMS_TYPE
typedef enum t_driver_info_pos T_DRIVER_INFO_POS
enum t_broker_info_pos
enum t_cas_func_code
enum t_cas_protocol
enum t_dbms_type
enum t_driver_info_pos

Public Functions

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

Macros

Type Name
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\_SYSTEM\_PARAM)
define BROKER_INFO_RESERVED (BROKER\_INFO\_RESERVED3)
define BROKER_INFO_SIZE 8
define BROKER_RECONNECT_WHEN_SERVER_DOWN 0x20
define BROKER_RENEWED_ERROR_CODE 0x80
define BROKER_SUPPORT_HOLDABLE_RESULT 0x40
define CAS_CONNECTION_REPLY_SIZE [**CAS\_CONNECTION\_REPLY\_SIZE\_V4**](cas__protocol_8h.md#define-cas_connection_reply_size_v4)
define CAS_CONNECTION_REPLY_SIZE_PRIOR_PROTOCOL_V3 ([**CAS\_PID\_SIZE**](cas__protocol_8h.md#define-cas_pid_size) + [**BROKER\_INFO\_SIZE**](cas__protocol_8h.md#define-broker_info_size) + [**SESSION\_ID\_SIZE**](cas__protocol_8h.md#define-session_id_size))
define CAS_CONNECTION_REPLY_SIZE_V3 ([**CAS\_PID\_SIZE**](cas__protocol_8h.md#define-cas_pid_size) + [**BROKER\_INFO\_SIZE**](cas__protocol_8h.md#define-broker_info_size) + [**DRIVER\_SESSION\_SIZE**](cas__protocol_8h.md#define-driver_session_size))
define CAS_CONNECTION_REPLY_SIZE_V4 ([**CAS\_PID\_SIZE**](cas__protocol_8h.md#define-cas_pid_size) + [**CAS\_PID\_SIZE**](cas__protocol_8h.md#define-cas_pid_size) + [**BROKER\_INFO\_SIZE**](cas__protocol_8h.md#define-broker_info_size) + [**DRIVER\_SESSION\_SIZE**](cas__protocol_8h.md#define-driver_session_size))
define CAS_CONV_ERROR_TO_NEW (V) ([**V**](broker__monitor_8c.md#function-timeout) - 9000)
define CAS_CONV_ERROR_TO_OLD (V) ([**V**](broker__monitor_8c.md#function-timeout) + 9000)
define CAS_GET_QUERY_INFO_PLAN 1
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_RESERVED_DEFAULT (-1)
define CAS_INFO_SIZE (4)
define CAS_KEEP_CONNECTION_ON 1
define CAS_MAKE_PROTO_VER (DRIVER_INFO) /* multi line expression */
define CAS_MAKE_VER (MAJOR, MINOR, PATCH) (([**T\_BROKER\_VERSION**](cas__protocol_8h.md#typedef-t_broker_version)) ((([**MAJOR**](broker__monitor_8c.md#function-timeout)) << 16) \| (([**MINOR**](broker__monitor_8c.md#function-timeout)) << 8) \| ([**PATCH**](broker__monitor_8c.md#function-timeout))))
define CAS_PID_SIZE 4
define CAS_PROTOCOL_VERSION (([**unsigned**](broker__monitor_8c.md#function-timeout) [**char**](broker__monitor_8c.md#function-timeout))(CURRENT\_PROTOCOL))
define CAS_PROTO_CURRENT_VER (([**T\_BROKER\_VERSION**](cas__protocol_8h.md#typedef-t_broker_version)) [**CAS\_PROTO\_MAKE\_VER**](cas__protocol_8h.md#define-cas_proto_make_ver)(CURRENT\_PROTOCOL))
define CAS_PROTO_INDICATOR (0x40)
define CAS_PROTO_MAKE_VER (VER) (([**T\_BROKER\_VERSION**](cas__protocol_8h.md#typedef-t_broker_version)) ([**CAS\_PROTO\_INDICATOR**](cas__protocol_8h.md#define-cas_proto_indicator) << 24 \| ([**VER**](broker__monitor_8c.md#function-timeout))))
define CAS_PROTO_PACK_CURRENT_NET_VER [**CAS\_PROTO\_PACK\_NET\_VER**](cas__protocol_8h.md#define-cas_proto_pack_net_ver)(CURRENT\_PROTOCOL)
define CAS_PROTO_PACK_NET_VER (VER) ([**char**](broker__monitor_8c.md#function-timeout))(([**char**](broker__monitor_8c.md#function-timeout))[**CAS\_PROTO\_INDICATOR**](cas__protocol_8h.md#define-cas_proto_indicator) \| ([**char**](broker__monitor_8c.md#function-timeout))([**VER**](broker__monitor_8c.md#function-timeout)))
define CAS_PROTO_TO_VER_STR (MSG_P, VER) /* multi line expression */
define CAS_PROTO_UNPACK_NET_VER (VER) ([**CAS\_PROTO\_MAKE\_VER**](cas__protocol_8h.md#define-cas_proto_make_ver)([**CAS\_PROTO\_VER\_MASK**](cas__protocol_8h.md#define-cas_proto_ver_mask) & ([**char**](broker__monitor_8c.md#function-timeout))([**VER**](broker__monitor_8c.md#function-timeout))))
define CAS_PROTO_VER_MASK (0x3F)
define CAS_REQ_HEADER_CCI "CCI"
define CAS_REQ_HEADER_JDBC "JDBC"
define CAS_REQ_HEADER_ODBC "ODBC"
define CAS_REQ_HEADER_OLEDB "OLEDB"
define CAS_REQ_HEADER_PHP "PHP"
define CAS_STATEMENT_POOLING_OFF 0
define CAS_STATEMENT_POOLING_ON 1
define CAS_TYPE_FIRST_BYTE_PROTOCOL_MASK 0x80
define CAS_VER_TO_MAJOR (VER) (([**int**](broker__monitor_8c.md#function-timeout)) ((([**VER**](broker__monitor_8c.md#function-timeout)) >> 16) & 0xFF))
define CAS_VER_TO_MINOR (VER) (([**int**](broker__monitor_8c.md#function-timeout)) ((([**VER**](broker__monitor_8c.md#function-timeout)) >> 8) & 0xFF))
define CAS_VER_TO_PATCH (VER) (([**int**](broker__monitor_8c.md#function-timeout)) (([**VER**](broker__monitor_8c.md#function-timeout)) & 0xFF))
define CCI_PCONNECT_OFF 0
define CCI_PCONNECT_ON 1
define DOES_CLIENT_MATCH_THE_PROTOCOL (CLIENT, MATCH) (([**CLIENT**](broker__monitor_8c.md#function-timeout)) == [**CAS\_PROTO\_MAKE\_VER**](cas__protocol_8h.md#define-cas_proto_make_ver)(([**MATCH**](broker__monitor_8c.md#function-timeout))))
define DOES_CLIENT_UNDERSTAND_THE_PROTOCOL (CLIENT, REQUIRE) (([**CLIENT**](broker__monitor_8c.md#function-timeout)) >= [**CAS\_PROTO\_MAKE\_VER**](cas__protocol_8h.md#define-cas_proto_make_ver)(([**REQUIRE**](broker__monitor_8c.md#function-timeout))))
define DRIVER_SESSION_SIZE [**SRV\_CON\_DBSESS\_ID\_SIZE**](cas__protocol_8h.md#define-srv_con_dbsess_id_size)
define HEALTH_CHECK_DUMMY_DB "\_\_\_health\_check\_dummy\_db\_\_\_"
define IS_CONNECTED_TO_PROXY (type) /* multi line expression */
define IS_SSL_CLIENT (driver_info) ([**strncmp**](broker__monitor_8c.md#function-timeout) (driver\_info, [**SRV\_CON\_CLIENT\_MAGIC\_STR\_SSL**](cas__protocol_8h.md#define-srv_con_client_magic_str_ssl), [**SRV\_CON\_CLIENT\_MAGIC\_LEN**](cas__protocol_8h.md#define-srv_con_client_magic_len)) == 0)
define IS_VALID_CAS_FC (fc) ([**fc**](broker__monitor_8c.md#function-timeout) >= CAS\_FC\_END\_TRAN && [**fc**](broker__monitor_8c.md#function-timeout) < CAS\_FC\_MAX)
define MASK_ORACLE_COMPAT_NUMBER_BEHAVIOR 0x01
define MAX_HA_DBINFO_LENGTH ([**SRV\_CON\_DBNAME\_SIZE**](broker__admin__so_8h.md#define-srv_con_dbname_size) + [**MAX\_CONN\_INFO\_LENGTH**](broker__shm_8h.md#define-max_conn_info_length))
define MSG_HEADER_INFO_SIZE [**CAS\_INFO\_SIZE**](cas__protocol_8h.md#define-cas_info_size)
define MSG_HEADER_MSG_SIZE (([**int**](broker__monitor_8c.md#function-timeout)) [**sizeof**](broker__monitor_8c.md#function-timeout)([**int**](broker__monitor_8c.md#function-timeout)))
define MSG_HEADER_SIZE ([**MSG\_HEADER\_INFO\_SIZE**](cas__protocol_8h.md#define-msg_header_info_size) + [**MSG\_HEADER\_MSG\_SIZE**](cas__protocol_8h.md#define-msg_header_msg_size))
define SESSION_ID_SIZE 4
define SHARD_ID_INVALID (-1)
define SHARD_ID_UNSUPPORTED (-2)
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_DBNAME_SIZE 32
define SRV_CON_DBPASSWD_SIZE 32
define SRV_CON_DBSESS_ID_SIZE 20
define SRV_CON_DBUSER_SIZE 32
define SRV_CON_DB_INFO_SIZE /* multi line expression */
define SRV_CON_DB_INFO_SIZE_PRIOR_8_2_0 ([**SRV\_CON\_DBNAME\_SIZE**](broker__admin__so_8h.md#define-srv_con_dbname_size) + [**SRV\_CON\_DBUSER\_SIZE**](cas__protocol_8h.md#define-srv_con_dbuser_size) + [**SRV\_CON\_DBPASSWD\_SIZE**](cas__protocol_8h.md#define-srv_con_dbpasswd_size))
define SRV_CON_DB_INFO_SIZE_PRIOR_8_4_0 /* multi line expression */
define SRV_CON_MSG_IDX_CLIENT_TYPE 5
define SRV_CON_MSG_IDX_FUNCTION_FLAG 7
define SRV_CON_MSG_IDX_MAJOR_VER ([**SRV\_CON\_MSG\_IDX\_PROTO\_VERSION**](cas__protocol_8h.md#define-srv_con_msg_idx_proto_version))
define SRV_CON_MSG_IDX_MINOR_VER ([**SRV\_CON\_MSG\_IDX\_FUNCTION\_FLAG**](cas__protocol_8h.md#define-srv_con_msg_idx_function_flag))
define SRV_CON_MSG_IDX_PATCH_VER ([**SRV\_CON\_MSG\_IDX\_RESERVED2**](cas__protocol_8h.md#define-srv_con_msg_idx_reserved2))
define SRV_CON_MSG_IDX_PROTO_VERSION 6
define SRV_CON_MSG_IDX_RESERVED2 8
define SRV_CON_URL_SIZE 512
define SRV_CON_VER_STR_MAX_SIZE 20

Public Types Documentation

enum CAS_CHANGE_MODE

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 CAS_CLIENT_TYPE

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_GATEWAY = 7,
    CAS_CLIENT_TYPE_MAX = 7
};

enum CAS_INFO_STATUS_TYPE

enum CAS_INFO_STATUS_TYPE {
    CAS_INFO_STATUS_INACTIVE = 0,
    CAS_INFO_STATUS_ACTIVE = 1
};

enum CAS_INFO_TYPE

enum CAS_INFO_TYPE {
    CAS_INFO_STATUS = 0,
    CAS_INFO_RESERVED_1 = 1,
    CAS_INFO_RESERVED_2 = 2,
    CAS_INFO_ADDITIONAL_FLAG = 3
};

typedef T_BROKER_INFO_POS

typedef enum t_broker_info_pos T_BROKER_INFO_POS;

typedef T_BROKER_VERSION

typedef int T_BROKER_VERSION;

typedef T_CAS_FUNC_CODE

typedef enum t_cas_func_code T_CAS_FUNC_CODE;

typedef T_CAS_PROTOCOL

typedef enum t_cas_protocol T_CAS_PROTOCOL;

typedef T_DBMS_TYPE

typedef enum t_dbms_type T_DBMS_TYPE;

typedef T_DRIVER_INFO_POS

typedef enum t_driver_info_pos T_DRIVER_INFO_POS;

enum t_broker_info_pos

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_SYSTEM_PARAM,
    BROKER_INFO_RESERVED3
};

enum t_cas_func_code

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

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,
    PROTOCOL_V11 = 11,
    PROTOCOL_V12 = 12,
    CURRENT_PROTOCOL = PROTOCOL_V12
};

enum t_dbms_type

enum t_dbms_type {
    CAS_DBMS_NONE = 0,
    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,
    CAS_CGW_DBMS_ORACLE = 7,
    CAS_CGW_DBMS_MYSQL = 8,
    CAS_CGW_DBMS_MARIADB = 9
};

enum t_driver_info_pos

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
};

Public Functions Documentation

function cas_bi_get_broker_info

const  char * cas_bi_get_broker_info (
    void
) 

function cas_bi_get_cci_pconnect

char cas_bi_get_cci_pconnect (
    void
) 

function cas_bi_get_dbms_type

char cas_bi_get_dbms_type (
    void
) 

function cas_bi_get_keep_connection

char cas_bi_get_keep_connection (
    void
) 

function cas_bi_get_protocol_version

char cas_bi_get_protocol_version (
    void
) 

function cas_bi_get_renewed_error_code

bool cas_bi_get_renewed_error_code (
    void
) 

function cas_bi_get_statement_pooling

char cas_bi_get_statement_pooling (
    void
) 

function cas_bi_make_broker_info

void cas_bi_make_broker_info (
    char * broker_info,
    char dbms_type,
    char statement_pooling,
    char cci_pconnect,
    char oracle_compat_number_behavior
) 

function cas_bi_set_cci_pconnect

void cas_bi_set_cci_pconnect (
    const  char cci_pconnect
) 

function cas_bi_set_dbms_type

void cas_bi_set_dbms_type (
    const  char dbms_type
) 

function cas_bi_set_keep_connection

void cas_bi_set_keep_connection (
    const  char keep_connection
) 

function cas_bi_set_oracle_compat_number_behavior

void cas_bi_set_oracle_compat_number_behavior (
    char oracle_compat_number_behavior
) 

function cas_bi_set_protocol_version

void cas_bi_set_protocol_version (
    const  char protocol_version
) 

function cas_bi_set_renewed_error_code

void cas_bi_set_renewed_error_code (
    const  bool renewed_error_code
) 

function cas_bi_set_statement_pooling

void cas_bi_set_statement_pooling (
    const  char statement_pooling
) 

function cas_di_understand_renewed_error_code

bool cas_di_understand_renewed_error_code (
    const  char * driver_info
) 

Macro Definition Documentation

define BROKER_INFO_MAJOR_VERSION

#define BROKER_INFO_MAJOR_VERSION `( BROKER_INFO_PROTO_VERSION )`

define BROKER_INFO_MINOR_VERSION

#define BROKER_INFO_MINOR_VERSION `( BROKER_INFO_FUNCTION_FLAG )`

define BROKER_INFO_PATCH_VERSION

#define BROKER_INFO_PATCH_VERSION `( BROKER_INFO_SYSTEM_PARAM )`

define BROKER_INFO_RESERVED

#define BROKER_INFO_RESERVED `( BROKER_INFO_RESERVED3 )`

define BROKER_INFO_SIZE

#define BROKER_INFO_SIZE `8`

define BROKER_RECONNECT_WHEN_SERVER_DOWN

#define BROKER_RECONNECT_WHEN_SERVER_DOWN `0x20`

define BROKER_RENEWED_ERROR_CODE

#define BROKER_RENEWED_ERROR_CODE `0x80`

define BROKER_SUPPORT_HOLDABLE_RESULT

#define BROKER_SUPPORT_HOLDABLE_RESULT `0x40`

define CAS_CONNECTION_REPLY_SIZE

#define CAS_CONNECTION_REPLY_SIZE `CAS_CONNECTION_REPLY_SIZE_V4`

define CAS_CONNECTION_REPLY_SIZE_PRIOR_PROTOCOL_V3

#define CAS_CONNECTION_REPLY_SIZE_PRIOR_PROTOCOL_V3 `( CAS_PID_SIZE + BROKER_INFO_SIZE + SESSION_ID_SIZE )`

define CAS_CONNECTION_REPLY_SIZE_V3

#define CAS_CONNECTION_REPLY_SIZE_V3 `( CAS_PID_SIZE + BROKER_INFO_SIZE + DRIVER_SESSION_SIZE )`

define CAS_CONNECTION_REPLY_SIZE_V4

#define CAS_CONNECTION_REPLY_SIZE_V4 `( CAS_PID_SIZE + CAS_PID_SIZE + BROKER_INFO_SIZE + DRIVER_SESSION_SIZE )`

define CAS_CONV_ERROR_TO_NEW

#define CAS_CONV_ERROR_TO_NEW (
    V
) `( V - 9000)`

define CAS_CONV_ERROR_TO_OLD

#define CAS_CONV_ERROR_TO_OLD (
    V
) `( V + 9000)`

define CAS_GET_QUERY_INFO_PLAN

#define CAS_GET_QUERY_INFO_PLAN `1`

define CAS_INFO_FLAG_MASK_AUTOCOMMIT

#define CAS_INFO_FLAG_MASK_AUTOCOMMIT `0x01`

define CAS_INFO_FLAG_MASK_FORCE_OUT_TRAN

#define CAS_INFO_FLAG_MASK_FORCE_OUT_TRAN `0x02`

define CAS_INFO_FLAG_MASK_NEW_SESSION_ID

#define CAS_INFO_FLAG_MASK_NEW_SESSION_ID `0x04`

define CAS_INFO_RESERVED_DEFAULT

#define CAS_INFO_RESERVED_DEFAULT `(-1)`

define CAS_INFO_SIZE

#define CAS_INFO_SIZE `(4)`

define CAS_KEEP_CONNECTION_ON

#define CAS_KEEP_CONNECTION_ON `1`

define CAS_MAKE_PROTO_VER

#define CAS_MAKE_PROTO_VER (
    DRIVER_INFO
) `/* multi line expression */`

define CAS_MAKE_VER

#define CAS_MAKE_VER (
    MAJOR,
    MINOR,
    PATCH
) `(( T_BROKER_VERSION ) ((( MAJOR ) << 16) | (( MINOR ) << 8) | ( PATCH )))`

define CAS_PID_SIZE

#define CAS_PID_SIZE `4`

define CAS_PROTOCOL_VERSION

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

define CAS_PROTO_CURRENT_VER

#define CAS_PROTO_CURRENT_VER `(( T_BROKER_VERSION ) CAS_PROTO_MAKE_VER ( CURRENT_PROTOCOL ))`

define CAS_PROTO_INDICATOR

#define CAS_PROTO_INDICATOR `(0x40)`

define CAS_PROTO_MAKE_VER

#define CAS_PROTO_MAKE_VER (
    VER
) `(( T_BROKER_VERSION ) ( CAS_PROTO_INDICATOR << 24 | ( VER )))`

define CAS_PROTO_PACK_CURRENT_NET_VER

#define CAS_PROTO_PACK_CURRENT_NET_VER `CAS_PROTO_PACK_NET_VER ( CURRENT_PROTOCOL )`

define CAS_PROTO_PACK_NET_VER

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

define CAS_PROTO_TO_VER_STR

#define CAS_PROTO_TO_VER_STR (
    MSG_P,
    VER
) `/* multi line expression */`

define CAS_PROTO_UNPACK_NET_VER

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

define CAS_PROTO_VER_MASK

#define CAS_PROTO_VER_MASK `(0x3F)`

define CAS_REQ_HEADER_CCI

#define CAS_REQ_HEADER_CCI `"CCI"`

define CAS_REQ_HEADER_JDBC

#define CAS_REQ_HEADER_JDBC `"JDBC"`

define CAS_REQ_HEADER_ODBC

#define CAS_REQ_HEADER_ODBC `"ODBC"`

define CAS_REQ_HEADER_OLEDB

#define CAS_REQ_HEADER_OLEDB `"OLEDB"`

define CAS_REQ_HEADER_PHP

#define CAS_REQ_HEADER_PHP `"PHP"`

define CAS_STATEMENT_POOLING_OFF

#define CAS_STATEMENT_POOLING_OFF `0`

define CAS_STATEMENT_POOLING_ON

#define CAS_STATEMENT_POOLING_ON `1`

define CAS_TYPE_FIRST_BYTE_PROTOCOL_MASK

#define CAS_TYPE_FIRST_BYTE_PROTOCOL_MASK `0x80`

define CAS_VER_TO_MAJOR

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

define CAS_VER_TO_MINOR

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

define CAS_VER_TO_PATCH

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

define CCI_PCONNECT_OFF

#define CCI_PCONNECT_OFF `0`

define CCI_PCONNECT_ON

#define CCI_PCONNECT_ON `1`

define DOES_CLIENT_MATCH_THE_PROTOCOL

#define DOES_CLIENT_MATCH_THE_PROTOCOL (
    CLIENT,
    MATCH
) `(( CLIENT ) == CAS_PROTO_MAKE_VER (( MATCH )))`

define DOES_CLIENT_UNDERSTAND_THE_PROTOCOL

#define DOES_CLIENT_UNDERSTAND_THE_PROTOCOL (
    CLIENT,
    REQUIRE
) `(( CLIENT ) >= CAS_PROTO_MAKE_VER (( REQUIRE )))`

define DRIVER_SESSION_SIZE

#define DRIVER_SESSION_SIZE `SRV_CON_DBSESS_ID_SIZE`

define HEALTH_CHECK_DUMMY_DB

#define HEALTH_CHECK_DUMMY_DB `"___health_check_dummy_db___"`

define IS_CONNECTED_TO_PROXY

#define IS_CONNECTED_TO_PROXY (
    type
) `/* multi line expression */`

define IS_SSL_CLIENT

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

define IS_VALID_CAS_FC

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

define MASK_ORACLE_COMPAT_NUMBER_BEHAVIOR

#define MASK_ORACLE_COMPAT_NUMBER_BEHAVIOR `0x01`

define MAX_HA_DBINFO_LENGTH

#define MAX_HA_DBINFO_LENGTH `( SRV_CON_DBNAME_SIZE + MAX_CONN_INFO_LENGTH )`

define MSG_HEADER_INFO_SIZE

#define MSG_HEADER_INFO_SIZE `CAS_INFO_SIZE`

define MSG_HEADER_MSG_SIZE

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

define MSG_HEADER_SIZE

#define MSG_HEADER_SIZE `( MSG_HEADER_INFO_SIZE + MSG_HEADER_MSG_SIZE )`

define SESSION_ID_SIZE

#define SESSION_ID_SIZE `4`

define SHARD_ID_INVALID

#define SHARD_ID_INVALID `(-1)`

define SHARD_ID_UNSUPPORTED

#define SHARD_ID_UNSUPPORTED `(-2)`

define SRV_CON_CLIENT_INFO_SIZE

#define SRV_CON_CLIENT_INFO_SIZE `10`

define SRV_CON_CLIENT_MAGIC_LEN

#define SRV_CON_CLIENT_MAGIC_LEN `5`

define SRV_CON_CLIENT_MAGIC_STR

#define SRV_CON_CLIENT_MAGIC_STR `"CUBRK"`

define SRV_CON_CLIENT_MAGIC_STR_SSL

#define SRV_CON_CLIENT_MAGIC_STR_SSL `"CUBRS"`

define SRV_CON_DBNAME_SIZE

#define SRV_CON_DBNAME_SIZE `32`

define SRV_CON_DBPASSWD_SIZE

#define SRV_CON_DBPASSWD_SIZE `32`

define SRV_CON_DBSESS_ID_SIZE

#define SRV_CON_DBSESS_ID_SIZE `20`

define SRV_CON_DBUSER_SIZE

#define SRV_CON_DBUSER_SIZE `32`

define SRV_CON_DB_INFO_SIZE

#define SRV_CON_DB_INFO_SIZE `( SRV_CON_DBNAME_SIZE + SRV_CON_DBUSER_SIZE + SRV_CON_DBPASSWD_SIZE + \ SRV_CON_URL_SIZE + SRV_CON_DBSESS_ID_SIZE )`

define SRV_CON_DB_INFO_SIZE_PRIOR_8_2_0

#define SRV_CON_DB_INFO_SIZE_PRIOR_8_2_0 `( SRV_CON_DBNAME_SIZE + SRV_CON_DBUSER_SIZE + SRV_CON_DBPASSWD_SIZE )`

define SRV_CON_DB_INFO_SIZE_PRIOR_8_4_0

#define SRV_CON_DB_INFO_SIZE_PRIOR_8_4_0 `( SRV_CON_DBNAME_SIZE + SRV_CON_DBUSER_SIZE + SRV_CON_DBPASSWD_SIZE + \ SRV_CON_URL_SIZE )`

define SRV_CON_MSG_IDX_CLIENT_TYPE

#define SRV_CON_MSG_IDX_CLIENT_TYPE `5`

define SRV_CON_MSG_IDX_FUNCTION_FLAG

#define SRV_CON_MSG_IDX_FUNCTION_FLAG `7`

define SRV_CON_MSG_IDX_MAJOR_VER

#define SRV_CON_MSG_IDX_MAJOR_VER `( SRV_CON_MSG_IDX_PROTO_VERSION )`

define SRV_CON_MSG_IDX_MINOR_VER

#define SRV_CON_MSG_IDX_MINOR_VER `( SRV_CON_MSG_IDX_FUNCTION_FLAG )`

define SRV_CON_MSG_IDX_PATCH_VER

#define SRV_CON_MSG_IDX_PATCH_VER `( SRV_CON_MSG_IDX_RESERVED2 )`

define SRV_CON_MSG_IDX_PROTO_VERSION

#define SRV_CON_MSG_IDX_PROTO_VERSION `6`

define SRV_CON_MSG_IDX_RESERVED2

#define SRV_CON_MSG_IDX_RESERVED2 `8`

define SRV_CON_URL_SIZE

#define SRV_CON_URL_SIZE `512`

define SRV_CON_VER_STR_MAX_SIZE

#define SRV_CON_VER_STR_MAX_SIZE `20`


The documentation for this class was generated from the following file cubrid/src/broker/cas_protocol.h