From 47037b648d1b56470dba35798fc5e30f1143eb95 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Thu, 10 Apr 2014 16:58:15 -0700 Subject: eagerly build the relation object --- activerecord/lib/active_record/statement_cache.rb | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'activerecord') diff --git a/activerecord/lib/active_record/statement_cache.rb b/activerecord/lib/active_record/statement_cache.rb index 1a2ff23013..d2a0c6f618 100644 --- a/activerecord/lib/active_record/statement_cache.rb +++ b/activerecord/lib/active_record/statement_cache.rb @@ -76,15 +76,13 @@ module ActiveRecord def initialize(block = Proc.new) @mutex = Mutex.new - @relation = nil @binds = nil - @block = block @query_builder = nil - @params = Params.new + @relation = block.call Params.new end def execute(params) - rel = relation @params + rel = @relation arel = rel.arel klass = rel.klass @@ -108,9 +106,5 @@ module ActiveRecord @query_builder ||= connection.cacheable_query(arel) } end - - def relation(values) - @relation || @mutex.synchronize { @relation ||= @block.call(values) } - end end end -- cgit v1.2.3