aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-07-29 09:10:01 +0200
committerJosé Valim <jose.valim@gmail.com>2010-07-29 09:10:01 +0200
commit0f0bdaea7bf46c316ee63a9a66c8668354f142f2 (patch)
tree6aa817deafc49b5e89061d8b04a33539752c7623
parentd69949ed0d63ba19051a24cba992bd4655d0f5be (diff)
downloadrails-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.
-rw-r--r--actionpack/lib/action_dispatch/middleware/session/abstract_store.rb7
-rw-r--r--actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb1
-rw-r--r--activerecord/lib/active_record/session_store.rb1
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]