aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb
diff options
context:
space:
mode:
authorTarmo Tänav <tarmo@itech.ee>2008-09-10 13:39:50 +0300
committerMichael Koziarski <michael@koziarski.com>2008-09-10 13:41:49 +0200
commit7c9851dbb6f841ffbf3ebd16e9f57c04319d3a39 (patch)
treeadc55140a573c0c7cd99a405f2f593e721f1efb3 /activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb
parent14d1560e85d5c4795c21ddb00953cf55e0525ee3 (diff)
downloadrails-7c9851dbb6f841ffbf3ebd16e9f57c04319d3a39.tar.gz
rails-7c9851dbb6f841ffbf3ebd16e9f57c04319d3a39.tar.bz2
rails-7c9851dbb6f841ffbf3ebd16e9f57c04319d3a39.zip
Support :limit on update_all so that has_many with :limit can be safely updated
Signed-off-by: Michael Koziarski <michael@koziarski.com>
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb b/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb
index aaf9e2e73f..8fc89de22b 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb
@@ -153,6 +153,10 @@ module ActiveRecord
"="
end
+ def limited_update_conditions(where_sql, quoted_table_name, quoted_primary_key)
+ "WHERE #{quoted_primary_key} IN (SELECT #{quoted_primary_key} FROM #{quoted_table_name} #{where_sql})"
+ end
+
protected
# Returns an array of record hashes with the column names as keys and
# column values as values.