aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activerecord/CHANGELOG2
-rw-r--r--activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb4
2 files changed, 4 insertions, 2 deletions
diff --git a/activerecord/CHANGELOG b/activerecord/CHANGELOG
index 6eec1c03cf..712c98cb6a 100644
--- a/activerecord/CHANGELOG
+++ b/activerecord/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Fixed optimistic locking with SQL Server #1660 [tom@popdog.net]
+
* Added ActiveRecord::Migrator.migrate that can figure out whether to go up or down based on the target version and the current
* Added better error message for "packets out of order" #1630 [courtenay]
diff --git a/activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb
index 1863a9be57..7b68283e57 100644
--- a/activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb
@@ -236,9 +236,9 @@ module ActiveRecord
end
def execute(sql, name = nil)
- if sql =~ /^INSERT/i
+ if sql =~ /^\s*INSERT/i
insert(sql, name)
- elsif sql =~ /^UPDATE|DELETE/i
+ elsif sql =~ /^\s*UPDATE|^\s*DELETE/i
log(sql, name) do
@connection.execute(sql)
retVal = select_one("SELECT @@ROWCOUNT AS AffectedRows")["AffectedRows"]