aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/visitors/to_sql.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2011-04-21 15:28:21 -0500
committerAaron Patterson <aaron.patterson@gmail.com>2011-04-21 15:28:21 -0500
commitcae83ce964b9919b890bb7fa6f920a536e6b5425 (patch)
treec0d11479ee90c9ead48cef7a3db1e297ee333489 /lib/arel/visitors/to_sql.rb
parent885a3acb1ce183189b8628f14fa834b3e1ba39ec (diff)
downloadrails-cae83ce964b9919b890bb7fa6f920a536e6b5425.tar.gz
rails-cae83ce964b9919b890bb7fa6f920a536e6b5425.tar.bz2
rails-cae83ce964b9919b890bb7fa6f920a536e6b5425.zip
adding a DISTINCT node
Diffstat (limited to 'lib/arel/visitors/to_sql.rb')
-rw-r--r--lib/arel/visitors/to_sql.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb
index 061e46a436..6aba31d94d 100644
--- a/lib/arel/visitors/to_sql.rb
+++ b/lib/arel/visitors/to_sql.rb
@@ -125,6 +125,7 @@ key on UpdateManager using UpdateManager#key=
[
"SELECT",
(visit(o.top) if o.top),
+ (visit(o.set_quantifier) if o.set_quantifier),
"#{o.projections.map { |x| visit x }.join ', '}",
visit(o.source),
("WHERE #{o.wheres.map { |x| visit x }.join ' AND ' }" unless o.wheres.empty?),
@@ -137,6 +138,10 @@ key on UpdateManager using UpdateManager#key=
visit o.expr
end
+ def visit_Arel_Nodes_Distinct o
+ 'DISTINCT'
+ end
+
def visit_Arel_Nodes_With o
"WITH #{o.children.map { |x| visit x }.join(', ')}"
end