class Cassandra::Protocol::QueryRequest
Attributes
consistency[RW]
cql[R]
page_size[R]
paging_state[R]
payload[R]
retries[RW]
serial_consistency[R]
timestamp[R]
type_hints[R]
values[R]
Public Class Methods
new(cql, values, type_hints, consistency, serial_consistency = nil, page_size = nil, paging_state = nil, trace = false, names = EMPTY_LIST, timestamp = nil, payload = nil)
click to toggle source
Calls superclass method
Cassandra::Protocol::Request::new
# File lib/cassandra/protocol/requests/query_request.rb 26 def initialize(cql, 27 values, 28 type_hints, 29 consistency, 30 serial_consistency = nil, 31 page_size = nil, 32 paging_state = nil, 33 trace = false, 34 names = EMPTY_LIST, 35 timestamp = nil, 36 payload = nil) 37 super(7, trace) 38 @cql = cql 39 @values = values 40 @type_hints = type_hints 41 @consistency = consistency 42 @serial_consistency = serial_consistency 43 @page_size = page_size 44 @paging_state = paging_state 45 @names = names 46 @timestamp = timestamp 47 @payload = payload 48 end
Public Instance Methods
append_flags(buffer,flags,protocol_version)
click to toggle source
# File lib/cassandra/protocol/requests/query_request.rb 54 def append_flags(buffer,flags,protocol_version) 55 if protocol_version < 5 56 buffer.append(flags.chr) 57 else 58 buffer.append_int(flags) 59 end 60 end
eql?(rq)
click to toggle source
# File lib/cassandra/protocol/requests/query_request.rb 91 def eql?(rq) 92 rq.is_a?(self.class) && 93 rq.cql == cql && 94 rq.values == values && 95 rq.type_hints == type_hints && 96 rq.consistency == consistency && 97 rq.serial_consistency == serial_consistency && 98 rq.page_size == page_size && 99 rq.paging_state == paging_state 100 end
Also aliased as: ==
hash()
click to toggle source
# File lib/cassandra/protocol/requests/query_request.rb 103 def hash 104 @h ||= begin 105 h = 17 106 h = 31 * h + @cql.hash 107 h = 31 * h + @values.hash 108 h = 31 * h + @type_hints.hash 109 h = 31 * h + @consistency.hash 110 h = 31 * h + @serial_consistency.hash 111 h = 31 * h + @page_size.hash 112 h = 31 * h + @paging_state.hash 113 h = 31 * h + @names.hash 114 h = 31 * h + @timestamp.hash 115 h 116 end 117 end
payload?()
click to toggle source
# File lib/cassandra/protocol/requests/query_request.rb 50 def payload? 51 !!@payload 52 end
to_s()
click to toggle source
# File lib/cassandra/protocol/requests/query_request.rb 87 def to_s 88 %(QUERY "#{@cql}" #{@consistency.to_s.upcase}) 89 end
write(buffer, protocol_version, encoder)
click to toggle source
# File lib/cassandra/protocol/requests/query_request.rb 62 def write(buffer, protocol_version, encoder) 63 buffer.append_long_string(@cql) 64 buffer.append_consistency(@consistency) 65 if protocol_version > 1 66 flags = 0 67 flags |= 0x04 if @page_size 68 flags |= 0x08 if @paging_state 69 flags |= 0x10 if @serial_consistency 70 flags |= 0x20 if protocol_version > 2 && @timestamp 71 if @values && !@values.empty? 72 flags |= 0x01 73 flags |= 0x40 if protocol_version > 2 && !@names.empty? 74 append_flags(buffer, flags, protocol_version) 75 encoder.write_parameters(buffer, @values, @type_hints, @names) 76 else 77 append_flags(buffer, flags, protocol_version) 78 end 79 buffer.append_int(@page_size) if @page_size 80 buffer.append_bytes(@paging_state) if @paging_state 81 buffer.append_consistency(@serial_consistency) if @serial_consistency 82 buffer.append_long(@timestamp) if protocol_version > 2 && @timestamp 83 end 84 buffer 85 end