From 497218d5db8f7c3887c3861bdbe318331b77fed7 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Tue, 12 Oct 2010 13:57:05 -0700 Subject: [PATCH] adding bind value substitution --- .../connection_adapters/abstract_adapter.rb | 6 ++++++ .../test/cases/adapters/sqlite3/sqlite3_adapter_test.rb | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb index d8c92d0ad3..bcbef526bd 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb @@ -97,6 +97,12 @@ def quote_table_name(name) quote_column_name(name) end + # Returns a bind substitution value given a +column+ and list of current + # +bind_values+ + def substitute_for(column, bind_values) + Arel.sql '?' + end + # REFERENTIAL INTEGRITY ==================================== # Override to turn off referential integrity while executing &block. diff --git a/activerecord/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb b/activerecord/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb index 934cf72f72..f4a856e42a 100644 --- a/activerecord/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb +++ b/activerecord/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb @@ -51,6 +51,15 @@ def test_encoding :timeout => 100 assert_equal 'UTF-8', conn.encoding end + + def test_bind_value_substitute + conn = Base.sqlite3_connection :database => ':memory:', + :adapter => 'sqlite3', + :timeout => 100 + + bind_param = conn.substitute_for('foo', []) + assert_equal Arel.sql('?'), bind_param + end end end end -- GitLab