From 59b1d98a5f6268bee661a411f06b285fdb292a47 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Tue, 8 Apr 2014 21:25:37 -0700 Subject: fixing insert manager --- lib/arel/visitors/to_sql.rb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'lib/arel/visitors/to_sql.rb') diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb index 921eeb9b91..2c460ed4ba 100644 --- a/lib/arel/visitors/to_sql.rb +++ b/lib/arel/visitors/to_sql.rb @@ -118,7 +118,7 @@ module Arel collector << "INSERT INTO " collector = visit o.relation, collector if o.columns.any? - collector << "(#{o.columns.map { |x| + collector << " (#{o.columns.map { |x| quote_column_name x.name }.join ', '})" end @@ -171,14 +171,18 @@ module Arel @schema_cache.columns_hash(table) end - def visit_Arel_Nodes_Values o - "VALUES (#{o.expressions.zip(o.columns).map { |value, attr| + def visit_Arel_Nodes_Values o, collector + collector << "VALUES (" + + collector << o.expressions.zip(o.columns).map { |value, attr| if Nodes::SqlLiteral === value - visit value + value else quote(value, attr && column_for(attr)) end - }.join ', '})" + }.join(', ') + + collector << ")" end def visit_Arel_Nodes_SelectStatement o, collector -- cgit v1.2.3