24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-06-24 22:25:47 +02:00
xmpp.chapril.org-ejabberd/src/odbc
Pablo Polvorin 1b85310f1a Support for roster versioning (EJAB-964)
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
2009-08-06 15:45:13 +00:00
..
ejabberd_odbc_sup.erl Merge from trunk (r1787 to r1804). 2009-01-19 14:47:33 +00:00
ejabberd_odbc.erl EJAB-940: Implements reliable ODBC transaction nesting. 2009-07-28 13:43:00 +00:00
Makefile.in Merge revisions from 1444 to revision 1457 from trunk. 2008-07-17 15:33:50 +00:00
Makefile.win32 Merge from trunk (r1563 to r1613). 2008-10-08 12:02:30 +00:00
mssql2000.sql Support for roster versioning (EJAB-964) 2009-08-06 15:45:13 +00:00
mssql2005.sql Merge from trunk (r1787 to r1804). 2009-01-19 14:47:33 +00:00
mysql.sql Support for roster versioning (EJAB-964) 2009-08-06 15:45:13 +00:00
odbc_queries.erl Support for roster versioning (EJAB-964) 2009-08-06 15:45:13 +00:00
pg.sql Support for roster versioning (EJAB-964) 2009-08-06 15:45:13 +00:00