Roundcube: Unknown column 'expires' in 'where clause'

Created:

2016-11-16 13:04:41 UTC

Modified:

2017-04-28 14:27:32 UTC

0

Was this article helpful?


Have more questions?

Submit a request

Roundcube: Unknown column 'expires' in 'where clause'

Applicable to:

  • Plesk 12.0 for Linux

Symptoms

Randomly hosting clients can't login to the Roundcube and receive error message

    Connection to storage server failed or Empty startup greeting

The /var/log/plesk-roundcube/errors contain error records related to different cache* tables:

[27-Nov-2014 07:36:30 +0100]: DB Error: [1054] Unknown column 'expires' in 'where clause' (SQL Query: DELETE FROM cache_index WHERE expires < now()) in /usr/share/psa-roundcube/program/lib/Roundcube/rcube_db.php on line 465 (GET /?_task=mail&_action=getunread&_remote=1&_unlock=0&_=1417070189669)
[27-Nov-2014 07:36:30 +0100]: DB Error: [1054] Unknown column 'expires' in 'where clause' (SQL Query: DELETE FROM cache_thread WHERE expires < now()) in /usr/share/psa-roundcube/program/lib/Roundcube/rcube_db.php on line 465 (GET /?_task=mail&_action=getunread&_remote=1&_unlock=0&_=1417070189669)

Cause

Roundcube webmail was not completely updated

Resolution

Add missing columns and indexes in the ' roundcubemail ' database.

mysql> ALTER TABLE cache  CHANGE COLUMN  `changed` `expires` datetime DEFAULT NULL, ADD KEY `expires_index` (`expires`);
mysql> ALTER TABLE cache_index CHANGE COLUMN `changed` `expires` datetime DEFAULT NULL, ADD KEY `expires_index` (`expires`);
mysql> ALTER TABLE cache_messages CHANGE COLUMN `changed` `expires` datetime DEFAULT NULL, ADD KEY `expires_index` (`expires`);
mysql> ALTER TABLE cache_shared CHANGE COLUMN `changed` `expires` datetime DEFAULT NULL, ADD KEY `expires_index` (`expires`);
mysql> ALTER TABLE cache_thread CHANGE COLUMN `changed` `expires` datetime DEFAULT NULL, ADD KEY `expires_index` (`expires`);
Have more questions? Submit a request
Please sign in to leave a comment.