class Cassandra::Protocol::ExecuteRequest
Attributes
consistency[RW]
id[RW]
metadata[R]
page_size[R]
paging_state[R]
payload[R]
request_metadata[R]
retries[RW]
serial_consistency[R]
timestamp[R]
values[R]
Public Class Methods
new(id, metadata, values, request_metadata, consistency, serial_consistency = nil, page_size = nil, paging_state = nil, trace = false, timestamp = nil, payload = nil)
click to toggle source
Calls superclass method
Cassandra::Protocol::Request::new
# File lib/cassandra/protocol/requests/execute_request.rb 26 def initialize(id, 27 metadata, 28 values, 29 request_metadata, 30 consistency, 31 serial_consistency = nil, 32 page_size = nil, 33 paging_state = nil, 34 trace = false, 35 timestamp = nil, 36 payload = nil) 37 if metadata.size != values.size 38 raise ArgumentError, "Metadata for #{metadata.size} columns, but " \ 39 "#{values.size} values given" 40 end 41 if consistency.nil? || !CONSISTENCIES.include?(consistency) 42 raise ArgumentError, %(No such consistency: #{consistency.inspect}) 43 end 44 unless serial_consistency.nil? || CONSISTENCIES.include?(serial_consistency) 45 raise ArgumentError, %(No such consistency: #{serial_consistency.inspect}) 46 end 47 raise ArgumentError, %(Paging state given but no page size) if paging_state && !page_size 48 super(10, trace) 49 @id = id 50 @metadata = metadata 51 @values = values 52 @request_metadata = request_metadata 53 @consistency = consistency 54 @serial_consistency = serial_consistency 55 @page_size = page_size 56 @paging_state = paging_state 57 @timestamp = timestamp 58 @payload = payload 59 end
Public Instance Methods
eql?(rq)
click to toggle source
# File lib/cassandra/protocol/requests/execute_request.rb 94 def eql?(rq) 95 rq.is_a?(self.class) && 96 rq.id == id && 97 rq.metadata == metadata && 98 rq.values == values && 99 rq.consistency == consistency && 100 rq.serial_consistency == serial_consistency && 101 rq.page_size == page_size && 102 rq.paging_state == paging_state 103 end
Also aliased as: ==
hash()
click to toggle source
# File lib/cassandra/protocol/requests/execute_request.rb 106 def hash 107 @h ||= begin 108 h = 17 109 h = 31 * h + @id.hash 110 h = 31 * h + @metadata.hash 111 h = 31 * h + @values.hash 112 h = 31 * h + @consistency.hash 113 h = 31 * h + @serial_consistency.hash 114 h = 31 * h + @page_size.hash 115 h = 31 * h + @paging_state.hash 116 h = 31 * h + @timestamp.hash 117 h 118 end 119 end
payload?()
click to toggle source
# File lib/cassandra/protocol/requests/execute_request.rb 61 def payload? 62 !!@payload 63 end
to_s()
click to toggle source
# File lib/cassandra/protocol/requests/execute_request.rb 89 def to_s 90 id = @id.each_byte.map { |x| x.to_s(16) }.join('') 91 %(EXECUTE #{id} #{@values} #{@consistency.to_s.upcase}) 92 end
write(buffer, protocol_version, encoder)
click to toggle source
# File lib/cassandra/protocol/requests/execute_request.rb 65 def write(buffer, protocol_version, encoder) 66 buffer.append_short_bytes(@id) 67 if protocol_version > 1 68 buffer.append_consistency(@consistency) 69 flags = 0 70 flags |= 0x01 unless @values.empty? 71 flags |= 0x02 unless @request_metadata 72 flags |= 0x04 if @page_size 73 flags |= 0x08 if @paging_state 74 flags |= 0x10 if @serial_consistency 75 flags |= 0x20 if protocol_version > 2 && @timestamp 76 buffer.append(flags.chr) 77 encoder.write_parameters(buffer, @values, @metadata) unless @values.empty? 78 buffer.append_int(@page_size) if @page_size 79 buffer.append_bytes(@paging_state) if @paging_state 80 buffer.append_consistency(@serial_consistency) if @serial_consistency 81 buffer.append_long(@timestamp) if protocol_version > 2 && @timestamp 82 else 83 encoder.write_parameters(buffer, @values, @metadata) 84 buffer.append_consistency(@consistency) 85 end 86 buffer 87 end