class Pgtk::Pool::Txn
A temporary class to execute a single SQL request.
Public Class Methods
new(conn, log)
click to toggle source
# File lib/pgtk/pool.rb, line 134 def initialize(conn, log) @conn = conn @log = log end
Public Instance Methods
exec(query, args = [], result = 0) { |res| ... }
click to toggle source
# File lib/pgtk/pool.rb, line 139 def exec(query, args = [], result = 0) start = Time.now sql = query.is_a?(Array) ? query.join(' ') : query out = @conn.exec_params(sql, args, result) do |res| if block_given? yield res else rows = [] res.each { |r| rows << r } rows end end lag = Time.now - start if lag < 1 @log.debug("#{sql}: #{(lag * 1000).round}ms / #{@conn.object_id}") else @log.info("#{sql}: #{format('%.02f', lag)}s") end out end