aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/visitors
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2011-02-21 15:11:14 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2011-02-21 15:11:14 -0800
commit1c48bef21533039c81fdcaf868be518d5c16e383 (patch)
treea56c1d1c81fbc680c230b550458b3d1816252c04 /lib/arel/visitors
parenta4c10530e70fc42358cf7ea32440376f2c3c4c58 (diff)
parent6c65b0176223c90e08903ebc1a9a1075659f2c43 (diff)
downloadrails-1c48bef21533039c81fdcaf868be518d5c16e383.tar.gz
rails-1c48bef21533039c81fdcaf868be518d5c16e383.tar.bz2
rails-1c48bef21533039c81fdcaf868be518d5c16e383.zip
Merge remote branch 'jstorimer/master' into omg
* jstorimer/master: Allow database specific locking clauses to be used
Diffstat (limited to 'lib/arel/visitors')
-rw-r--r--lib/arel/visitors/mysql.rb6
-rw-r--r--lib/arel/visitors/postgresql.rb6
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/arel/visitors/mysql.rb b/lib/arel/visitors/mysql.rb
index e90161eee4..8f9c3cc809 100644
--- a/lib/arel/visitors/mysql.rb
+++ b/lib/arel/visitors/mysql.rb
@@ -3,7 +3,11 @@ module Arel
class MySQL < Arel::Visitors::ToSql
private
def visit_Arel_Nodes_Lock o
- "FOR UPDATE"
+ if o.locking.is_a?(String)
+ o.locking
+ else
+ "FOR UPDATE"
+ end
end
###
diff --git a/lib/arel/visitors/postgresql.rb b/lib/arel/visitors/postgresql.rb
index 0e82a703ca..45e7349fd3 100644
--- a/lib/arel/visitors/postgresql.rb
+++ b/lib/arel/visitors/postgresql.rb
@@ -3,7 +3,11 @@ module Arel
class PostgreSQL < Arel::Visitors::ToSql
private
def visit_Arel_Nodes_Lock o
- "FOR UPDATE"
+ if o.locking.is_a?(String)
+ o.locking
+ else
+ "FOR UPDATE"
+ end
end
def visit_Arel_Nodes_SelectStatement o