module PostgresPR::NoticeErrorMixin
Attributes
field_type[RW]
field_values[RW]
Public Class Methods
new(field_type=0, field_values=[])
click to toggle source
# File lib/postgres-pr/message.rb, line 339 def initialize(field_type=0, field_values=[]) raise PGError if field_type == 0 and not field_values.empty? @field_type, @field_values = field_type, field_values end
Public Instance Methods
dump()
click to toggle source
Calls superclass method
# File lib/postgres-pr/message.rb, line 344 def dump raise PGError if @field_type == 0 and not @field_values.empty? sz = 1 sz += @field_values.inject(1) {|sum, fld| sum + fld.size + 1} unless @field_type == 0 super(sz) do |buffer| buffer.write_byte(@field_type) break if @field_type == 0 @field_values.each {|fld| buffer.write_cstring(fld) } buffer.write_byte(0) end end
parse(buffer)
click to toggle source
Calls superclass method
# File lib/postgres-pr/message.rb, line 358 def parse(buffer) super do @field_type = buffer.read_byte break if @field_type == 0 @field_values = [] while buffer.position < buffer.size-1 @field_values << buffer.read_cstring end terminator = buffer.read_byte raise ParseError unless terminator == 0 end end