class PostgresPR::DataRow

Public Instance Methods

dump() click to toggle source
Calls superclass method PostgresPR::Message::dump
# File lib/postgres-pr/message.rb, line 286
def dump
  sz = @columns.inject(2) {|sum, col| sum + 4 + (col ? col.size : 0)}
  super(sz) do |buffer|
    buffer.write_int16_network(@columns.size)
    @columns.each {|col|
      buffer.write_int32_network(col ? col.size : -1)
      buffer.write(col) if col
    }
  end
end
parse(buffer) click to toggle source
Calls superclass method PostgresPR::Message#parse
# File lib/postgres-pr/message.rb, line 297
def parse(buffer)
  super do
    columns = []
    n_cols = buffer.read_int16_network
    while n_cols > 0
      len = buffer.read_int32_network 
      if len == -1
        columns << nil
      else
        columns << buffer.read(len)
      end
      n_cols -= 1
    end
    @columns = columns
  end
end