Right now all names are supported, the previous (obsolete)
and the renamed (preferred). The changes relevant to the usage are:
When preparing configuration, the arguments:
./configure --enable-new-sql-schema
./configure --enable-multihost-sql-schema
When configuring ejabberd, the toplevel options:
new_sql_schema: true
sql_schema_multihost: true
When developing source code, the functions:
ejabberd_sql:use_new_schema()
ejabberd_sql:use_multihost_schema()
This adds option 'auth_stored_password_types' that can be used to setup
storage of multiple passwords for each user. When this is set, on each
password set, database will now store password in each format specified.
Since recently, this test fails with Erlang/OTP 22 and lower:
=result failed:
{test_case_failed,
"Received input:
[{error,{compilation_failed,
\"/home/runner/.ejabberd-modules/sources/ejabberd-contrib/mod_example/src/mod_example.erl\"}}]
don't match expected patterns:ok"},
Enable some modules so ejabberd creates their SQL tables
and later those tables can be updated without errors by mod_admin_update_sql
when ci.yml calls "make test" to check update_sql.
However, mod_shared_roster should be stopped before running the actual tests,
as it introduces undesired IQ queries
On the other hand, a few SQL tables are global RAM, and cannot be created
in SQL just for a vhost that is not the first one defined.
Commands accept as argument: user, host, room, service
and return as result JIDs
Commands that change in API v3:
get_room_affiliations
muc_register_nick
muc_unregister_nick
set_room_affiliation
status_list
status_list_host
subscribe_room
subscribe_room_many
unsubscribe_room
Only mod_http_api is tested right now; support to test also
ejabberdctl, ejabberd_xmlrpc and web_admin would be great.
This uses mod_example from ejabberd-contrib
How to run only those tests:
CT_BACKENDS=no_db rebar3 ct --suite=test/ejabberd_SUITE --group=commands_single
Because a group may be started but the tables are not yet created,
as they are created automatically when update_sql_schema is enabled.
This modifies commit e2b79ea