diff options
author | Rafael Mendonça França + Kassio Borges <rafaelmfranca+kassioborgesm@gmail.com> | 2013-08-31 14:56:00 -0300 |
---|---|---|
committer | Rafael Mendonça França + Kassio Borges <rafaelmfranca+kassioborgesm@gmail.com> | 2013-08-31 14:56:00 -0300 |
commit | ccecf17b9b40ca60f5ac7281247f3e798820ce12 (patch) | |
tree | c44b40d06fdab8131dcb37ea513e8442cb88c0a8 | |
parent | bf2c4280563ba5f86072c1bad8af27ff5e5da0f3 (diff) | |
download | rails-ccecf17b9b40ca60f5ac7281247f3e798820ce12.tar.gz rails-ccecf17b9b40ca60f5ac7281247f3e798820ce12.tar.bz2 rails-ccecf17b9b40ca60f5ac7281247f3e798820ce12.zip |
Revert "Do not dup the binds when visiting the AST"
This reverts commit 71ff7d9c6592b93e2c810a1f464943dd7bd02c7f.
Reason: I need to check with @jeremy if we can do this.
3 files changed, 3 insertions, 10 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb b/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb index ce63b5b4df..32244b1755 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb @@ -9,6 +9,7 @@ module ActiveRecord # Converts an arel AST to SQL def to_sql(arel, binds = []) if arel.respond_to?(:ast) + binds = binds.dup visitor.accept(arel.ast) do quote(*binds.shift.reverse) end @@ -376,7 +377,7 @@ module ActiveRecord def sql_for_insert(sql, pk, id_value, sequence_name, binds) [sql, binds] end - + def last_inserted_id(result) row = result.rows.first row && row.first diff --git a/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb b/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb index e790f731ea..92796c996e 100644 --- a/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb @@ -229,7 +229,7 @@ module ActiveRecord alias exec_without_stmt exec_query - # Returns an ActiveRecord::Result instance. + # Returns an ActiveRecord::Result instance. def select(sql, name = nil, binds = []) exec_query(sql, name) end diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index fc567612ff..de4b7fa687 100644 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -329,14 +329,6 @@ class BasicsTest < ActiveRecord::TestCase assert !cbs[1].frickinawesome end - def test_create_without_prepared_statement - cb = CustomBulb.connection.unprepared_statement do - CustomBulb.create(name: 'Dude') - end - - assert_equal('Dude', cb.name) - end - def test_load topics = Topic.all.merge!(:order => 'id').to_a assert_equal(4, topics.size) |