class PostgresPR::Parse

Public Class Methods

new(query, stmt_name="", parameter_oids=[]) click to toggle source
# File lib/postgres-pr/message.rb, line 396
def initialize(query, stmt_name="", parameter_oids=[])
  @query, @stmt_name, @parameter_oids = query, stmt_name, parameter_oids
end

Public Instance Methods

dump() click to toggle source
Calls superclass method PostgresPR::Message::dump
# File lib/postgres-pr/message.rb, line 400
def dump
  sz = @stmt_name.size + 1 + @query.size + 1 + 2 + (4 * @parameter_oids.size)
  super(sz) do |buffer| 
    buffer.write_cstring(@stmt_name)
    buffer.write_cstring(@query)
    buffer.write_int16_network(@parameter_oids.size)
    @parameter_oids.each {|oid| buffer.write_int32_network(oid) }
  end
end
parse(buffer) click to toggle source
Calls superclass method PostgresPR::Message#parse
# File lib/postgres-pr/message.rb, line 410
def parse(buffer)
  super do 
    @stmt_name = buffer.read_cstring
    @query = buffer.read_cstring
    n_oids = buffer.read_int16_network
    @parameter_oids = (1..n_oids).collect {
      # TODO: zero means unspecified. map to nil?
      buffer.read_int32_network
    }
  end
end