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
Module Sequel::TinyTDS::Dataset::PreparedStatementMethods

Constants

DatasetClass = self

Public Instance methods

Yield hashes with symbol keys, attempting to optimize for various cases.

[Source]

     # File lib/sequel/adapters/tinytds.rb, line 231
231:       def fetch_rows(sql)
232:         execute(sql) do |result|
233:           columns = result.fields.map!{|c| output_identifier(c)}
234:           if columns.empty?
235:             args = []
236:             args << {:timezone=>:utc} if db.timezone == :utc
237:             cols = nil
238:             result.each(*args) do |r|
239:               unless cols
240:                 cols = result.fields.map{|c| [c, output_identifier(c)]}
241:                 @columns = columns = cols.map{|c| c.last}
242:               end
243:               h = {}
244:               cols.each do |s, sym|
245:                 h[sym] = r[s]
246:               end
247:               yield h
248:             end
249:           else
250:             @columns = columns
251:             if db.timezone == :utc
252:               result.each(:timezone=>:utc){|r| yield r}
253:             else
254:               result.each{|r| yield r}
255:             end
256:           end
257:         end
258:         self
259:       end

Create a named prepared statement that is stored in the database (and connection) for reuse.

[Source]

     # File lib/sequel/adapters/tinytds.rb, line 263
263:       def prepare(type, name=nil, *values)
264:         ps = to_prepared_statement(type, values)
265:         ps.extend(PreparedStatementMethods)
266:         if name
267:           ps.prepared_statement_name = name
268:           db.set_prepared_statement(name, ps)
269:         end
270:         ps
271:       end

[Validate]