aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/visitors/to_sql.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2011-01-04 20:27:34 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2011-01-04 20:27:34 -0800
commitf0c4e3713d72a18a4100f85e263014f6e56bfad3 (patch)
treeccdcde4adb5ebfc4920daff19aa8ad38477b5caf /lib/arel/visitors/to_sql.rb
parentdd1a65456fbfdc1f2a337aca535576d84145dcb6 (diff)
downloadrails-f0c4e3713d72a18a4100f85e263014f6e56bfad3.tar.gz
rails-f0c4e3713d72a18a4100f85e263014f6e56bfad3.tar.bz2
rails-f0c4e3713d72a18a4100f85e263014f6e56bfad3.zip
Added Arel::Nodes::NamedFunction for representing generic SQL functions
Diffstat (limited to 'lib/arel/visitors/to_sql.rb')
-rw-r--r--lib/arel/visitors/to_sql.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb
index 4eae5a9ae5..d5534384f8 100644
--- a/lib/arel/visitors/to_sql.rb
+++ b/lib/arel/visitors/to_sql.rb
@@ -183,6 +183,12 @@ eowarn
visit o.expr
end
+ def visit_Arel_Nodes_NamedFunction o
+ "#{o.name}(#{o.distinct ? 'DISTINCT ' : ''}#{o.expressions.map { |x|
+ visit x
+ }.join(', ')})#{o.alias ? " AS #{visit o.alias}" : ''}"
+ end
+
def visit_Arel_Nodes_Count o
"COUNT(#{o.distinct ? 'DISTINCT ' : ''}#{o.expressions.map { |x|
visit x