lib/sequel/adapters/tinytds.rb in sequel-3.43.0 vs lib/sequel/adapters/tinytds.rb in sequel-3.44.0

- old
+ new

@@ -16,10 +16,11 @@ # Transfer the :user option to the :username option. def connect(server) opts = server_opts(server) opts[:username] = opts[:user] c = TinyTds::Client.new(opts) + c.query_options.merge!(:cache_rows=>false) if (ts = opts[:textsize]) sql = "SET TEXTSIZE #{typecast_value_integer(ts)}" log_yield(sql){c.execute(sql)} end @@ -213,43 +214,15 @@ # Yield hashes with symbol keys, attempting to optimize for # various cases. def fetch_rows(sql) execute(sql) do |result| - each_opts = {:cache_rows=>false} - each_opts[:timezone] = :utc if db.timezone == :utc - rn = row_number_column if offset = @opts[:offset] - columns = cols = result.fields.map{|c| output_identifier(c)} - if offset - rn = row_number_column - columns = columns.dup - columns.delete(rn) - end - @columns = columns - #if identifier_output_method - each_opts[:as] = :array - result.each(each_opts) do |r| - h = {} - cols.zip(r).each{|k, v| h[k] = v} - h.delete(rn) if rn - yield h - end -=begin - # Temporarily disable this optimization, as tiny_tds uses string keys - # if result.fields is called before result.each(:symbolize_keys=>true). - # See https://github.com/rails-sqlserver/tiny_tds/issues/57 + @columns = result.fields.map!{|c| output_identifier(c)} + if db.timezone == :utc + result.each(:timezone=>:utc){|r| yield r} else - each_opts[:symbolize_keys] = true - if offset - result.each(each_opts) do |r| - r.delete(rn) if rn - yield r - end - else - result.each(each_opts, &Proc.new) - end + result.each{|r| yield r} end -=end end self end # Create a named prepared statement that is stored in the