class Sequel::SqlAnywhere::Dataset
Public Instance Methods
fetch_rows(sql) { |h| ... }
click to toggle source
# File lib/sequel/adapters/sqlanywhere.rb 142 def fetch_rows(sql) 143 db = @db 144 cps = db.conversion_procs 145 api = db.api 146 execute(sql) do |rs| 147 convert = convert_smallint_to_bool 148 col_infos = [] 149 api.sqlany_num_cols(rs).times do |i| 150 _, _, name, _, type = api.sqlany_get_column_info(rs, i) 151 cp = if type == 500 152 cps[500] if convert 153 else 154 cps[type] 155 end 156 col_infos << [i, output_identifier(name), cp] 157 end 158 159 self.columns = col_infos.map{|a| a[1]} 160 161 if rs 162 while api.sqlany_fetch_next(rs) == 1 163 h = {} 164 col_infos.each do |i, name, cp| 165 _, v = api.sqlany_get_column(rs, i) 166 h[name] = cp && v ? cp[v] : v 167 end 168 yield h 169 end 170 end 171 end 172 self 173 end