aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2011-08-10 00:03:49 +0100
committerJon Leighton <j@jonathanleighton.com>2011-08-15 23:10:15 +0100
commit43b99f290a8070196919a68999db87873257b7b8 (patch)
treef383c7062cb73c1bd23f279ad9fc9d5a00ba0c9a /activerecord/lib/active_record/connection_adapters/abstract
parent128d006242dae07edc65ad03e0e045adac0bbbf3 (diff)
downloadrails-43b99f290a8070196919a68999db87873257b7b8.tar.gz
rails-43b99f290a8070196919a68999db87873257b7b8.tar.bz2
rails-43b99f290a8070196919a68999db87873257b7b8.zip
Support for multi-table updates with limits, offsets and orders
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb3
1 files changed, 3 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 7543d35d3b..83e64d3c43 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb
@@ -312,6 +312,9 @@ module ActiveRecord
def join_to_update(update, select) #:nodoc:
subselect = select.clone
subselect.ast.cores.last.projections = [update.ast.key]
+
+ update.ast.limit = nil
+ update.ast.orders = []
update.wheres = [update.ast.key.in(subselect)]
end