Class: HPgSqlDatabaseManager

Inherits:
HSqlDatabaseManager show all
Defined in:
lib/hsqlmanager/hpgsqldatabasemanager.rb

Instance Attribute Summary

Attributes inherited from HSqlDatabaseManager

#connection, #resultTable

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from HSqlDatabaseManager

#closeConnection, #columnCount, #dataByFieldIndex, #dataByFieldName, #deleteCacheBranch, #extractFromHash, #fieldNameList, #from, #initialize, #insertOrUpdateIfExist, #insertOrUpdateIfExistCached, #insertValues, #limit, #offset, #openConnection, #orderBy, #parentChildValueOf, #parentChildValueOfByUsername, #queryStr, #quote, #quoteValue, #rowCount, #run, #runWithPaging, #select, #setParentChildTableValues, #show, #toSqlTable, #unloadCache, #updateValues, #where

Constructor Details

This class inherits a constructor from HSqlDatabaseManager

Class Method Details

.defaultPgSqlDatabaseManagerObject



45
46
47
48
49
50
51
# File 'lib/hsqlmanager/hpgsqldatabasemanager.rb', line 45

def self.defaultPgSqlDatabaseManager()

  pgDbName = hc.value("pg_dbname")
  pgSqlDatabaseManager = HSharedData.instance().value("pg-#{pgDbName}")
  return (pgSqlDatabaseManager == nil) ? self.setPgSqlConnection() : pgSqlDatabaseManager

end

.setPgSqlConnectionObject



30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/hsqlmanager/hpgsqldatabasemanager.rb', line 30

def self.setPgSqlConnection()

  host   = hc.value("host")
  port   = hc.value("port")
  dbname = hc.value("dbname")
  user   = hc.value("user")
  password = hc.value("password")

  pgSqlDatabaseManager = HPgSqlDatabaseManager.new(host, port, dbname, user, password) 
  pgSqlDatabaseManager.openConnection()
  return pgSqlDatabaseManager

end

.test1Object



54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/hsqlmanager/hpgsqldatabasemanager.rb', line 54

def self.test1()

  pgSqlDatabaseManager = HPgSqlDatabaseManager.new("127.0.0.1", "5432", "quickorder", "quickorder", "quickorder") 
  pgSqlDatabaseManager.openConnection()
  # la seguente query genera 3 colonne invece di 4
  # si tratta di un bug
  result = pgSqlDatabaseManager.run("select id, name, price, name from cookbook")
  # come toppa si puo' usare la seguente query
  #result = pgSqlDatabaseManager.run("select id, name, price, name as ciao from cookbook")
  pgSqlDatabaseManager.show()

end

Instance Method Details

#closeObject



24
25
26
27
28
# File 'lib/hsqlmanager/hpgsqldatabasemanager.rb', line 24

def close()

  HSharedData.instance().setValue(nil, "pg-#{@dbname}")
  
end

#connectObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/hsqlmanager/hpgsqldatabasemanager.rb', line 7

def connect()

  timezone = hc.value("timezone")

  return @connection if(@connection != nil)

  connectionPtr = HSharedData.instance().value("pg-#{@dbname}")
  return connectionPtr.connection if (connectionPtr != nil)

  connection = PGconn.new(@host, @port, "", "", @dbname, @user, @password)
  HSharedData.instance().setValue(self, "pg-#{@dbname}")
  puts "Server version: #{connection.query("SHOW server_version").to_s}"
  connection.query("SET TIME ZONE '#{timezone}'");
  return connection

end