diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2008-11-22 18:06:13 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2008-11-22 18:06:13 +0000 |
| commit | daed092b293e227909e29f5b7aad7c9aa38d47ac (patch) | |
| tree | 9d351ce7073c892b0b2ac6704d2091b7a668c1f4 /roundcubemail/program/include/session.inc | |
| parent | e00d46500c4740745ef34e70f5db783fae0a291c (diff) | |
- fix r2076: removed cache.session_id column, removed DELETEs from cache in session_gc
- trust DB server's time when "touching" cache and messages tables
git-svn-id: https://svn.roundcube.net/trunk@2077 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include/session.inc')
| -rw-r--r-- | roundcubemail/program/include/session.inc | 34 |
1 files changed, 1 insertions, 33 deletions
diff --git a/roundcubemail/program/include/session.inc b/roundcubemail/program/include/session.inc index 21d22ab28..3f01fcd53 100644 --- a/roundcubemail/program/include/session.inc +++ b/roundcubemail/program/include/session.inc @@ -111,12 +111,6 @@ function rcube_sess_destroy($key) $DB->query("DELETE FROM " . get_table_name('session') . " WHERE sess_id=?", $key); - // delete session entries in cache table - // on databases wthout foreign keys - if ($rcmail->config->get('enable_caching') && $DB->db_provider != 'pgsql') { - $DB->query("DELETE FROM " . get_table_name('cache') . " WHERE session_id=?", $key); - } - return true; } @@ -131,34 +125,8 @@ function rcube_sess_gc($maxlifetime) return false; } - $now = $DB->fromunixtime(time() - $maxlifetime); - - // delete session entries in cache table - if ($rcmail->config->get('enable_caching')) { - - // on databases wthout foreign keys... - if($DB->db_provider != 'pgsql') { - - // get all expired sessions - $sql_result = $DB->query( - "SELECT sess_id FROM " . get_table_name('session') . " - WHERE changed < " . $now); - - $exp_sessions = array(); - while ($sql_arr = $DB->fetch_assoc($sql_result)) { - $exp_sessions[] = $sql_arr['sess_id']; - } - - if (sizeof($exp_sessions)) { - $exp_sessions = "'" . join("','", $exp_sessions) . "'"; - // delete session cache records - $DB->query("DELETE FROM " . get_table_name('cache') . " - WHERE session_id IN (" . $exp_sessions . ")"); - } - } - // also run message cache GC + if ($rcmail->config->get('enable_caching')) rcmail_message_cache_gc(); - } // just delete all expired sessions $DB->query("DELETE FROM " . get_table_name('session') . " |
