CUBRID Engine  latest
cas.h
Go to the documentation of this file.
1 /*
2  * Copyright 2008 Search Solution Corporation
3  * Copyright 2016 CUBRID Corporation
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 
20 /*
21  * cas.h -
22  */
23 
24 #ifndef _CAS_H_
25 #define _CAS_H_
26 
27 #ident "$Id$"
28 
29 #ifndef CAS
30 #define CAS
31 #endif
32 
33 #include "broker_shm.h"
34 #include "cas_protocol.h"
35 #include "cas_cci.h"
36 #include "cas_common.h"
37 
38 #define ERROR_INDICATOR_UNSET 0
39 #define CAS_ERROR_INDICATOR -1
40 #define DBMS_ERROR_INDICATOR -2
41 #define CAS_NO_ERROR 0
42 #define ERR_MSG_LENGTH 1024
43 #define ERR_FILE_LENGTH 256
44 #define MAX_SHARD_INFO_LENGTH 30
45 
46 #define MAX_HA_DBINFO_LENGTH (SRV_CON_DBNAME_SIZE + MAX_CONN_INFO_LENGTH)
47 
48 typedef struct t_object T_OBJECT;
49 struct t_object
50 {
51  int pageid;
52  short slotid;
53  short volid;
54 };
55 
56 typedef struct t_lob_handle T_LOB_HANDLE;
58 {
59  int db_type;
60  INT64 lob_size;
62  char *locator;
63 };
64 
66 {
70 };
71 
72 typedef struct t_req_info T_REQ_INFO;
73 struct t_req_info
74 {
76  char driver_info[SRV_CON_CLIENT_INFO_SIZE];
77  enum tran_auto_commit need_auto_commit;
79 };
80 
81 typedef struct t_error_info T_ERROR_INFO;
83 {
86  char err_string[ERR_MSG_LENGTH];
87  char err_file[ERR_FILE_LENGTH];
88  int err_line;
89 };
90 
91 extern int cas_shard_flag;
92 extern int shm_shard_id;
93 
94 #ifndef LIBCAS_FOR_JSP
95 extern int restart_is_needed (void);
96 
97 extern const char *program_name;
98 extern char broker_name[BROKER_NAME_LEN];
99 
100 extern int shm_proxy_id;
101 extern int shm_shard_cas_id;
102 extern int shm_as_index;
105 
106 extern struct timeval tran_start_time;
107 extern struct timeval query_start_time;
108 extern int tran_timeout;
109 extern int query_timeout;
110 extern INT64 query_cancel_time;
111 extern char query_cancel_flag;
112 #endif
113 
114 extern int errors_in_transaction;
115 extern char stripped_column_name;
116 extern char cas_client_type;
117 
118 extern int cas_default_isolation_level;
119 extern int cas_default_lock_timeout;
120 extern bool cas_default_ansi_quotes;
121 #if !defined(CAS_FOR_ORACLE) && !defined(CAS_FOR_MYSQL)
123 #endif /* !CAS_FOR_ORACLE && !CAS_FOR_MYSQL */
124 extern int cas_send_result_flag;
125 extern int cas_info_size;
126 
127 extern T_ERROR_INFO err_info;
128 
129 extern bool is_xa_prepared (void);
130 extern void set_xa_prepare_flag (void);
131 extern void unset_xa_prepare_flag (void);
132 extern int query_seq_num_next_value (void);
133 extern int query_seq_num_current_value (void);
134 
135 extern void set_hang_check_time (void);
136 extern void unset_hang_check_time (void);
137 
138 extern bool check_server_alive (const char *db_name, const char *db_host);
139 
140 extern void cas_set_db_connect_status (int status);
141 extern int cas_get_db_connect_status (void);
143 
144 #endif /* _CAS_H_ */
#define ERR_MSG_LENGTH
Definition: cas.h:42
T_BROKER_VERSION client_version
Definition: cas.h:75
#define ERR_FILE_LENGTH
Definition: cas.h:43
#define SRV_CON_CLIENT_INFO_SIZE
Definition: cas_protocol.h:34
int query_seq_num_next_value(void)
Definition: cas.c:2935
int query_seq_num_current_value(void)
Definition: cas.c:2941
int shm_proxy_id
Definition: cas.c:154
char need_rollback
Definition: cas.h:78
T_APPL_SERVER_INFO * as_info
Definition: cas.c:153
int shm_shard_cas_id
Definition: cas.c:155
int shm_as_index
Definition: cas.c:151
T_SHM_APPL_SERVER * shm_appl
Definition: cas.c:152
bool check_server_alive(const char *db_name, const char *db_host)
Definition: cas.c:1517
const char * program_name
Definition: cas.c:147
tran_auto_commit
Definition: cas.h:65
int restart_is_needed(void)
Definition: cas.c:2684
char broker_name[BROKER_NAME_LEN]
Definition: cas.c:148
short volid
Definition: cas.h:53
struct timeval tran_start_time
Definition: cas.c:157
int errors_in_transaction
Definition: cas.c:167
short slotid
Definition: cas.h:52
void unset_xa_prepare_flag(void)
Definition: cas_xa.c:285
Definition: cas.h:49
int tran_timeout
Definition: cas.c:159
int query_timeout
Definition: cas.c:160
#define BROKER_NAME_LEN
Definition: broker_config.h:87
T_BROKER_VERSION cas_get_client_version(void)
Definition: cas.c:2947
int db_type
Definition: cas.h:59
bool is_xa_prepared(void)
Definition: cas_xa.c:273
int err_number
Definition: cas.h:85
char query_cancel_flag
Definition: cas.c:162
char * db_name
int cas_default_isolation_level
Definition: cas.c:176
int cas_default_lock_timeout
Definition: cas.c:177
void set_hang_check_time(void)
Definition: cas.c:1488
int pageid
Definition: cas.h:51
struct timeval query_start_time
Definition: cas.c:158
char cas_client_type
Definition: cas.c:169
int T_BROKER_VERSION
Definition: cas_protocol.h:342
void set_xa_prepare_flag(void)
Definition: cas_xa.c:279
bool cas_default_ansi_quotes
Definition: cas.c:178
int cas_shard_flag
Definition: cas.c:143
Definition: cas.h:73
int locator_size
Definition: cas.h:61
bool cas_default_no_backslash_escapes
Definition: cas.c:180
char * locator
Definition: cas.h:62
int cas_send_result_flag
Definition: cas.c:182
void cas_set_db_connect_status(int status)
Definition: cas_execute.c:9699
char stripped_column_name
Definition: cas.c:168
int cas_get_db_connect_status(void)
Definition: cas_execute.c:9705
void unset_hang_check_time(void)
Definition: cas.c:1505
INT64 query_cancel_time
Definition: cas.c:161
int err_indicator
Definition: cas.h:84
int err_line
Definition: cas.h:88
T_ERROR_INFO err_info
Definition: cas.c:186
int shm_shard_id
Definition: cas.c:144
int cas_info_size
Definition: cas.c:183
INT64 lob_size
Definition: cas.h:60