class Cql::Client::RequestRunner
@private
Public Instance Methods
execute(connection, request, timeout=nil, raw_metadata=nil) { |response| ... }
click to toggle source
# File lib/cql/client/request_runner.rb, line 7 def execute(connection, request, timeout=nil, raw_metadata=nil) connection.send_request(request, timeout).map do |response| case response when Protocol::RawRowsResultResponse LazyQueryResult.new(raw_metadata, response, response.trace_id, response.paging_state) when Protocol::RowsResultResponse QueryResult.new(response.metadata, response.rows, response.trace_id, response.paging_state) when Protocol::VoidResultResponse response.trace_id ? VoidResult.new(response.trace_id) : VoidResult::INSTANCE when Protocol::ErrorResponse cql = request.is_a?(Protocol::QueryRequest) ? request.cql : nil details = response.respond_to?(:details) ? response.details : nil raise QueryError.new(response.code, response.message, cql, details) when Protocol::SetKeyspaceResultResponse KeyspaceChanged.new(response.keyspace) when Protocol::AuthenticateResponse AuthenticationRequired.new(response.authentication_class) when Protocol::SupportedResponse response.options else if block_given? yield response else nil end end end end