class Sequel::ADO::Dataset
Public Instance Methods
fetch_rows(sql) { |h| ... }
click to toggle source
# File lib/sequel/adapters/ado.rb 225 def fetch_rows(sql) 226 execute(sql) do |recordset| 227 cols = [] 228 conversion_procs = db.conversion_procs 229 230 i = -1 231 ts_cp = nil 232 recordset.Fields.each do |field| 233 type = field.Type 234 cp = if type == AdDBTimeStamp 235 ts_cp ||= begin 236 nsec_div = 1000000000.0/(10**(timestamp_precision)) 237 nsec_mul = 10**(timestamp_precision+3) 238 meth = db.method(:to_application_timestamp) 239 lambda do |v| 240 # Fractional second handling is not correct on ruby <2.2 241 meth.call([v.year, v.month, v.day, v.hour, v.min, v.sec, (v.nsec/nsec_div).round * nsec_mul]) 242 end 243 end 244 else 245 conversion_procs[type] 246 end 247 cols << [output_identifier(field.Name), cp, i+=1] 248 end 249 250 self.columns = cols.map(&:first) 251 return if recordset.EOF 252 253 recordset.GetRows.transpose.each do |field_values| 254 h = {} 255 256 cols.each do |name, cp, index| 257 h[name] = if (v = field_values[index]) && cp 258 cp[v] 259 else 260 v 261 end 262 end 263 264 yield h 265 end 266 end 267 end
provides_accurate_rows_matched?()
click to toggle source
ADO
can return for for delete and update statements, depending on the provider.
# File lib/sequel/adapters/ado.rb 270 def provides_accurate_rows_matched? 271 false 272 end