Class: Vertica::Messages::NoticeResponse
- Inherits:
-
BackendMessage
- Object
- Message
- BackendMessage
- Vertica::Messages::NoticeResponse
- Defined in:
- lib/vertica/messages/backend_messages/notice_response.rb
Direct Known Subclasses
Constant Summary collapse
- FIELDS_DEFINITIONS =
[ { :type => 'q', :name => "Internal Query", :method => :internal_query }, { :type => 'S', :name => "Severity", :method => :severity }, { :type => 'M', :name => "Message", :method => :message }, { :type => 'C', :name => "Sqlstate", :method => :sqlstate }, { :type => 'D', :name => "Detail", :method => :detail }, { :type => 'H', :name => "Hint", :method => :hint }, { :type => 'P', :name => "Position", :method => :position }, { :type => 'W', :name => "Where", :method => :where }, { :type => 'p', :name => "Internal Position", :method => :internal_position }, { :type => 'R', :name => "Routine", :method => :routine }, { :type => 'F', :name => "File", :method => :file }, { :type => 'L', :name => "Line", :method => :line } ]
- FIELDS =
Hash[*FIELDS_DEFINITIONS.map { |f| [f[:type], f[:name]
Constants inherited from BackendMessage
Instance Attribute Summary collapse
-
#values ⇒ Object
readonly
Returns the value of attribute values.
Instance Method Summary collapse
- #error_message ⇒ Object
-
#initialize(data) ⇒ NoticeResponse
constructor
A new instance of NoticeResponse.
Methods inherited from BackendMessage
Methods inherited from Message
Constructor Details
#initialize(data) ⇒ NoticeResponse
Returns a new instance of NoticeResponse.
25 26 27 28 29 30 31 32 |
# File 'lib/vertica/messages/backend_messages/notice_response.rb', line 25 def initialize(data) @values, pos = {}, 0 while pos < data.size - 1 key, value = data.unpack("@#{pos}aZ*") @values[FIELDS[key]] = value pos += value.size + 2 end end |
Instance Attribute Details
#values ⇒ Object (readonly)
Returns the value of attribute values.
23 24 25 |
# File 'lib/vertica/messages/backend_messages/notice_response.rb', line 23 def values @values end |
Instance Method Details
#error_message ⇒ Object
34 35 36 37 38 39 |
# File 'lib/vertica/messages/backend_messages/notice_response.rb', line 34 def ordered_values = FIELDS_DEFINITIONS.map do |field| "#{field[:name]}: #{@values[field[:name]]}" if @values[field[:name]] end ordered_values.compact.join(', ') end |