Class: Vertica::Messages::RowDescription

Inherits:
BackendMessage show all
Defined in:
lib/vertica/messages/backend_messages/row_description.rb

Constant Summary

Constants inherited from BackendMessage

BackendMessage::MessageIdMap

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from BackendMessage

factory, message_id

Methods inherited from Message

message_id, #message_string

Constructor Details

#initialize(data) ⇒ RowDescription

Returns a new instance of RowDescription.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/vertica/messages/backend_messages/row_description.rb', line 8

def initialize(data)
  @fields = []
  field_count = data.unpack('n').first
  pos = 2
  field_count.times do |field_index|
    field_info = data.unpack("@#{pos}Z*NnNnNn")
    @fields << {
      :name             => field_info[0],
      :table_oid        => field_info[1],
      :attribute_number => field_info[2],
      :data_type_oid    => field_info[3],
      :data_type_size   => field_info[4],
      :type_modifier    => field_info[5],
      :format_code      => field_info[6],
    }
    
    pos += 19 + field_info[0].size
  end
end

Instance Attribute Details

#fieldsObject (readonly)

Returns the value of attribute fields.



6
7
8
# File 'lib/vertica/messages/backend_messages/row_description.rb', line 6

def fields
  @fields
end