class Sequel::TinyTDS::Dataset
Constants
- PreparedStatementMethods
Public Instance Methods
fetch_rows(sql) { |h| ... }
click to toggle source
# File lib/sequel/adapters/tinytds.rb, line 206 def fetch_rows(sql) execute(sql) do |result| # Mutating an array in the result is questionable, but supported # by tiny_tds developers (tiny_tds issue #57) columns = result.fields.map!{|c| output_identifier(c)} if columns.empty? args = [] args << {:timezone=>:utc} if db.timezone == :utc cols = nil result.each(*args) do |r| unless cols cols = result.fields.map{|c| [c, output_identifier(c)]} self.columns = columns = cols.map(&:last) end h = {} cols.each do |s, sym| h[sym] = r[s] end yield h end else self.columns = columns if db.timezone == :utc result.each(:timezone=>:utc){|r| yield r} else result.each{|r| yield r} end end end self end
Private Instance Methods
literal_string_append(sql, v)
click to toggle source
Properly escape the given string
# File lib/sequel/adapters/tinytds.rb, line 241 def literal_string_append(sql, v) sql << (mssql_unicode_strings ? "N'" : "'") sql << db.synchronize(@opts[:server]){|c| c.escape(v)}.gsub(/\((?:\r\n)|\n)/, '\\\\\1\1') << "'" end
prepared_statement_modules()
click to toggle source
# File lib/sequel/adapters/tinytds.rb, line 246 def prepared_statement_modules [PreparedStatementMethods] end