in connection.c [1029:1134]
static char CC_initial_log(ConnectionClass *self, const char *func)
{
const ConnInfo *ci = &self->connInfo;
char *encoding, vermsg[128];
snprintf(vermsg, sizeof(vermsg), "Driver Version='%s,%s'"
#ifdef WIN32
" linking %d"
#ifdef _MT
#ifdef _DLL
" dynamic"
#else
" static"
#endif /* _DLL */
" Multithread"
#else
" Singlethread"
#endif /* _MT */
#ifdef _DEBUG
" Debug"
#endif /* DEBUG */
" library"
#endif /* WIN32 */
"\n", POSTGRESDRIVERVERSION, __DATE__
#ifdef _MSC_VER
, _MSC_VER
#endif /* _MSC_VER */
);
QLOG(MIN_LOG_LEVEL, "%s", vermsg);
MYLOG(DETAIL_LOG_LEVEL, "Global Options: fetch=%d, unknown_sizes=%d, max_varchar_size=%d, max_longvarchar_size=%d\n",
ci->drivers.fetch_max,
ci->drivers.unknown_sizes,
ci->drivers.max_varchar_size,
ci->drivers.max_longvarchar_size);
MYLOG(DETAIL_LOG_LEVEL, " unique_index=%d, use_declarefetch=%d\n",
ci->drivers.unique_index,
ci->drivers.use_declarefetch);
MYLOG(DETAIL_LOG_LEVEL, " text_as_longvarchar=%d, unknowns_as_longvarchar=%d, bools_as_char=%d NAMEDATALEN=%d\n",
ci->drivers.text_as_longvarchar,
ci->drivers.unknowns_as_longvarchar,
ci->drivers.bools_as_char,
TABLE_NAME_STORAGE_LEN);
if (NULL == self->locale_encoding)
{
encoding = check_client_encoding(ci->conn_settings);
CC_set_locale_encoding(self, encoding);
MYLOG(DETAIL_LOG_LEVEL, " extra_systable_prefixes='%s', conn_settings='%s' conn_encoding='%s'\n",
ci->drivers.extra_systable_prefixes,
PRINT_NAME(ci->conn_settings),
encoding ? encoding : "");
if (encoding)
free(encoding);
}
if (self->status == CONN_DOWN)
{
CC_set_error_if_not_set(self, CONN_OPENDB_ERROR, "Connection broken.", func);
return 0;
}
else if (self->status != CONN_NOT_CONNECTED)
{
CC_set_error_if_not_set(self, CONN_OPENDB_ERROR, "Already connected.", func);
return 0;
}
#ifdef FORCE_PASSWORD_DISPLAY
MYLOG(MIN_LOG_LEVEL, "DSN = '%s', server = '%s', port = '%s', database = '%s', authtype = '%s', username = '%s', password='%s', " \
"iam_host = '%s', region = '%s', token_expiration = '%s', idp_endpoint = '%s', idp_port = '%s', idp_username = '%s', idp_password = '%s', " \
"idp_arn = '%s', idp_role_arn = '%s', socket_timeout = '%s', conn_timeout = '%s'\n", ci->dsn, ci->server, ci->port,
ci->database, ci->authtype, ci->username, ci->password.name, ci->iam_host, ci->region, ci->token_expiration,
ci->federation_cfg.idp_endpoint,
ci->federation_cfg.idp_port,
ci->federation_cfg.idp_username,
ci->federation_cfg.idp_password,
ci->federation_cfg.iam_idp_arn,
ci->federation_cfg.iam_role_arn,
ci->federation_cfg.http_client_socket_timeout,
ci->federation_cfg.http_client_connect_timeout);
#else
MYLOG(MIN_LOG_LEVEL, "DSN = '%s', server = '%s', port = '%s', database = '%s', authtype = '%s', username = '%s', password='%s', " \
"iam_host= '%s', region = '%s', token_expiration = '%s', idp_endpoint = '%s', idp_port = '%s', idp_username = '%s', idp_password = '%s', " \
"idp_arn = '%s', idp_role_arn = '%s', socket_timeout = '%s', conn_timeout = '%s'\n", ci->dsn, ci->server, ci->port,
ci->database, ci->authtype, ci->username, NAME_IS_VALID(ci->password) ? "xxxxx" : "", ci->iam_host, ci->region, ci->token_expiration,
ci->federation_cfg.idp_endpoint,
ci->federation_cfg.idp_port,
ci->federation_cfg.idp_username,
ci->federation_cfg.idp_password ? "xxxxx" : "",
ci->federation_cfg.iam_idp_arn,
ci->federation_cfg.iam_role_arn,
ci->federation_cfg.http_client_socket_timeout,
ci->federation_cfg.http_client_connect_timeout);
#endif
MYLOG(DETAIL_LOG_LEVEL, " failover_enabled='%d',failover_mode='%s',reader_host_selector_strategy='%s',host_pattern='%s',cluster_id='%s'," \
"topology_refresh='%u',topology_high_refresh='%u',ignore_topology_refresh='%u',failover_timeout='%u'",
ci->enable_failover,
ci->failover_mode,
ci->reader_host_selector_strategy,
ci->host_pattern,
ci->cluster_id,
ci->topology_refresh,
ci->topology_high_refresh,
ci->ignore_topology_refresh,
ci->failover_timeout);
return 1;
}