Skip to content

Commit b4ee9e7

Browse files
committed
Fix affected rows count when lowercase schema reflection enabled
1 parent 8afbccc commit b4ee9e7

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
@@ -39,7 +39,8 @@ def cast_result(raw_result)
3939
end
4040

4141
def affected_rows(raw_result)
42-
raw_result.first['AffectedRows']
42+
column_name = lowercase_schema_reflection ? 'affectedrows' : 'AffectedRows'
43+
raw_result.first[column_name]
4344
end
4445

4546
def raw_execute(sql, name = nil, binds = [], prepare: false, async: false, allow_retry: false, materialize_transactions: true, batch: false)

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
@@ -183,6 +184,24 @@ class AdapterTestSQLServer < ActiveRecord::TestCase
183184
assert_equal "Favorite number?", SSTestUppered.last.column1
184185
assert SSTestUppered.columns_hash["column2"]
185186
end
187+
188+
it "destroys model with no associations" do
189+
connection.lowercase_schema_reflection = true
190+
191+
rec = Discount.create!
192+
assert_equal 1, Discount.count
193+
rec.destroy!
194+
assert_equal 0, Discount.count
195+
end
196+
197+
it "destroys model with association" do
198+
connection.lowercase_schema_reflection = true
199+
200+
post = Post.create!(title: 'Setup', body: 'Record to be deleted')
201+
assert_equal 1, Post.count
202+
post.destroy!
203+
assert_equal 0, Post.count
204+
end
186205
end
187206

188207
describe "identity inserts" do

0 commit comments

Comments
 (0)