Class: Gloo::Objs::Pg
- Inherits:
-
Core::Obj
- Object
- Core::Baseo
- Core::Obj
- Gloo::Objs::Pg
- Defined in:
- lib/gloo/objs/data/pg.rb
Constant Summary collapse
- KEYWORD =
'postgres'.freeze
- KEYWORD_SHORT =
'pg'.freeze
- HOST =
'host'.freeze
- DB =
'database'.freeze
- USER =
'username'.freeze
- PASSWD =
'password'.freeze
Constants inherited from Core::Baseo
Core::Baseo::NOT_IMPLEMENTED_ERR
Instance Attribute Summary
Attributes inherited from Core::Obj
Attributes inherited from Core::Baseo
Class Method Summary collapse
-
.messages ⇒ Object
Get a list of message names that this object receives.
-
.short_typename ⇒ Object
The short name of the object type.
-
.typename ⇒ Object
The name of the object type.
Instance Method Summary collapse
-
#add_children_on_create? ⇒ Boolean
Does this object have children to add when an object is created in interactive mode? This does not apply during obj load, etc.
-
#add_default_children ⇒ Object
Add children to this object.
-
#get_query_result(result) ⇒ Object
Based on the result set, build a QueryResult object.
-
#msg_verify ⇒ Object
SSH to the host and execute the command, then update result.
-
#query(sql, params = nil) ⇒ Object
Open a connection and execute the SQL statement.
Methods inherited from Core::Obj
#add_child, can_create?, #can_receive_message?, #child_count, #child_index, #contains_child?, #delete_children, #dispatch, #display_value, #find_add_child, #find_child, #find_child_resolve_alias, #find_child_value, help, inherited, #initialize, #is_alias?, #is_container?, #is_function?, #msg_blank?, #msg_contains?, #msg_reload, #msg_unload, #multiline_value?, #pn, #remove_child, #render, #root?, #send_message, #set_parent, #set_value, #sql_value, #type_display, #value_display, #value_is_array?, #value_is_blank?, #value_string?
Methods inherited from Core::Baseo
Constructor Details
This class inherits a constructor from Gloo::Core::Obj
Class Method Details
.messages ⇒ Object
Get a list of message names that this object receives.
70 71 72 |
# File 'lib/gloo/objs/data/pg.rb', line 70 def self. return super + [ 'verify' ] end |
.short_typename ⇒ Object
The short name of the object type.
33 34 35 |
# File 'lib/gloo/objs/data/pg.rb', line 33 def self.short_typename return KEYWORD_SHORT end |
.typename ⇒ Object
The name of the object type.
26 27 28 |
# File 'lib/gloo/objs/data/pg.rb', line 26 def self.typename return KEYWORD end |
Instance Method Details
#add_children_on_create? ⇒ Boolean
Does this object have children to add when an object is created in interactive mode? This does not apply during obj load, etc.
46 47 48 |
# File 'lib/gloo/objs/data/pg.rb', line 46 def add_children_on_create? return true end |
#add_default_children ⇒ Object
Add children to this object. This is used by containers to add children needed for default configurations.
55 56 57 58 59 60 61 |
# File 'lib/gloo/objs/data/pg.rb', line 55 def add_default_children fac = @engine.factory fac.create_string HOST, nil, self fac.create_string DB, nil, self fac.create_string USER, nil, self fac.create_string PASSWD, nil, self end |
#get_query_result(result) ⇒ Object
Based on the result set, build a QueryResult object.
125 126 127 |
# File 'lib/gloo/objs/data/pg.rb', line 125 def get_query_result( result ) return QueryResult.new result[0], result[1], @engine end |
#msg_verify ⇒ Object
SSH to the host and execute the command, then update result.
77 78 79 80 81 |
# File 'lib/gloo/objs/data/pg.rb', line 77 def msg_verify return unless connects? @engine.heap.it.set_to true end |
#query(sql, params = nil) ⇒ Object
Open a connection and execute the SQL statement. Return the resulting data.
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/gloo/objs/data/pg.rb', line 91 def query( sql, params = nil ) heads = [] data = [] client = pg_conn if params param_arr = [] params.each do |p| param_arr << { :value => p, :type => 0, :format => 0 } end rs = client.exec_params( sql, params ) else rs = client.exec( sql ) end if rs && ( rs.count > 0 ) rs[0].each do |name, val| heads << name end rs.each_with_index do |row, index| arr = [] row.each do |name, val| arr << val end data << arr end end return [ heads, data ] end |