Class: Sequel::Postgres::Adapter

Class | Sequel::Postgres::Adapter
In: | lib/sequel/adapters/postgres.rb
Parent: | ::PGconn

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

### Methods

apply_connection_settings execute

### Included Modules

Sequel::Postgres::AdapterMethods

### Attributes

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

### Public Instance methods

apply_connection_settings()

Apply connection settings for this connection. Current sets the date style to ISO in order make Date object creation in ruby faster, if Postgres.use_iso_date_format is true.

[Source]

         # File lib/sequel/adapters/postgres.rb, line 132
    132:       def apply_connection_settings
    133:         super
    134:         if Postgres.use_iso_date_format
    135:           sql = "SET DateStyle = 'ISO'"
    136:           @db.log_info(sql)
    137:           execute(sql)
    138:         end
    139:         @prepared_statements = {} if SEQUEL_POSTGRES_USES_PG
    140:       end

execute(sql, args=nil) {|q| ...}

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

[Source]

         # File lib/sequel/adapters/postgres.rb, line 144
    144:       def execute(sql, args=nil)
    145:         q = nil
    146:         begin
    147:           q = args ? async_exec(sql, args) : async_exec(sql)
    148:         rescue PGError => e
    149:           begin
    150:             s = status
    151:           rescue PGError
    152:             raise Sequel.convert_exception_class(e, Sequel::DatabaseDisconnectError)
    153:           end
    154:           status_ok = (s == Adapter::CONNECTION_OK)
    155:           status_ok ? raise : Sequel.convert_exception_class(e, Sequel::DatabaseDisconnectError)
    156:         ensure
    157:           block if status_ok
    158:         end
    159:         begin
    160:           block_given? ? yield(q) : q.cmd_tuples
    161:         ensure
    162:           q.clear
    163:         end
    164:       end

[Validate]