Changeset 2075 in subversion


Ignore:
Timestamp:
Nov 21, 2008 9:33:58 AM (5 years ago)
Author:
alec
Message:
  • Fix 'cache' table cleanup on session destroy (#1485516)
Location:
trunk/roundcubemail
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/roundcubemail/CHANGELOG

    r2070 r2075  
    11CHANGELOG RoundCube Webmail 
    22--------------------------- 
     3 
     42008/11/21 (alec) 
     5---------- 
     6- Fix 'cache' table cleanup on session destroy (#1485516) 
    37 
    482008/11/19 (alec) 
  • trunk/roundcubemail/SQL/mysql.update.sql

    r1522 r2075  
    3131ALTER TABLE `messages` 
    3232    ADD INDEX `created_index` (`created`); 
     33 
     34-- Updates from version 0.2-beta (InnoDB only) 
     35 
     36ALTER TABLE `cache` 
     37    ADD CONSTRAINT `session_id_fk_cache` FOREIGN KEY (`session_id`) 
     38    REFERENCES `session`(`sess_id`) 
     39    ON DELETE CASCADE 
     40    ON UPDATE CASCADE; 
  • trunk/roundcubemail/SQL/mysql5.initial.sql

    r1522 r2075  
    7878   REFERENCES `users`(`user_id`) 
    7979     ON DELETE CASCADE 
     80     ON UPDATE CASCADE, 
     81 CONSTRAINT `session_id_fk_cache` FOREIGN KEY (`session_id`) 
     82   REFERENCES `session`(`sess_id`) 
     83     ON DELETE CASCADE 
    8084     ON UPDATE CASCADE 
    8185) TYPE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci; 
  • trunk/roundcubemail/SQL/postgres.initial.sql

    r1522 r2075  
    129129    cache_id integer DEFAULT nextval('cache_ids'::text) PRIMARY KEY, 
    130130    user_id integer NOT NULL REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, 
    131     session_id character varying(40) REFERENCES "session" (sess_id), 
     131    session_id character varying(40) REFERENCES "session" (sess_id) ON DELETE CASCADE ON UPDATE CASCADE, 
    132132    cache_key character varying(128) DEFAULT ''::character varying NOT NULL, 
    133133    created timestamp with time zone DEFAULT now() NOT NULL, 
     
    136136 
    137137CREATE INDEX cache_user_id_idx ON "cache" (user_id, cache_key); 
     138CREATE INDEX cache_session_id_idx ON "cache" (session_id); 
    138139 
    139140-- 
  • trunk/roundcubemail/SQL/postgres.update.sql

    r1522 r2075  
    2222 
    2323CREATE INDEX messages_created_idx ON messages (created); 
     24 
     25-- Updates from version 0.2-beta 
     26 
     27ALTER TABLE cache DROP CONSTRAINT cache_session_id_fkey; 
     28ALTER TABLE cache ADD FOREIGN KEY (session_id) REFERENCES session(sess_id) ON DELETE CASCADE ON UPDATE CASCADE; 
     29CREATE INDEX cache_session_id_idx ON "cache" (session_id); 
  • trunk/roundcubemail/program/include/rcube_imap.php

    r2071 r2075  
    21472147      $this->db->query( 
    21482148        "UPDATE ".get_table_name('cache')." 
    2149          SET    created=".$this->db->now().", 
    2150                 data=? 
     2149         SET    created=".$this->db->now().", data=?, session_id=? 
    21512150         WHERE  user_id=? 
    21522151         AND    cache_key=?", 
    21532152        $data, 
     2153        session_id(), 
    21542154        $_SESSION['user_id'], 
    21552155        $key); 
     
    21602160      $this->db->query( 
    21612161        "INSERT INTO ".get_table_name('cache')." 
    2162          (created, user_id, cache_key, data) 
    2163          VALUES (".$this->db->now().", ?, ?, ?)", 
     2162         (created, user_id, cache_key, data, session_id) 
     2163         VALUES (".$this->db->now().", ?, ?, ?, ?)", 
    21642164        $_SESSION['user_id'], 
    21652165        $key, 
    2166         $data); 
     2166        $data, 
     2167        session_id()); 
    21672168      } 
    21682169    } 
Note: See TracChangeset for help on using the changeset viewer.