Skip to content

Commit b963e6f

Browse files
committed
Fix affected rows count when lowercase schema reflection enabled (#1306)
1 parent 212fb0a commit b963e6f

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

lib/active_record/connection_adapters/sqlserver/database_statements.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ def cast_result(raw_result)
4343

4444
# Returns the affected rows from results.
4545
def affected_rows(raw_result)
46-
raw_result&.first&.fetch("AffectedRows", nil)
46+
column_name = lowercase_schema_reflection ? "affectedrows" : "AffectedRows"
47+
raw_result&.first&.fetch(column_name, nil)
4748
end
4849

4950
# Returns the affected rows from results or handle.

test/cases/adapter_test_sqlserver.rb

+19
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
require "models/subscriber"
88
require "models/minimalistic"
99
require "models/college"
10+
require "models/discount"
1011

1112
class AdapterTestSQLServer < ActiveRecord::TestCase
1213
fixtures :tasks
@@ -189,6 +190,24 @@ class AdapterTestSQLServer < ActiveRecord::TestCase
189190
assert_equal "Favorite number?", SSTestUppered.last.column1
190191
assert SSTestUppered.columns_hash["column2"]
191192
end
193+
194+
it "destroys model with no associations" do
195+
connection.lowercase_schema_reflection = true
196+
197+
assert_nothing_raised do
198+
discount = Discount.create!
199+
discount.destroy!
200+
end
201+
end
202+
203+
it "destroys model with association" do
204+
connection.lowercase_schema_reflection = true
205+
206+
assert_nothing_raised do
207+
post = Post.create!(title: "Setup", body: "Record to be deleted")
208+
post.destroy!
209+
end
210+
end
192211
end
193212

194213
describe "identity inserts" do

0 commit comments

Comments
 (0)