in src/util/odbc_helper.cc [89:109]
bool OdbcHelper::AllocateHandle(SQLSMALLINT handle_type, SQLHANDLE input_handle, SQLHANDLE& output_handle, const std::string& log_message) {
SQLRETURN rc;
rc = SQLAllocHandle(handle_type, input_handle, &output_handle);
if (!OdbcHelper::CheckResult(rc, log_message, output_handle, handle_type)) {
switch (handle_type) {
case SQL_HANDLE_ENV:
OdbcHelper::Cleanup(output_handle, SQL_NULL_HANDLE, SQL_NULL_HANDLE);
break;
case SQL_HANDLE_DBC:
OdbcHelper::Cleanup(SQL_NULL_HANDLE, output_handle, SQL_NULL_HANDLE);
break;
case SQL_HANDLE_STMT:
OdbcHelper::Cleanup(SQL_NULL_HANDLE, SQL_NULL_HANDLE, output_handle);
break;
default:
break;
}
return false;
}
return true;
}