24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-06-02 21:17:12 +02:00
Commit Graph

28 Commits

Author SHA1 Message Date
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
Badlop
fec3742aaa Replace TYPE/1 with is_TYPE/1 (EJAB-922)
SVN Revision: 2057
2009-05-06 16:54:43 +00:00
Badlop
f09509502e * doc/guide.tex: Update copyright date 2008 to 2009 (EJAB-842)
* doc/guide.html: Likewise
* src/*/*.erl: Likewise
* src/*/*.erl: Remove unneeded blankspaces in license text

SVN Revision: 1804
2009-01-12 14:44:42 +00:00
Evgeniy Khramtsov
5a5ab955cb * src/odbc/odbc_queries.erl: replaced string:join/2 function.
Removed ugly "catch" statement from update_t/4.
WARNING: this change requires last version of mysql driver.
You can update it from ejabberd-modules repository.

SVN Revision: 1762
2008-12-29 09:26:20 +00:00
Evgeniy Khramtsov
11825e7a33 * src/odbc/ejabberd_odbc.erl: get rid of SERIALIZABLE isolation level on MySQL connections.
* src/odbc/odbc_queries.erl: replaces all delete->insert chains with update->insert.
* src/mod_privacy_odbc.erl: moved sql queries to odbc_queries.erl.
* src/mod_roster_odbc.erl: changed interface for odbc_queries.erl.

SVN Revision: 1755
2008-12-26 09:38:54 +00:00
Badlop
74f15f790a * src/odbc/odbc_queries.erl: Fix removal of private_storage of an
account when the account is removed

* src/mod_privacy.erl: Remove privacy lists of an account when the
account is removed (EJAB-720)
* src/mod_privacy_odbc.erl: Likewise

SVN Revision: 1742
2008-12-23 00:48:09 +00:00
Jérôme Sautret
a2340ea8b8 * src/odbc/odbc_queries.erl: Fix empty query that fail on MySQL.
SVN Revision: 1597
2008-10-03 15:42:40 +00:00
Jérôme Sautret
8883e4ad8b * src/mod_vcard_odbc: added vCard support for MS SQL Server 2005.
* src/odbc/odbc_queries.erl: likewise.
* src/odbc/mssql2005.sql: likewise.

SVN Revision: 1595
2008-10-03 15:29:48 +00:00
Badlop
c3bda4aaee * doc/guide.tex: Update Process-one name to ProcessOne (EJAB-708)
* doc/guide.html: Likewise
* doc/api/overview.edoc: Likewise
* src/*/*.erl: Likewise
* src/*/*.hrl: Likewise
* src/*/*.c: Likewise
* src/odbc/*.sql: Likewise

SVN Revision: 1499
2008-07-31 11:18:49 +00:00
Alexey Shchepin
fb43bb0109 * src/odbc/odbc_queries.erl: Fixed a typo
SVN Revision: 1467
2008-07-22 04:17:13 +00:00
Badlop
110a4b4518 * src/odbc/odbc_queries.erl (del_user_return_password): Return
password (thanks to Oleg Palij)

SVN Revision: 1343
2008-05-31 17:09:13 +00:00
Jérôme Sautret
0eb8aafc0d * odbc_queries: fix list_users queries with limit/offset.
SVN Revision: 1188
2008-02-12 13:23:35 +00:00
Jérôme Sautret
1309f26f06 * odbc_queries: fix list_users query with prefix.
SVN Revision: 1187
2008-02-12 12:49:41 +00:00
Badlop
2d2fcc8210 * doc/guide.tex: Updated copyright dates to 2008
* src/*: Likewise

SVN Revision: 1153
2008-01-15 17:02:57 +00:00
Mickaël Rémond
22f928122f * Applied copyright patch 3.
SVN Revision: 1113
2007-12-24 13:57:53 +00:00
Christophe Romain
1ba15b207c User count performance improvements
SVN Revision: 1086
2007-12-20 17:12:45 +00:00
Christophe Romain
f114517bbc mssql specific issue bugfix
SVN Revision: 1074
2007-12-17 14:10:26 +00:00
Christophe Romain
4b65154dd3 first patch to mssql quety, still one patch to be done
SVN Revision: 1066
2007-12-11 17:43:49 +00:00
Mickaël Rémond
7d68866c59 * src/odbc_queries.erl: Added a default define value so that we
can recompile the file manually with a simple erlc command (with the
default generic value).

SVN Revision: 1007
2007-12-01 14:25:31 +00:00
Alexey Shchepin
9b2e6bcaef * src/odbc/odbc_queries.erl: Reverted the previous patch because
it produces "redefining macro 'generic'" compilation error

SVN Revision: 1005
2007-12-01 05:20:45 +00:00
Mickaël Rémond
e4cf286aa2 * src/odbc_queries.erl: Added a default define value so that we can
recompile the file manually with a simple erlc command.

SVN Revision: 1003
2007-11-30 18:06:26 +00:00
Mickaël Rémond
d6967f2745 * src/ejabberd_auth.erl: Better count management and batch users retrieval for relational database (Thanks to Massimiliano Mirra).
* src/ejabberd_auth_odbc.erl: Likewise.
* src/odbc/odbc_queries.erl: Likewise.

SVN Revision: 968
2007-11-03 17:35:23 +00:00
Mickaël Rémond
b0bb9a79c3 * src/mod_offline_odbc.erl: Implements quota for offline messages
in relational database (EJAB-314)
* src/odbc/odbc_queries.erl: Likewise

SVN Revision: 893
2007-08-28 14:36:39 +00:00
Mickaël Rémond
d2dd6eef09 * src/odbc/odbc_queries.erl: Added missing users_number/1 for MSSQL (EJAB-239).
SVN Revision: 785
2007-06-18 10:22:54 +00:00
Alexey Shchepin
8aab10d28c * src/ejabberd_auth.erl: Added get_vh_registered_users_number/1
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
2007-05-12 18:09:38 +00:00
Mickaël Rémond
86da0b3e1b 2006-11-20 Mickael Remond <mickael.remond@process-one.net>
* 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
2006-11-20 13:20:47 +00:00
Mickaël Rémond
d571a564d3 * src/mod_private_odbc.erl: Support for MySQL and MSSQL.
* src/odbc/odbc_queries.erl: Likewise.
* src/odbc/mysql.sql: Likewise.
* src/odbc/mssql.sql: Likewise.

SVN Revision: 674
2006-11-05 15:51:26 +00:00
Mickaël Rémond
d0e2ac9ed2 * src/odbc/odbc_queries.erl: Support for Microsoft SQL Server as
a database backend (via ODBC).
* src/odbc/ejabberd_odbc.erl: Likewise.
* src/odbc/mssql.sql: Likewise.
* src/odbc/Makefile.in: Likewise.
* src/ejabberd_auth_odbc.erl: Likewise.
* src/mod_offline_odbc.erl: Likewise.
* src/mod_roster_odbc.erl: Likewise.
* src/mod_last_odbc.erl: Likewise.
* src/configure.ac: Likewise
* doc/guide.tex: Likewise.
* doc/introduction.tex: Likewise.
* src/odbc/pg.sql: Minor fix.

SVN Revision: 598
2006-09-03 15:15:46 +00:00