class Vertica::Protocol::Bind

Public Class Methods

new(portal_name, prepared_statement_name, parameter_values) click to toggle source
# File lib/vertica/protocol/frontend/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

Public Instance Methods

message_body() click to toggle source
# File lib/vertica/protocol/frontend/bind.rb, line 12
def message_body
  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')
end