コード例 #1
0
/* {{{ MySQL_Connection::getClientOption() -I- */
void
MySQL_Connection::getClientOption(const sql::SQLString & optionName, void * optionValue)
{
	CPP_ENTER_WL(intern->logger, "MySQL_Connection::getClientOption");
	if (!optionName.compare("metadataUseInfoSchema")) {
		*(static_cast<bool *>(optionValue)) = intern->metadata_use_info_schema;
	} else if (!optionName.compare("defaultStatementResultType")) {
		*(static_cast<int *>(optionValue)) = intern->defaultStatementResultType;
	} else if (!optionName.compare("defaultPreparedStatementResultType")) {
		*(static_cast<int *>(optionValue)) = intern->defaultPreparedStatementResultType;
	} else if (!optionName.compare("characterSetResults")) {
		*(static_cast<sql::SQLString **>(optionValue)) = new sql::SQLString(getSessionVariable("characterSetResults"));
	}
}
コード例 #2
0
/* {{{ MySQL_Connection::getClientOption() -I- */
sql::SQLString
MySQL_Connection::getClientOption(const sql::SQLString & optionName)
{
	CPP_ENTER_WL(intern->logger, "MySQL_Connection::getClientOption");

	if (!optionName.compare("characterSetResults")) {
		return sql::SQLString(getSessionVariable("character_set_results"));
	} else if (!optionName.compare("characterSetDirectory")) {
		MY_CHARSET_INFO cs;
		proxy->get_character_set_info(&cs);
		return cs.dir ? sql::SQLString(cs.dir) : "";
	} else if ( proxy->get_server_version() >= 50703 ) {
		const char* optionValue= NULL;
		if (GET_CONN_OPTION(optionName, &optionValue, stringOptions)) {
			return optionValue ? sql::SQLString(optionValue) : "";
		}
	}
	return "";
}