406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
|
# File 'lib/sequel/adapters/sqlite.rb', line 406
def fetch_rows(sql)
execute(sql) do |result|
cps = db.conversion_procs
type_procs = result.types.map{|t| cps[base_type_name(t)]}
j = -1
cols = result.columns.map{|c| [output_identifier(c), type_procs[(j+=1)]]}
self.columns = cols.map(&:first)
max = cols.length
result.each do |values|
row = {}
i = -1
while (i += 1) < max
name, type_proc = cols[i]
v = values[i]
if type_proc && v
v = type_proc.call(v)
end
row[name] = v
end
yield row
end
end
end
|