class PostgresPR::RowDescription
Public Instance Methods
dump()
click to toggle source
Calls superclass method
PostgresPR::Message::dump
# File lib/postgres-pr/message.rb, line 450 def dump sz = @fields.inject(2) {|sum, fld| sum + 18 + fld.name.size + 1 } super(sz) do |buffer| buffer.write_int16_network(@fields.size) @fields.each { |f| buffer.write_cstring(f.name) buffer.write_int32_network(f.oid) buffer.write_int16_network(f.attr_nr) buffer.write_int32_network(f.type_oid) buffer.write_int16_network(f.typlen) buffer.write_int32_network(f.atttypmod) buffer.write_int16_network(f.formatcode) } end end
parse(buffer)
click to toggle source
Calls superclass method
PostgresPR::Message#parse
# File lib/postgres-pr/message.rb, line 467 def parse(buffer) super do fields = [] n_fields = buffer.read_int16_network while n_fields > 0 f = FieldInfo.new f.name = buffer.read_cstring f.oid = buffer.read_int32_network f.attr_nr = buffer.read_int16_network f.type_oid = buffer.read_int32_network f.typlen = buffer.read_int16_network f.atttypmod = buffer.read_int32_network f.formatcode = buffer.read_int16_network fields << f n_fields -= 1 end @fields = fields end end