Copying files from deps/*/priv/*.so to the ejabberd priv/
is not possible when running ejabberd as OTP release or in a container.
Instead, let's copy the deps/*/priv/*.so maintaining the file structure,
and then using code:add_pathz for those dirs.
This partially reverts 5c1b72853f
- check that server_host column does not already exist before addding it
and making other changes to table (update_sql becomes idempotent,
yay!)
- check that indexes exist before dropping them (some are historical and
are not created in more recent deployments), elminating spurious
errors from logs
- update new_sql_schema config after migration, to allow near
zero-downtime migrations (and help with automated testing)
Support 'sql_ssl' option for MS SQL - set Encryption=required and
Encrypt=yes in ODBC connection string to require SSL using default
FreeTDS driver and Microsoft ODBC Driver for SQL Server repectively.
Allow setting full ODBC connection string in 'sql_server' for MS SQL,
allowing custom connection configuration beyond what is possible with
just 'sql_odbc_driver' option.
For columns are already included in a compound index there is no
benefit to having a separate index with a subset of the same columns in
the same order, it just wastes space.
'The ORDER BY clause is invalid in views, inline functions, derived
tables, subqueries, and common table expressions, unless TOP, OFFSET
or FOR XML is also specified.'
Omit the ORDER BY clause from subquery if the SELECT is not constrained
by TOP.
* Add missing 'mix' tables and indexes
* Fix text vs varchar issues
Various tests triggered this error:
The data types text and varchar are incompatible in the equal to operator.
Caused by incompatible 'text' columns in muc_online_room,
muc_online_users, pubsub_node_option, and pubsub_node tables.
* Fix definition of mqtt_pub table
This table incorrectly included 'server_host' column in old schema, and
had other inconsistencies.
ECMA-48 SGR sequence ESC [21m is actually 'set double underline' but was
incorrectly implemented as 'set normal intensity' in Linux prior to
4.17.
The correct sequence for 'set normal intensity' is ESC [22m, which fixes
output formatting of 'ejabberdctl' and 'ejabberdctl help' on macos.
But use old jose 1.11.1 on Erlang/OTP older than 21
Erlang older than 21 does not support
try catch _Class:_Reason:_Stacktrace ->
that is used in jose_server.erl