Dataset class for SqlAnywhere datasets accessed via the native driver.
Yield all rows matching this dataset. If the dataset is set to split multiple statements, yield arrays of hashes one per statement instead of yielding results for all statements as hashes.
# File lib/sequel/adapters/sqlanywhere.rb, line 158 def fetch_rows(sql) db = @db cps = db.conversion_procs api = db.api execute(sql) do |rs| convert = (convert_smallint_to_bool and db.convert_smallint_to_bool) col_infos = [] api.sqlany_num_cols(rs).times do |i| _, _, name, _, type = api.sqlany_get_column_info(rs, i) cp = if type == 500 cps[500] if convert else cps[type] end col_infos << [i, output_identifier(name), cp] end self.columns = col_infos.map{|a| a[1]} if rs while api.sqlany_fetch_next(rs) == 1 h = {} col_infos.each do |i, name, cp| _, v = api.sqlany_get_column(rs, i) h[name] = cp && v ? cp[v] : v end yield h end end end self end