static char CC_initial_log()

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