Skip to content

Commit 9cf4eaa

Browse files
authored
Add affected_rows to ActiveRecord::Result (#1336)
1 parent 663aaec commit 9cf4eaa

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

lib/active_record/connection_adapters/sqlserver/database_statements.rb

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,11 @@ def perform_query(raw_connection, sql, binds, type_casted_binds, prepare:, notif
3030
result
3131
end
3232

33-
def cast_result(raw_result)
34-
if raw_result.columns.empty?
35-
ActiveRecord::Result.empty
36-
else
37-
ActiveRecord::Result.new(raw_result.columns, raw_result.rows)
38-
end
33+
# Method `perform_query` already returns an `ActiveRecord::Result` so we have nothing to cast here. This is
34+
# different to the MySQL/PostgreSQL adapters where the raw result is converted to `ActiveRecord::Result` in
35+
# `cast_result`.
36+
def cast_result(result)
37+
result
3938
end
4039

4140
# Returns the affected rows from results.
@@ -521,7 +520,7 @@ def handle_to_names_and_values(handle, options = {})
521520
columns = columns.last if columns.any? && columns.all? { |e| e.is_a?(Array) } # If query returns multiple result sets, only return the columns of the last one.
522521
columns = columns.map(&:downcase) if lowercase_schema_reflection
523522

524-
ActiveRecord::Result.new(columns, results)
523+
ActiveRecord::Result.new(columns, results, affected_rows: handle.affected_rows)
525524
else
526525
results
527526
end

0 commit comments

Comments
 (0)