24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-06-14 22:00:16 +02:00
xmpp.chapril.org-ejabberd/src/odbc
Pablo Polvorin 53626d16e3 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 * src/odbc/ejabberd_odbc_sup.erl: make requests return a timeout if 2009-08-06 15:06:08 +00:00
ejabberd_odbc.erl * src/odbc/ejabberd_odbc_sup.erl: make requests return a timeout if 2009-08-06 15:06:08 +00:00
Makefile.in * src/*.hrl: Get back all ejabberd header files to their original 2008-07-16 16:58:42 +00:00
Makefile.win32 * src/*/Makefile.win32: Provide explicit beam filenames because 2008-09-30 16:12:05 +00:00
mssql2000.sql Support for roster versioning (EJAB-964) 2009-08-06 15:45:13 +00:00
mssql2005.sql * doc/guide.tex: Update copyright date 2008 to 2009 (EJAB-842) 2009-01-12 14:44:42 +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