Class: Sequel::Postgres::Adapter

Inherits:
PGconn
  • Object
show all
Includes:
AdapterMethods
Defined in:
lib/sequel_core/adapters/postgres.rb

Overview

PGconn subclass for connection specific methods used with the pg, postgres, or postgres-pr driver.

Constant Summary

Constants included from AdapterMethods

Sequel::Postgres::AdapterMethods::SELECT_CURRVAL, Sequel::Postgres::AdapterMethods::SELECT_CUSTOM_SEQUENCE, Sequel::Postgres::AdapterMethods::SELECT_PK, Sequel::Postgres::AdapterMethods::SELECT_SERIAL_SEQUENCE

Instance Attribute Summary

Attributes included from AdapterMethods

#db, #transaction_depth

Instance Method Summary collapse

Methods included from AdapterMethods

#last_insert_id, #primary_key, #sequence

Instance Method Details

#execute(sql, args = nil) ⇒ Object

Execute the given SQL with this connection. If a block is given, yield the results, otherwise, return the number of changed rows.



124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# File 'lib/sequel_core/adapters/postgres.rb', line 124

def execute(sql, args=nil)
  q = nil
  begin
    q = args ? async_exec(sql, args) : async_exec(sql)
  rescue PGError => e
    raise if status == Adapter::CONNECTION_OK
    reset
    q = args ? async_exec(sql, args) : async_exec(sql)
  ensure
    block
  end
  begin
    block_given? ? yield(q) : q.cmd_tuples
  ensure
    q.clear
  end
end

#prepared_statementsObject

Hash of prepared statements for this connection. Keys are string names of the server side prepared statement, and values are SQL strings.



146
147
148
# File 'lib/sequel_core/adapters/postgres.rb', line 146

def prepared_statements
  @prepared_statements ||= {}
end