From 1b4e0b654210d024989dd4b46311807e2c823bdb Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Fri, 15 Oct 2010 18:43:41 -0700 Subject: prepare the statement before we cache the key --- .../lib/active_record/connection_adapters/postgresql_adapter.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'activerecord/lib/active_record') diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb index 71adfe8d8c..3bd5acb23d 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb @@ -220,7 +220,7 @@ module ActiveRecord @local_tz = nil @table_alias_length = nil @postgresql_version = nil - @statements = Hash.new { |h,k| h[k] = "a#{h.length + 1}" } + @statements = {} connect @local_tz = execute('SHOW TIME ZONE').first["TimeZone"] @@ -530,7 +530,9 @@ module ActiveRecord def async_exec(sql, name, binds) log(sql, name) do unless @statements.key? sql - @connection.prepare @statements[sql], sql + nextkey = "a#{@statements.length + 1}" + @connection.prepare nextkey, sql + @statements[sql] = nextkey end key = @statements[sql] -- cgit v1.2.3