class Cql::Protocol::BatchRequest

Constants

COUNTER_TYPE
LOGGED_TYPE
PREPARED_KIND
QUERY_KIND
TYPE_CONVERTER
UNLOGGED_TYPE

Attributes

consistency[R]
part_count[R]
type[R]

Public Class Methods

new(type, consistency, trace=false) click to toggle source
Calls superclass method Cql::Protocol::Request::new
# File lib/cql/protocol/requests/batch_request.rb, line 12
def initialize(type, consistency, trace=false)
  super(0x0D, trace)
  @type = type
  @part_count = 0
  @encoded_queries = CqlByteBuffer.new
  @consistency = consistency
end

Public Instance Methods

add_prepared(id, metadata, values) click to toggle source
# File lib/cql/protocol/requests/batch_request.rb, line 28
def add_prepared(id, metadata, values)
  @encoded_queries.append(PREPARED_KIND)
  @encoded_queries.append_short_bytes(id)
  ExecuteRequest.encode_values(@encoded_queries, metadata, values)
  @part_count += 1
  nil
end
add_query(cql, values=nil, type_hints=nil) click to toggle source
# File lib/cql/protocol/requests/batch_request.rb, line 20
def add_query(cql, values=nil, type_hints=nil)
  @encoded_queries.append(QUERY_KIND)
  @encoded_queries.append_long_string(cql)
  QueryRequest.encode_values(@encoded_queries, values, type_hints)
  @part_count += 1
  nil
end
to_s() click to toggle source
# File lib/cql/protocol/requests/batch_request.rb, line 43
def to_s
  type_str = case @type
    when LOGGED_TYPE then 'LOGGED'
    when UNLOGGED_TYPE then 'UNLOGGED'
    when COUNTER_TYPE then 'COUNTER'
  end
  %(BATCH #{type_str} #{@part_count} #{@consistency.to_s.upcase})
end
write(protocol_version, buffer) click to toggle source
# File lib/cql/protocol/requests/batch_request.rb, line 36
def write(protocol_version, buffer)
  buffer.append(@type.chr)
  buffer.append_short(@part_count)
  buffer.append(@encoded_queries)
  buffer.append_consistency(@consistency)
end