Previously to check if hibernated room was old enough we had to fetch info
about all rooms from database. Now we repurpose created_at field in sql
to store that info, that allow us to have more efficient query just for it.
How to update an existing database:
ALTER TABLE vcard_search DROP CONSTRAINT vcard_search_pkey;
ALTER TABLE vcard_search ADD PRIMARY KEY (server_host, lusername);
Store PubSub item creation/modification timestamps as integers instead
of "$megasec:$sec:$microsec" strings. This can improve the performance
of certain SQL queries significantly.
Thanks to Ammonit Measurement GmbH for sponsoring this work.
Note that support for older specification is completely dropped,
i.e. no backward compatibility is provided since the XEPs are
still very experimental and being changed drastically
Accordingly, Mnesia/SQL/Riak table 'carboncopy' is not used anymore
and can be safely removed.
As a consequence, the commit deprecates the following options of
mod_carboncopy:
- ram_db_type
- use_cache
- cache_size
- cache_missed
- cache_life_time
Fixes#2663