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

==(rq)
Alias for: eql?
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