Class: Vertica::Messages::Bind

Inherits:
FrontendMessage show all
Defined in:
lib/vertica/messages/frontend_messages/bind.rb

Instance Method Summary collapse

Methods inherited from Message

message_id, #message_string

Constructor Details

#initialize(portal_name, prepared_statement_name, parameter_values) ⇒ Bind

Returns a new instance of Bind.



6
7
8
9
10
# File 'lib/vertica/messages/frontend_messages/bind.rb', line 6

def initialize(portal_name, prepared_statement_name, parameter_values)
  @portal_name = portal_name
  @prepared_statement_name = prepared_statement_name
  @parameter_values = parameter_values
end

Instance Method Details

#to_bytesObject



12
13
14
15
16
17
# File 'lib/vertica/messages/frontend_messages/bind.rb', line 12

def to_bytes
  bytes = [@portal_name, @prepared_statement_name, 0, @parameter_values.length].pack('Z*Z*nn')
  bytes << @parameter_values.map { |val| val.nil? ? [-1].pack('N') : [val.length, val].pack('Na*') }.join('')
  bytes << [0].pack('n')
  message_string bytes
end