39 #include <sys/types.h> 56 #define DEFAULT_ADMIN_LOG_FILE "log/broker/cubrid_broker.log" 57 #define DEFAULT_SESSION_TIMEOUT "5min" 58 #define DEFAULT_MAX_QUERY_TIMEOUT "0" 59 #define DEFAULT_MYSQL_READ_TIMEOUT "0" 60 #define DEFAULT_MYSQL_KEEPALIVE_INTERVAL "1800" 61 #define DEFAULT_JOB_QUEUE_SIZE 1024 62 #define DEFAULT_APPL_SERVER "CAS" 63 #define DEFAULT_EMPTY_STRING "\0" 64 #define DEFAULT_FILE_UPLOAD_DELIMITER "^^" 65 #define DEFAULT_SQL_LOG_MODE "ALL" 66 #define DEFAULT_KEEP_CONNECTION "AUTO" 67 #define DEFAULT_JDBC_CACHE_LIFE_TIME 1000 68 #define DEFAULT_PROXY_MAX_PREPARED_STMT_COUNT 10000 69 #define DEFAULT_CAS_MAX_PREPARED_STMT_COUNT 2000 70 #define DEFAULT_MONITOR_HANG_INTERVAL 60 71 #define DEFAULT_HANG_TIMEOUT 60 72 #define DEFAULT_RECONNECT_TIME "600s" 74 #define DEFAULT_SHARD_PROXY_LOG_MODE "ERROR" 75 #define DEFAULT_SHARD_KEY_MODULAR 256 76 #define DEFAULT_SHARD_PROXY_TIMEOUT "30s" 77 #define DEFAULT_SHARD_PROXY_CONN_WAIT_TIMEOUT "8h" 79 #define PORT_NUM_LIMIT (USHRT_MAX) 163 "Cannot find any section in conf file.",
164 "Value type does not match parameter type.",
165 "Value is out of range.",
166 "Section name is too long. Section name must be less than 64." 170 #define MAX_NUM_OF_CONF_FILE_LOADED 5 176 "ACCESS_CONTROL_FILE",
183 "ENABLE_MONITOR_HANG",
185 "MAX_NUM_DELAYED_HOSTS_LOOKUP",
189 "APPL_SERVER_MAX_SIZE",
190 "APPL_SERVER_MAX_SIZE_HARD_LIMIT",
192 "APPL_SERVER_SHM_ID",
193 "AUTO_ADD_APPL_SERVER",
194 "MAX_NUM_APPL_SERVER",
195 "MIN_NUM_APPL_SERVER",
197 "CCI_DEFAULT_AUTOCOMMIT",
199 "LONG_TRANSACTION_TIME",
200 "MAX_PREPARED_STMT_COUNT",
205 "JDBC_CACHE_HINT_ONLY",
206 "JDBC_CACHE_LIFE_TIME",
210 "ACCESS_LOG_MAX_SIZE",
224 "DATABASES_CONNECTION_FILE",
225 "ENABLE_MONITOR_SERVER",
230 "STRIPPED_COLUMN_NAME",
232 "DEFAULT_SHARD_NUM_PROXY",
233 "DEFAULT_SHARD_PROXY_LOG_DIR",
234 "DEFAULT_SHARD_PROXY_LOG_MAX_SIZE",
235 "DEFAULT_SHARD_PROXY_LOG_MODE",
236 "SHARD_CONNECTION_FILE",
242 "SHARD_KEY_FUNCTION_NAME",
243 "SHARD_KEY_LIBRARY_NAME",
246 "SHARD_MAX_PREPARED_STMT_COUNT",
247 "SHARD_PROXY_CONN_WAIT_TIMEOUT",
248 "SHARD_PROXY_LOG_MAX_SIZE",
249 "SHARD_PROXY_SHM_ID",
250 "SHARD_PROXY_TIMEOUT",
253 "SHARD_PROXY_LOG_DIR",
292 int error_flag =
FALSE;
294 for (i = 0; i < num_brs; i++)
296 for (j = i + 1; j < num_brs; j++)
298 if (br_info[i].port == br_info[j].port)
300 #if !defined (WINDOWS) 301 printf (
"duplicated port number %d\n", br_info[i].port);
308 if (error_flag ==
TRUE)
333 if (snprintf (path, path_len,
"%s/%s",
get_cubrid_home (), tmp_str) < 0)
353 if (strcasecmp (
string, conf_table[i].
conf_str) == 0)
386 char *admin_log_file,
char admin_flag,
bool * acl_flag,
char *acl_file,
389 #if defined (_UC_ADMIN_SO_) 390 #define PRINTERROR(...) sprintf(admin_err_msg, __VA_ARGS__) 392 #define PRINTERROR(...) \ 394 PRINT_AND_LOG_ERR_MSG(__VA_ARGS__); \ 401 int master_shm_id = 0;
403 #if defined (WINDOWS) 411 const char *ini_string;
413 char size_str[LINE_MAX];
414 char time_str[LINE_MAX];
419 PRINTERROR (
"cannot open conf file %s\n", conf_file);
423 #if defined (WINDOWS) 424 memset (appl_server_port_assigned, 0,
sizeof (appl_server_port_assigned));
442 for (i = 0; i < ini->
size; i++)
452 key = strchr (ini->
key[i],
':');
470 PRINTERROR (
"cubrid_broker.conf: invalid keyword '%s' (%d)\n", key, ini->
lineno[i]);
477 if (admin_log_file !=
NULL)
483 if (acl_flag !=
NULL)
494 if (acl_file !=
NULL)
500 for (i = 0; i < ini->
nsec; i++)
505 if (sec_name ==
NULL || strcasecmp (sec_name,
SECTION_NAME) == 0 || sec_name[0] !=
'%')
523 strcpy (br_info[num_brs].name, sec_name + 1);
527 if (br_info[num_brs].cci_default_autocommit < 0)
533 br_info[num_brs].
port =
ini_getint (ini, sec_name,
"BROKER_PORT", 0, &lineno);
537 if (br_info[num_brs].service_flag < 0)
545 if (br_info[num_brs].use_SSL < 0)
553 if (br_info[num_brs].appl_server < 0)
577 #if defined (WINDOWS) 578 tmp_int =
ini_getint (ini, sec_name,
"APPL_SERVER_PORT", -1, &lineno);
581 br_info[num_brs].appl_server_port = 0;
585 br_info[num_brs].appl_server_port = tmp_int;
586 appl_server_port_assigned[num_brs] =
TRUE;
594 if (br_info[num_brs].appl_server_max_size < 0)
603 if (br_info[num_brs].appl_server_hard_limit <= 0)
611 if (br_info[num_brs].session_timeout < 0)
629 strcpy (br_info[num_brs].access_log_file, br_info[num_brs].access_log_dir);
634 if (br_info[num_brs].max_prepared_stmt_count < 1)
642 if (br_info[num_brs].log_backup < 0)
652 if (br_info[num_brs].sql_log_mode < 0)
660 if (br_info[num_brs].slow_log_mode < 0)
666 #if !defined (WINDOWS) 672 if (br_info[num_brs].sql_log_max_size < 0)
706 if (br_info[num_brs].auto_add_appl_server < 0)
717 if (br_info[num_brs].time_to_kill < 0)
725 if (br_info[num_brs].access_log < 0)
735 if (br_info[num_brs].access_log_max_size < 0)
761 if (br_info[num_brs].keep_connection < 0)
769 if (br_info[num_brs].cache_user_info < 0)
777 if (br_info[num_brs].statement_pooling < 0)
785 if (br_info[num_brs].jdbc_cache < 0)
793 if (br_info[num_brs].jdbc_cache_only_hint < 0)
804 if (br_info[num_brs].cci_pconnect < 0)
816 else if (tmp_int ==
ON)
826 if (br_info[num_brs].access_mode < 0)
834 if (br_info[num_brs].replica_only_flag < 0)
840 strcpy (br_info[num_brs].preferred_hosts,
845 if (br_info[num_brs].connect_order < 0)
861 if (br_info[num_brs].cas_rctime < 0)
882 if (br_info[num_brs].mysql_read_timeout < 0)
919 if (br_info[num_brs].trigger_action_flag < 0)
937 if (br_info[num_brs].shard_flag < 0)
963 strcpy (br_info[num_brs].proxy_log_dir,
969 if (br_info[num_brs].proxy_log_mode < 0)
984 "shard_connection.txt", &lineno));
985 if (br_info[num_brs].shard_connection_file[0] ==
'\0')
993 if (br_info[num_brs].shard_key_file[0] ==
'\0')
1001 if (br_info[num_brs].shard_key_modular < 0)
1008 if (library_name[0] != 0 && !
IS_ABS_PATH (library_name))
1014 snprintf (br_info[num_brs].shard_key_library_name,
BROKER_PATH_MAX,
"%s", library_name);
1017 strcpy (br_info[num_brs].shard_key_function_name,
1023 if (br_info[num_brs].proxy_log_max_size < 0)
1036 if (br_info[num_brs].proxy_max_prepared_stmt_count < 1)
1044 if (br_info[num_brs].ignore_shard_hint < 0)
1053 if (br_info[num_brs].proxy_timeout < 0)
1067 if (br_info[num_brs].proxy_conn_wait_timeout < 0)
1084 if (master_shm_id <= 0)
1086 PRINTERROR (
"config error, invalid MASTER_SHM_ID\n");
1096 for (i = 0; i < num_brs; i++)
1100 PRINTERROR (
"config error, MASTER_SHM_ID = broker %s APPL_SERVER_SHM_ID\n", br_info[i].name);
1103 for (j = i + 1; j < num_brs; j++)
1105 if (strcmp (br_info[i].name, br_info[j].name) == 0)
1107 PRINTERROR (
"duplicated broker name : %s\n", br_info[i].name);
1110 if (br_info[i].appl_server_shm_id == br_info[j].appl_server_shm_id)
1112 PRINTERROR (
"duplicated APPL_SERVER_SHM_ID (broker %s, %s)\n", br_info[i].name, br_info[j].name);
1118 for (i = 0; i < num_brs; i++)
1122 PRINTERROR (
"config error, %s, BROKER_PORT\n", br_info[i].name);
1125 if (br_info[i].appl_server_min_num > br_info[i].appl_server_max_num)
1131 PRINTERROR (
"config error, %s, APPL_SHM_ID\n", br_info[i].name);
1133 #if defined (_UC_ADMIN_SO_) 1138 if (br_info[i].shard_flag ==
ON)
1142 PRINTERROR (
"config error, %s, SHARD_PROXY_SHM_ID\n", br_info[i].name);
1145 if (br_info[i].shard_db_name[0] ==
'\0')
1147 PRINTERROR (
"config error, %s, SHARD_DB_NAME\n", br_info[i].name);
1153 if (error_flag ==
TRUE)
1165 for (i = 0; i < num_brs; i++)
1169 if (br_info[i].source_env[0] !=
'\0')
1173 if (br_info[i].acl_file[0] !=
'\0')
1177 if (br_info[i].proxy_log_dir[0] !=
'\0')
1182 if (admin_log_file !=
NULL)
1188 #if defined (WINDOWS) 1189 for (i = 0; i < num_brs; i++)
1191 if (appl_server_port_assigned[i] ==
FALSE)
1193 br_info[
i].appl_server_port = br_info[
i].
port + 1;
1198 *num_broker = num_brs;
1199 *br_shm_id = master_shm_id;
1206 #if !defined (_UC_ADMIN_SO_) 1229 char *admin_log_file,
char admin_flag,
bool * acl_flag,
char *acl_file,
char *
admin_err_msg)
1232 bool is_conf_found =
false;
1234 struct stat stat_buf;
1236 #if !defined (_UC_ADMIN_SO_) 1238 admin_err_msg =
NULL;
1247 if (conf_file ==
NULL)
1252 if (conf_file !=
NULL && *conf_file ==
'\0')
1258 if (conf_file !=
NULL)
1260 strcpy (file_being_dealt_with, conf_file);
1265 strcpy (file_being_dealt_with, default_conf_file_path);
1267 if (stat (file_being_dealt_with, &stat_buf) == 0)
1269 is_conf_found =
true;
1272 acl_flag, acl_file, admin_err_msg);
1293 const char *tmp_str;
1295 if (br_info ==
NULL || num_broker <= 0 || num_broker >
MAX_BROKER_NUM || br_shm_id <= 0)
1298 fprintf (fp,
"#\n# cubrid_broker.conf\n#\n\n");
1299 fprintf (fp,
"# broker parameters were loaded from the files\n");
1309 fprintf (fp,
"\n# broker parameters\n");
1311 fprintf (fp,
"[broker]\n");
1312 fprintf (fp,
"MASTER_SHM_ID\t=%x\n\n", br_shm_id);
1314 for (i = 0; i < num_broker; i++)
1316 fprintf (fp,
"[%%%s]\n", br_info[i].name);
1320 fprintf (fp,
"SERVICE\t\t\t=%s\n", tmp_str);
1325 fprintf (fp,
"APPL_SERVER\t\t=%s\n", tmp_str);
1327 fprintf (fp,
"MIN_NUM_APPL_SERVER\t=%d\n", br_info[i].appl_server_min_num);
1328 fprintf (fp,
"MAX_NUM_APPL_SERVER\t=%d\n", br_info[i].appl_server_max_num);
1329 #if defined (WINDOWS) 1330 fprintf (fp,
"APPL_SERVER_PORT\t=%d\n", br_info[i].appl_server_port);
1333 fprintf (fp,
"SSL\t\t\t=%s\n", br_info[i].use_SSL ?
"ON" :
"OFF");
1334 fprintf (fp,
"APPL_SERVER_MAX_SIZE\t=%d\n", br_info[i].appl_server_max_size /
ONE_K);
1335 fprintf (fp,
"SESSION_TIMEOUT\t\t=%d\n", br_info[i].session_timeout);
1336 fprintf (fp,
"LOG_DIR\t\t\t=%s\n", br_info[i].log_dir);
1337 fprintf (fp,
"SLOW_LOG_DIR\t\t=%s\n", br_info[i].slow_log_dir);
1338 fprintf (fp,
"ERROR_LOG_DIR\t\t=%s\n", br_info[i].err_log_dir);
1342 fprintf (fp,
"LOG_BACKUP\t\t=%s\n", tmp_str);
1344 fprintf (fp,
"SOURCE_ENV\t\t=%s\n", br_info[i].source_env);
1345 tmp_str =
get_conf_string (br_info[i].sql_log_mode, tbl_sql_log_mode);
1348 fprintf (fp,
"SQL_LOG\t\t\t=%s\n", tmp_str);
1353 fprintf (fp,
"SLOW_LOG\t\t=%s\n", tmp_str);
1355 fprintf (fp,
"SQL_LOG_MAX_SIZE\t=%d\n", br_info[i].sql_log_max_size);
1356 fprintf (fp,
"LONG_QUERY_TIME\t\t=%.2f\n", (br_info[i].long_query_time / 1000.0));
1357 fprintf (fp,
"LONG_TRANSACTION_TIME\t=%.2f\n", (br_info[i].long_transaction_time / 1000.0));
1358 tmp_str =
get_conf_string (br_info[i].auto_add_appl_server, tbl_on_off);
1361 fprintf (fp,
"AUTO_ADD_APPL_SERVER\t=%s\n", tmp_str);
1363 fprintf (fp,
"JOB_QUEUE_SIZE\t\t=%d\n", br_info[i].job_queue_size);
1364 fprintf (fp,
"TIME_TO_KILL\t\t=%d\n", br_info[i].time_to_kill);
1368 fprintf (fp,
"ACCESS_LOG\t\t=%s\n", tmp_str);
1370 fprintf (fp,
"ACCESS_LOG_MAX_SIZE\t=%dK\n", (br_info[i].access_log_max_size));
1371 fprintf (fp,
"ACCESS_LOG_DIR\t\t=%s\n", br_info[i].access_log_dir);
1372 fprintf (fp,
"ACCESS_LIST\t\t=%s\n", br_info[i].acl_file);
1373 fprintf (fp,
"MAX_STRING_LENGTH\t=%d\n", br_info[i].max_string_length);
1374 tmp_str =
get_conf_string (br_info[i].keep_connection, tbl_keep_connection);
1377 fprintf (fp,
"KEEP_CONNECTION\t\t=%s\n", tmp_str);
1382 fprintf (fp,
"STATEMENT_POOLING\t=%s\n", tmp_str);
1387 fprintf (fp,
"CCI_PCONNECT\t\t=%s\n", tmp_str);
1392 fprintf (fp,
"ACCESS_MODE\t\t=%s\n", tmp_str);
1394 tmp_str =
get_conf_string (br_info[i].connect_order, tbl_connect_order);
1397 fprintf (fp,
"CONNECT_ORDER\t\t=%s\n", tmp_str);
1400 fprintf (fp,
"MAX_NUM_DELAYED_HOSTS_LOOKUP\t=%d\n", br_info[i].max_num_delayed_hosts_lookup);
1402 fprintf (fp,
"RECONNECT_TIME\t\t=%d\n", br_info[i].cas_rctime);
1407 fprintf (fp,
"REPLICA_ONLY\t\t=%s\n", tmp_str);
1410 tmp_str =
get_conf_string (br_info[i].trigger_action_flag, tbl_on_off);
1413 fprintf (fp,
"TRIGGER_ACTION\t\t=%s\n", tmp_str);
1416 fprintf (fp,
"MAX_QUERY_TIMEOUT\t=%d\n", br_info[i].
query_timeout);
1420 fprintf (fp,
"MYSQL_READ_TIMEOUT\t=%d\n", br_info[i].mysql_read_timeout);
1421 fprintf (fp,
"MYSQL_KEEPALIVE_INTERVAL\t=%d\n", br_info[i].mysql_keepalive_interval);
1427 fprintf (fp,
"ENABLE_MONITOR_HANG\t=%s\n", tmp_str);
1429 tmp_str =
get_conf_string (br_info[i].monitor_server_flag, tbl_on_off);
1432 fprintf (fp,
"ENABLE_MONITOR_SERVER\t=%s\n", tmp_str);
1434 fprintf (fp,
"REJECTED_CLIENTS_COUNT\t=%d\n", br_info[i].reject_client_count);
1439 fprintf (fp,
"STRIPPED_COLUMN_NAME\t=%s\n", tmp_str);
1445 fprintf (fp,
"CACHE_USER_INFO\t\t=%s\n", tmp_str);
1448 #if !defined (WINDOWS) 1449 fprintf (fp,
"SQL_LOG2\t\t=%d\n", br_info[i].sql_log2);
1451 fprintf (fp,
"BROKER_PORT\t\t\t=%d\n", br_info[i].port);
1452 fprintf (fp,
"APPL_SERVER_NUM\t\t=%d\n", br_info[i].appl_server_num);
1453 fprintf (fp,
"APPL_SERVER_MAX_SIZE_HARD_LIMIT\t=%d\n", br_info[i].appl_server_hard_limit /
ONE_K);
1454 fprintf (fp,
"MAX_PREPARED_STMT_COUNT\t=%d\n", br_info[i].max_prepared_stmt_count);
1455 fprintf (fp,
"PREFERRED_HOSTS\t\t=%s\n", br_info[i].preferred_hosts);
1460 fprintf (fp,
"JDBC_CACHE\t\t=%s\n", tmp_str);
1463 tmp_str =
get_conf_string (br_info[i].jdbc_cache_only_hint, tbl_on_off);
1466 fprintf (fp,
"JDBC_CACHE_HINT_ONLY\t=%s\n", tmp_str);
1469 fprintf (fp,
"JDBC_CACHE_LIFE_TIME\t=%d\n", br_info[i].jdbc_cache_life_time);
1470 tmp_str =
get_conf_string (br_info[i].cci_default_autocommit, tbl_on_off);
1473 fprintf (fp,
"CCI_DEFAULT_AUTOCOMMIT\t=%s\n", tmp_str);
1476 fprintf (fp,
"MONITOR_HANG_INTERVAL\t=%d\n", br_info[i].monitor_hang_interval);
1477 fprintf (fp,
"HANG_TIMEOUT\t\t=%d\n", br_info[i].hang_timeout);
1481 fprintf (fp,
"REJECT_CLIENT_FLAG\t=%s\n", tmp_str);
1484 if (br_info[i].shard_flag ==
OFF)
1490 fprintf (fp,
"SHARD_DB_NAME\t\t=%s\n", br_info[i].shard_db_name);
1491 fprintf (fp,
"SHARD_DB_USER\t\t=%s\n", br_info[i].shard_db_user);
1493 fprintf (fp,
"SHARD_NUM_PROXY\t\t=%d\n", br_info[i].num_proxy);
1494 fprintf (fp,
"SHARD_PROXY_LOG_DIR\t\t=%s\n", br_info[i].proxy_log_dir);
1495 tmp_str =
get_conf_string (br_info[i].proxy_log_mode, tbl_proxy_log_mode);
1498 fprintf (fp,
"SHARD_PROXY_LOG\t\t\t=%s\n", tmp_str);
1500 fprintf (fp,
"SHARD_MAX_CLIENTS\t\t=%d\n", br_info[i].max_client);
1502 fprintf (fp,
"SHARD_CONNECTION_FILE\t\t=%s\n", br_info[i].shard_connection_file);
1503 fprintf (fp,
"SHARD_KEY_FILE\t\t=%s\n", br_info[i].shard_key_file);
1505 fprintf (fp,
"SHARD_KEY_MODULAR\t\t=%d\n", br_info[i].shard_key_modular);
1506 fprintf (fp,
"SHARD_KEY_LIBRARY_NAME\t\t=%s\n", br_info[i].shard_key_library_name);
1507 fprintf (fp,
"SHARD_KEY_FUNCTION_NAME\t\t=%s\n", br_info[i].shard_key_function_name);
1508 fprintf (fp,
"SHARD_PROXY_LOG_MAX_SIZE\t\t=%d\n", br_info[i].proxy_log_max_size);
1509 fprintf (fp,
"SHARD_MAX_PREPARED_STMT_COUNT\t\t=%d\n", br_info[i].proxy_max_prepared_stmt_count);
1513 fprintf (fp,
"SHARD_IGNORE_HINT\t\t=%s\n", tmp_str);
1515 fprintf (fp,
"SHARD_PROXY_TIMEOUT\t\t=%d\n", br_info[i].proxy_timeout);
1516 fprintf (fp,
"SHARD_PROXY_SHM_ID\t\t=%d\n", br_info[i].
proxy_shm_id);
int long_transaction_time
#define APPL_SERVER_CAS_TYPE_NAME
#define DEFAULT_SHARD_NUM_PROXY
char jdbc_cache_only_hint
#define DEFAULT_MYSQL_KEEPALIVE_INTERVAL
const char * ini_getstr(INI_TABLE *ini, const char *sec, const char *key, const char *def, int *lineno)
#define DEFAULT_LONG_QUERY_TIME
static T_CONF_TABLE tbl_appl_server[]
int ini_gethex(INI_TABLE *ini, const char *sec, const char *key, int def, int *lineno)
#define PRINT_AND_LOG_ERR_MSG(...)
static int broker_config_read_internal(const char *conf_file, T_BROKER_INFO *br_info, int *num_broker, int *br_shm_id, char *admin_log_file, char admin_flag, bool *acl_flag, char *acl_file, char *admin_err_msg)
double ut_time_string_to_sec(const char *time_str, const char *default_unit)
static const char * get_conf_string(int value, T_CONF_TABLE *conf_table)
char stripped_column_name
#define MAX_NUM_OF_CONF_FILE_LOADED
#define JOB_QUEUE_MAX_SIZE
#define MAKE_FILEPATH(dest, src, dest_len)
static const char SECTION_NAME[]
int max_num_delayed_hosts_lookup
#define DEFAULT_TIME_TO_KILL
static void conf_file_has_been_loaded(const char *conf_path)
#define DEFAULT_JDBC_CACHE_LIFE_TIME
int conf_get_value_access_mode(const char *value)
static T_CONF_TABLE tbl_on_off[]
int proxy_conn_wait_timeout
#define DEFAULT_AS_MAX_NUM
#define APPL_SERVER_CAS_MYSQL_TYPE_NAME
int mysql_keepalive_interval
char * envvar_libdir_file(char *path, size_t size, const char *filename)
#define DEFAULT_AS_MIN_NUM
#define DEFAULT_EMPTY_STRING
#define DEFAULT_MAX_NUM_DELAYED_HOSTS_LOOKUP
void ini_parser_free(INI_TABLE *ini)
#define LONG_QUERY_TIME_LIMIT
int appl_server_hard_limit
#define CLIENT_INFO_SIZE_LIMIT
INI_TABLE * ini_parser_load(const char *ininame)
#define DEFAULT_KEEP_CONNECTION
#define BROKER_INFO_PATH_MAX
#define APPL_SERVER_CAS_ORACLE_TYPE_NAME
char * get_cubrid_file(T_CUBRID_FILE_ID fid, char *buf, size_t len)
#define APPL_SERVER_CAS_MYSQL
#define APPL_SERVER_CAS_ORACLE
int broker_config_read(const char *conf_file, T_BROKER_INFO *br_info, int *num_broker, int *br_shm_id, char *admin_log_file, char admin_flag, bool *acl_flag, char *acl_file, char *admin_err_msg)
int ini_getint(INI_TABLE *ini, const char *sec, const char *key, int def, int *lineno)
int ini_findsec(INI_TABLE *ini, const char *sec)
#define DEFAULT_SHARD_PROXY_LOG_MAX_SIZE
#define DEFAULT_SHARD_PROXY_LOG_MODE
char * ini_getsecname(INI_TABLE *ini, int n, int *lineno)
#define MAX_ACCESS_LOG_MAX_SIZE
#define DEFAULT_SHARD_PROXY_TIMEOUT
static T_CONF_TABLE tbl_proxy_log_mode[]
char cci_default_autocommit
static T_CONF_TABLE tbl_sql_log_mode[]
#define MAX_QUERY_TIMEOUT_LIMIT
#define DEFAULT_SERVER_HARD_LIMIT
char stripped_column_name
#define APPL_SERVER_CAS_MYSQL51_TYPE_NAME
static char * conf_file_loaded[MAX_NUM_OF_CONF_FILE_LOADED]
#define LONG_TRANSACTION_TIME_LIMIT
static T_CONF_TABLE tbl_keep_connection[]
#define DEFAULT_PROXY_MAX_PREPARED_STMT_COUNT
static T_CONF_TABLE tbl_access_mode[]
int max_prepared_stmt_count
double ut_size_string_to_kbyte(const char *size_str, const char *default_unit)
#define DEFAULT_SHARD_KEY_MODULAR
int ini_getuint_max(INI_TABLE *ini, const char *sec, const char *key, int def, int max, int *lineno)
#define strncpy_bufsize(buf, str)
#define DEFAULT_SQL_LOG_MAX_SIZE
#define DEFAULT_SHARD_PROXY_CONN_WAIT_TIMEOUT
#define MIN_MYSQL_KEEPALIVE_INTERVAL
#define DEFAULT_SERVER_MAX_SIZE
char auto_add_appl_server
#define MAX_PROXY_LOG_MAX_SIZE
static int check_port_number(T_BROKER_INFO *br_info, int num_brs)
#define DEFAULT_MONITOR_HANG_INTERVAL
#define DEFAULT_LONG_TRANSACTION_TIME
int conf_get_value_table_on_off(const char *value)
#define DEFAULT_SLOW_LOG_DIR
int monitor_hang_interval
#define DEFAULT_SESSION_TIMEOUT
char admin_err_msg[ADMIN_ERR_MSG_SIZE]
const char * envvar_get(const char *name)
int conf_get_value_proxy_log_mode(const char *value)
static int get_conf_value(const char *string, T_CONF_TABLE *conf_table)
#define DEFAULT_APPL_SERVER
static const char * tbl_conf_err_msg[]
int conf_get_value_keep_con(const char *value)
int conf_get_value_connect_order(const char *value)
int proxy_max_prepared_stmt_count
void shard_shm_dump_appl_server(FILE *fp, int shmid)
#define DEFAULT_JOB_QUEUE_SIZE
void dir_repath(char *path, size_t path_len)
#define DEFAULT_ADMIN_LOG_FILE
#define DEFAULT_SHARD_MAX_CLIENTS
static T_CONF_TABLE tbl_connect_order[]
const char * broker_keywords[]
#define DEFAULT_HANG_TIMEOUT
#define CONF_LOG_FILE_LEN
char * strdup(const char *str)
#define APPL_SERVER_CAS_MYSQL51
#define DEFAULT_CAS_MAX_PREPARED_STMT_COUNT
#define DEFAULT_ACCESS_LOG_MAX_SIZE
#define MAX_SQL_LOG_MAX_SIZE
int conf_get_value_sql_log_mode(const char *value)
void broker_config_dump(FILE *fp, const T_BROKER_INFO *br_info, int num_broker, int br_shm_id)
#define DEFAULT_RECONNECT_TIME
#define DEFAULT_SQL_LOG_MODE
#define MAX_PROXY_TIMEOUT_LIMIT
#define DEFAULT_SHARD_PROXY_LOG_DIR
#define DEFAULT_MAX_QUERY_TIMEOUT
#define APPL_SERVER_NUM_LIMIT
int basename_r(const char *path, char *pathbuf, size_t buflen)
int ini_getuint(INI_TABLE *ini, const char *sec, const char *key, int def, int *lineno)
#define DEFAULT_MYSQL_READ_TIMEOUT
#define DEFAULT_ACCESS_LOG_DIR