diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2010-09-07 15:47:38 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2010-09-07 15:47:38 -0700 |
commit | 6e05eef9e94dd8f5138bab591d9dbe926498e6ed (patch) | |
tree | 7176793abbfb551f941261ae616bafb788c79b34 /lib/arel/visitors | |
parent | d0e6b969d678fe1a7da4a9f0cedc47e66dcc4173 (diff) | |
download | rails-6e05eef9e94dd8f5138bab591d9dbe926498e6ed.tar.gz rails-6e05eef9e94dd8f5138bab591d9dbe926498e6ed.tar.bz2 rails-6e05eef9e94dd8f5138bab591d9dbe926498e6ed.zip |
group nodes are working!
Diffstat (limited to 'lib/arel/visitors')
-rw-r--r-- | lib/arel/visitors/to_sql.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb index 4ac38fb13e..55b3259e81 100644 --- a/lib/arel/visitors/to_sql.rb +++ b/lib/arel/visitors/to_sql.rb @@ -54,10 +54,15 @@ module Arel [ "SELECT #{o.projections.map { |x| visit x }.join ', '}", ("FROM #{o.froms.map { |x| visit x }.join ', ' }" unless o.froms.empty?), - ("WHERE #{o.wheres.map { |x| visit x }.join ' AND ' }" unless o.wheres.empty?) + ("WHERE #{o.wheres.map { |x| visit x }.join ' AND ' }" unless o.wheres.empty?), + ("GROUP BY #{o.groups.map { |x| visit x }.join ', ' }" unless o.groups.empty?) ].compact.join ' ' end + def visit_Arel_Nodes_Group o + visit o.expr + end + def visit_Arel_Nodes_Count o "COUNT(#{o.distinct ? 'DISTINCT ' : ''}#{o.expressions.map { |x| visit x }.join(', ')})" end |