aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/visitors
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-09-09 15:20:25 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2010-09-09 15:20:25 -0700
commit67d2f9a922314e4ac51d99981efe886a3a7aca86 (patch)
treef6c43368e6fecb175a232a935b83d87ce5a4d6f8 /lib/arel/visitors
parent3a36df69b7b8913d333b508da0a6b6cdb68bc6f5 (diff)
downloadrails-67d2f9a922314e4ac51d99981efe886a3a7aca86.tar.gz
rails-67d2f9a922314e4ac51d99981efe886a3a7aca86.tar.bz2
rails-67d2f9a922314e4ac51d99981efe886a3a7aca86.zip
adding a Value node so that SqlLiteral values may be used
Diffstat (limited to 'lib/arel/visitors')
-rw-r--r--lib/arel/visitors/to_sql.rb11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb
index 0f2de092ea..25b7f005ea 100644
--- a/lib/arel/visitors/to_sql.rb
+++ b/lib/arel/visitors/to_sql.rb
@@ -37,13 +37,16 @@ module Arel
quote_column_name x.name
}.join ', '})" unless o.columns.empty?),
- ("VALUES (#{o.values.map { |value|
- value ? visit(value) : 'NULL'
- }.join ', '})" unless o.values.empty?),
-
+ (visit o.values if o.values),
].compact.join ' '
end
+ def visit_Arel_Nodes_Values o
+ "VALUES (#{o.expressions.map { |value|
+ value ? visit(value) : 'NULL'
+ }.join ', '})"
+ end
+
def visit_Arel_Nodes_SelectStatement o
[
o.cores.map { |x| visit x }.join,