class Sequel::ADO::Dataset
Public Instance Methods
fetch_rows(sql) { |h| ... }
click to toggle source
# File lib/sequel/adapters/ado.rb, line 233 def fetch_rows(sql) execute(sql) do |recordset| cols = [] conversion_procs = db.conversion_procs i = -1 ts_cp = nil recordset.Fields.each do |field| type = field.Type cp = if type == AdDBTimeStamp ts_cp ||= if RUBY_VERSION >= '1.9' nsec_div = 1000000000.0/(10**(timestamp_precision)) nsec_mul = 10**(timestamp_precision+3) meth = db.method(:to_application_timestamp) lambda do |v| # Fractional second handling is not correct on ruby <2.2 meth.call([v.year, v.month, v.day, v.hour, v.min, v.sec, (v.nsec/nsec_div).round * nsec_mul]) end else # Ruby 1.8 returns AdDBTimeStamp values as a string db.method(:to_application_timestamp) end else conversion_procs[type] end cols << [output_identifier(field.Name), cp, i+=1] end self.columns = cols.map(&:first) return if recordset.EOF recordset.GetRows.transpose.each do |field_values| h = {} cols.each do |name, cp, i| h[name] = if (v = field_values[i]) && cp cp[v] else v end end yield h end end end
provides_accurate_rows_matched?()
click to toggle source
ADO returns nil for all for delete and update statements.
# File lib/sequel/adapters/ado.rb, line 281 def provides_accurate_rows_matched? false end