Class: OmniAI::Tools::Database::PostgresDriver

Inherits:
BaseDriver
  • Object
show all
Defined in:
lib/omniai/tools/database/postgres_driver.rb

Overview

Examples:

connection = PG.connect(dbname: "testdb")
driver = OmniAI::Tools::Database::PostgresDriver.new
driver.perform(statement: "SELECT * FROM people")

Instance Method Summary collapse

Constructor Details

#initialize(connection:) ⇒ PostgresDriver

Returns a new instance of PostgresDriver.

Parameters:

  • connection (Sqlite3::Database)


12
13
14
15
# File 'lib/omniai/tools/database/postgres_driver.rb', line 12

def initialize(connection:)
  super()
  @connection = connection
end

Instance Method Details

#perform(statement:) ⇒ Hash

Parameters:

  • statement (String)

Returns:

  • (Hash)


20
21
22
23
24
25
26
# File 'lib/omniai/tools/database/postgres_driver.rb', line 20

def perform(statement:)
  @connection.exec(statement) do |result|
    { status: :ok, result: [result.fields] + result.values }
  end
rescue ::PG::Error => e
  { status: :error, message: e.message }
end