Commit Graph

101 Commits

Author SHA1 Message Date
Denis Kurochkin 6e878d17e6 MSSQL support was broken (EJAB-1201) 2010-03-05 14:40:33 +01:00
Evgeniy Khramtsov f60804b060 get rid of queue:filter/2 to keep compatibility with older Erlang versions 2010-02-20 20:05:48 +09:00
Evgeniy Khramtsov 03454c7f1d improved SQL reconnect behaviour
SVN Revision: 2947
2010-01-31 11:41:28 +00:00
Badlop 7b76fdcde7 Update year of ProcessOne copyright from 2009 to 2010 (EJAB-1159)
SVN Revision: 2891
2010-01-12 16:11:32 +00:00
Badlop 50137aa98d Add +export_all to EFLAGS if: make debug=true (thanks to Marcin Owsiany)(EJAB-1134)
SVN Revision: 2842
2009-12-29 19:10:52 +00:00
Badlop b9f911554c Fix ProcessOne name in comments.
SVN Revision: 2724
2009-11-04 20:14:22 +00:00
Jérôme Sautret 49894fe065 Add a "created_at" column to some tables in the MySQL schema to store
a timestamp (thanks to Pedro Melo, EJAB-376).

SVN Revision: 2593
2009-09-10 16:52:20 +00:00
Jérôme Sautret 58d690376c Fix pubsub tables constraints in MySQL schema creation script.
SVN Revision: 2592
2009-09-10 16:45:50 +00:00
Christophe Romain b6f50972b6 remove INFO_MSG call inside sql_query_internal
SVN Revision: 2556
2009-08-27 22:27:55 +00:00
Christophe Romain 0b03106946 typo fix on subscriptions
SVN Revision: 2438
2009-08-07 08:29:24 +00:00
Christophe Romain 5598d34478 initial merge of pubsub odbc, compilation pass ok
SVN Revision: 2437
2009-08-07 08:26:47 +00:00
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
Jérôme Sautret 59c88fcfe7 * src/odbc/ejabberd_odbc_sup.erl: make requests return a timeout if
connections to the database cannot be established (EJABS-990).
* src/odbc/ejabberd_odbc.erl: cosmetic changes.

SVN Revision: 2427
2009-08-06 15:06:08 +00:00
Jérôme Sautret 95239baf85 * src/odbc/ejabberd_odbc.erl: fix keepalive query, broken by r2092.
SVN Revision: 2425
2009-08-06 10:23:32 +00:00
Geoff Cant bf10d1e956 EJAB-940: Implements reliable ODBC transaction nesting.
SVN Revision: 2397
2009-07-28 13:46:28 +00:00
Badlop f767def249 Add forgotten copyright and license notices. Fix blackspaces.
SVN Revision: 2151
2009-06-09 10:56:14 +00:00
Mickaël Rémond 11c4dba442 * trunk/src/odbc/ejabberd_odbc.erl: Fix typo (EJABS-859) (EJAB-940) (CR-EJAB-10)
* branches/road-to-exmpp/src/odbc/ejabberd_odbc.erl: Likewise.

SVN Revision: 2095
2009-05-21 16:43:33 +00:00
Mickaël Rémond 270662c07b * trunk/src/odbc/ejabberd_odbc.erl: Move trace to debug loglevel (EJAB-940) (EJABS-859) (CR-EJAB-10)
SVN Revision: 2093
2009-05-21 16:23:27 +00:00
Mickaël Rémond b8f094b080 * trunk/src/odbc/ejabberd_odbc.erl: Support for nested transaction (EJABS-859) (EJAB-940) (CR-EJAB-10)
SVN Revision: 2092
2009-05-21 16:19:33 +00:00
Badlop fec3742aaa Replace TYPE/1 with is_TYPE/1 (EJAB-922)
SVN Revision: 2057
2009-05-06 16:54:43 +00:00
Christophe Romain bda111b145 fix minor pubsub init glitch, and allow ejabberd_odbc to execute bloc of queries without transaction
SVN Revision: 2038
2009-04-24 10:27:31 +00:00
Badlop ee1140483c * src/odbc/mysql.sql: Fix complain about comment syntax
* src/odbc/pg.sql: Likewise

SVN Revision: 1850
2009-01-23 00:10:00 +00:00
Alexey Shchepin 562e6c8d39 * src/odbc/ejabberd_odbc.erl: Fixed processing of UPDATE results
with pgsql

SVN Revision: 1808
2009-01-12 18:15:49 +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 85fdf7cb25 * src/odbc/ejabberd_odbc.erl: Print meaningful error message when
an SQL transaction exceeds number of restarts. Also rollbacks
this transaction to prevent deadlocks.

SVN Revision: 1761
2008-12-29 04:21:27 +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 9e679aa621 * src/odbc/ejabberd_odbc.erl: close MySQL connections on terminate (needs mysql r829)
SVN Revision: 1700
2008-12-03 10:58:19 +00:00
Jérôme Sautret 7c736a5ea0 * src/odbc/ejabberd_odbc.erl: log MySQL driver messages.
SVN Revision: 1652
2008-10-13 15:25:30 +00:00
Jérôme Sautret 2f8127d343 * src/ejabberd_rdbms.erl: fix SQL database reconnection
issues (EJAB-764) and add odbc_start_interval configuration
directive (default to 30 seconds).
* src/odbc/ejabberd_odbc.erl: likewise.
* src/odbc/ejabberd_odbc_sup.erl: likewise.
* doc/guide.tex: likewise.

SVN Revision: 1600
2008-10-06 14:18:46 +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 16a508cdb9 * src/*/Makefile.win32: Provide explicit beam filenames because
nmake does not accept wildcards (thanks to Attila
Vangel)(EJAB-543)

SVN Revision: 1588
2008-09-30 16:12:05 +00:00
Mickaël Rémond b6a706756e * src/odbc/mssql2000.sql: Script for MSSQL 2000
* src/odbc/mssql2005.sql: Script for MSSQL 2005
* src/odbc/mssql.sql: removed

SVN Revision: 1558
2008-09-02 14:14:42 +00:00
Jérôme Sautret 60308df929 * src/odbc/ejabberd_odbc.erl: Restart the database connection when it's lost or it reaches timeout. Set transaction isolation level to SERIALIZABLE when establishing connection.
SVN Revision: 1510
2008-08-04 13:41:16 +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 970e9e0843 * src/*.hrl: Get back all ejabberd header files to their original
placement in src/ subdirectories (EJAB-696)
* src/*/*.erl: Likewise
* src/*/Makefile.in: Likewise
* src/Makefile.in: Install header files in system include/ dir,
reproducing the subdirectory structure of src/

SVN Revision: 1453
2008-07-16 16:58:42 +00:00
Badlop f25316c1e7 * src/configure.ac: Update installation permissions (EJAB-402)
* src/configure: Likewise

* src/Makefile.in: The mnesia, ebin and priv dirs are now
installed in different locations. Install header files and
documentation (EJAB-696)
* doc/guide.tex: Likewise
* doc/guide.html: Likewise

* include/*.hrl: Place for all ejabberd header files (EJAB-696)
* src/*/*.erl: Update references to header files
* src/*/Makefile.in: Include the include/ dir

SVN Revision: 1441
2008-07-13 19:10:01 +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
Badlop 04aec272db * src/odbc/ejabberd_odbc.erl: Start ODBC explicitely because
Erlang R12 doesn't start automatically like in R11 and
older (thanks to Sergei Golovan)(EJAB-541)

SVN Revision: 1231
2008-03-13 14:34:47 +00:00
Christophe Romain 9466b1a21f add pgsql driver monitoring
SVN Revision: 1200
2008-02-19 17:06:49 +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
Badlop 80b7abd8c8 * src/ejabberd_zlib/Makefile.win32: Compile
all erl files found in the directory, so it isn't needed to provide
an explicit list of target files
* src/eldap/Makefile.win32: Likewise
* src/mod_irc/Makefile.win32: Likewise
* src/mod_muc/Makefile.win32: Likewise
* src/mod_proxy65/Makefile.win32: Likewise
* src/mod_pubsub/Makefile.win32: Likewise
* src/odbc/Makefile.win32: Likewise
* src/stringprep/Makefile.win32: Likewise
* src/tls/Makefile.win32: Likewise
* src/web/Makefile.win32: Likewise

SVN Revision: 1076
2007-12-17 22:23:56 +00:00
Badlop 60f8b0772e * src/ejabberd_zlib/Makefile.in: Compile all erl files found in
the directory, so it isn't needed to provide an explicit list of
target files
* src/eldap/Makefile.in: Likewise
* src/mod_irc/Makefile.in: Likewise
* src/mod_muc/Makefile.in: Likewise
* src/mod_proxy65/Makefile.in: Likewise
* src/mod_pubsub/Makefile.in: Likewise
* src/odbc/Makefile.in: Likewise
* src/pam/Makefile.in: Likewise
* src/stringprep/Makefile.in: Likewise
* src/tls/Makefile.in: Likewise
* src/web/Makefile.in: Likewise

SVN Revision: 1075
2007-12-17 18:59:51 +00:00