diff options
author | José Valim <jose.valim@gmail.com> | 2010-07-29 09:10:01 +0200 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-07-29 09:10:01 +0200 |
commit | 0f0bdaea7bf46c316ee63a9a66c8668354f142f2 (patch) | |
tree | 6aa817deafc49b5e89061d8b04a33539752c7623 | |
parent | d69949ed0d63ba19051a24cba992bd4655d0f5be (diff) | |
download | rails-0f0bdaea7bf46c316ee63a9a66c8668354f142f2.tar.gz rails-0f0bdaea7bf46c316ee63a9a66c8668354f142f2.tar.bz2 rails-0f0bdaea7bf46c316ee63a9a66c8668354f142f2.zip |
Revert "Avoid uneeded queries in session stores if sid is not given."
First step to merge Rails and Rack session stores. Rack always expects to receive the SID since it may have different behavior if the SID is nil.
This reverts commit e210895ba95e498b9debbf43a3e5ae588bca81f0.
3 files changed, 4 insertions, 5 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb b/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb index ad98249468..dd82294644 100644 --- a/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb +++ b/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb @@ -191,11 +191,8 @@ module ActionDispatch def load_session(env) stale_session_check! do - if sid = current_session_id(env) - sid, session = get_session(env, sid) - else - sid, session = generate_sid, {} - end + sid = current_session_id(env) + sid, session = get_session(env, sid) [sid, session] end end diff --git a/actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb b/actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb index 5304440418..28e3dbd732 100644 --- a/actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb +++ b/actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb @@ -25,6 +25,7 @@ module ActionDispatch private def get_session(env, sid) + sid ||= generate_sid begin session = @pool.get(sid) || {} rescue MemCache::MemCacheError, Errno::ECONNREFUSED diff --git a/activerecord/lib/active_record/session_store.rb b/activerecord/lib/active_record/session_store.rb index 766e63edc7..becde0fbfd 100644 --- a/activerecord/lib/active_record/session_store.rb +++ b/activerecord/lib/active_record/session_store.rb @@ -293,6 +293,7 @@ module ActiveRecord private def get_session(env, sid) Base.silence do + sid ||= generate_sid session = find_session(sid) env[SESSION_RECORD_KEY] = session [sid, session.data] |