From 5779deb88d3dae9658cdd508dbde079acd68c2fb Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 5 Aug 2006 21:18:12 +0000 Subject: Refactored select routing for SQL Server adapter (closes #5683) [tom@popdog.net] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4671 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- .../connection_adapters/sqlserver_adapter.rb | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'activerecord/lib/active_record') diff --git a/activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb index 341a388121..a19da5a545 100644 --- a/activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb @@ -504,22 +504,22 @@ module ActiveRecord private def select(sql, name = nil) - rows = [] repair_special_columns(sql) - log(sql, name) do - @connection.select_all(sql) do |row| - record = {} - row.column_names.each do |col| - record[col] = row[col] - if record[col].is_a? DBI::Timestamp - ts = record[col] - record[col] = DateTime.new(ts.year, ts.month, ts.day, ts.hour, ts.minute, ts.sec) + + result = [] + execute(sql) do |handle| + handle.each do |row| + row_hash = {} + row.each_with_index do |value, i| + if value.is_a? DBI::Timestamp + value = DateTime.new(value.year, value.month, value.day, value.hour, value.minute, value.sec) end + row_hash[handle.column_names[i]] = value end - rows << record + result << row_hash end end - rows + result end # Turns IDENTITY_INSERT ON for table during execution of the block -- cgit v1.2.3