class Sequel::Cubrid::Dataset

  1. lib/sequel/adapters/cubrid.rb
Parent: Cubrid

Methods

Public Instance

  1. fetch_rows

Constants

COLUMN_INFO_NAME = "name".freeze  
COLUMN_INFO_TYPE = "type_name".freeze  
DatasetClass = self  

Public Instance methods

fetch_rows (sql)
[show source]
# File lib/sequel/adapters/cubrid.rb, line 124
def fetch_rows(sql)
  execute(sql) do |stmt|
    begin
      procs = 
      cols = stmt.column_info.map{|c| [output_identifier(c[COLUMN_INFO_NAME]), CUBRID_TYPE_PROCS[c[COLUMN_INFO_TYPE]]]}
      @columns = cols.map{|c| c.first}
      stmt.each do |r|
        row = {}
        cols.zip(r).each{|(k, p), v| row[k] = (v && p) ? p.call(v) : v}
        yield row
      end
    ensure
      stmt.close
    end
  end
  self
end