aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arel')
-rw-r--r--lib/arel/visitors/to_sql.rb18
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb
index ee72d864e1..921eeb9b91 100644
--- a/lib/arel/visitors/to_sql.rb
+++ b/lib/arel/visitors/to_sql.rb
@@ -114,16 +114,16 @@ module Arel
collector
end
- def visit_Arel_Nodes_InsertStatement o
- [
- "INSERT INTO #{visit o.relation}",
-
- ("(#{o.columns.map { |x|
- quote_column_name x.name
- }.join ', '})" unless o.columns.empty?),
+ def visit_Arel_Nodes_InsertStatement o, collector
+ collector << "INSERT INTO "
+ collector = visit o.relation, collector
+ if o.columns.any?
+ collector << "(#{o.columns.map { |x|
+ quote_column_name x.name
+ }.join ', '})"
+ end
- (visit o.values if o.values),
- ].compact.join ' '
+ maybe_visit o.values, collector
end
def visit_Arel_Nodes_Exists o, collector