Class Sequel::TinyTDS::Dataset
In: lib/sequel/adapters/tinytds.rb
Parent: Sequel::Dataset

Methods

Included Modules

Sequel::MSSQL::DatasetMethods

Classes and Modules

Module Sequel::TinyTDS::Dataset::ArgumentMapper

Constants

PreparedStatementMethods = prepared_statements_module("sql = prepared_sql; opts = Hash[opts]; opts[:arguments] = bind_arguments", ArgumentMapper)

Public Instance methods

[Source]

     # File lib/sequel/adapters/tinytds.rb, line 206
206:       def fetch_rows(sql)
207:         execute(sql) do |result|
208:           # Mutating an array in the result is questionable, but supported
209:           # by tiny_tds developers (tiny_tds issue #57)
210:           columns = result.fields.map!{|c| output_identifier(c)}
211:           if columns.empty?
212:             args = []
213:             args << {:timezone=>:utc} if db.timezone == :utc
214:             cols = nil
215:             result.each(*args) do |r|
216:               unless cols
217:                 cols = result.fields.map{|c| [c, output_identifier(c)]}
218:                 self.columns = columns = cols.map(&:last)
219:               end
220:               h = {}
221:               cols.each do |s, sym|
222:                 h[sym] = r[s]
223:               end
224:               yield h
225:             end
226:           else
227:             self.columns = columns
228:             if db.timezone == :utc
229:               result.each(:timezone=>:utc){|r| yield r}
230:             else
231:               result.each{|r| yield r}
232:             end
233:           end
234:         end
235:         self
236:       end

[Validate]