From f7e8dae10b343df396256df25a5282c349d966d3 Mon Sep 17 00:00:00 2001 From: Nathan Zook Date: Thu, 4 Mar 2010 17:14:19 -0600 Subject: [PATCH] Broke out joining the quoted values in ActiveRecord::Base (to support the Oracle adapter) --- activerecord/lib/active_record/base.rb | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index cd67490..563a645 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -695,7 +695,7 @@ module ActiveRecord #:nodoc: }.join(", ") if id.is_a?(Array) - ids_list = id.map {|i| quote_value(i)}.join(', ') + ids_list = join_quoted_values_for_condition(id.map{|i| quote_value(i)}) condition = "IN (#{ids_list})" else condition = "= #{quote_value(id)}" @@ -1639,13 +1639,17 @@ module ActiveRecord #:nodoc: if value.respond_to?(:empty?) && value.empty? connection.quote(nil) else - value.map { |v| connection.quote(v) }.join(',') + join_quoted_values_for_condition(value.map{|v| connection.quote(v)}) end else connection.quote(value) end end + def join_quoted_values_for_condition(values) #:nodoc: + values * ',' + end + def raise_if_bind_arity_mismatch(statement, expected, provided) #:nodoc: unless expected == provided raise PreparedStatementInvalid, "wrong number of bind variables (#{provided} for #{expected}) in: #{statement}" -- 1.6.0.4