Introduces two options for mod_roster and mod_roster_odbc:
- {versioning, true | false} Enable or disable roster versioning on ejabberd.
- {store_current_id, true | false} If true, the current roster version is stored on DB (internal or odbc). Otherwise it is calculated on the fly each time.
Performance:
Setting store_current_id to true should help in reducing the load for both ejabberd and the DB.
Details:
If store_current_id is false, the roster version is a hash of the entire roster. If store_current_id is true, the roster version is a hash, but of the current time
(this has to do with transactional semantics; we need to perform both the roster update and the version update on the same transaction, but we don't
have the entire roster when we are changing a single item on DB. Loading it there requires significant changes to be introduced, so I opted for this simpler approach).
In either case, there is no difference for the clients, the roster version ID is opaque.
IMPORTANT:
mod_shared_roster is not compatible with the option 'store_current_id'. Shared roster and roster versioning can be both enabled, but store_current_id MUST be set to false.
SVN Revision: 2428
Included are fixes to src/mod_configure.erl and src/mod_caps.erl.
Note: this merge doesn't include the following revisions because it was
made by previous commits:
r1766, r1768, r1781, r1783, r1794, r1797, r1799, r1802.
Warning: Ejabberd may be broken until the merge is completly finished.
PR: EJABP-1
SVN Revision: 1829
Note: this merge doesn't include the following revisions because it was
made by previous commits:
r1737, r1740, r1745, r1747, r1748.
Additionnaly, any deprecated content was removed from jlib.hrl. This
leaves only the new RSM records.
Warning: Ejabberd may be broken until the merge is completly finished.
PR: EJABP-1
SVN Revision: 1824
function
* src/ejabberd_auth_odbc.erl: Likewise
* src/odbc/odbc_queries.erl: Added users_number/1 function
* src/ejabberd.cfg.example: Added an example for
pgsql_users_number_estimate option
SVN Revision: 766
* src/ejd2odbc.erl: Copy mod_private data from Mnesia to
relational database.
* src/odbc/odbc_queries.erl: Refactoring.
* src/odbc/mssql.sql: Likewise.
* doc/guide.tex: Update to mention mod_private_odbc.
* src/odbc/mysql.sql: Started integration of mod_privacy_odbc for
MySQL and MSSQL.
* src/odbc/mssql.sql: Likewise.
SVN Revision: 678