Similar to commit c798961f211cd4435087bd4e005e9b89f3ec325d.
The CMP0026 policy causes the build to fail on CMake 2.8.12 and it isn't critical
to the functionality of the library.
Some additions to config.cc will require a recent version of PCRE2.
The system libraries may not be up to date. The pcre2 source is
bundled with MaxScale anyway, so using it is a simple way of controlling
the library version.
Explicitly specify the library location for the configure script. This
should prevent problems with different library paths that the configure
script can generate.
Moved distribution specific commands to a new quickstart section, added a
copy-and-paste section for the generic commands. This should make it easier
to do a generic installation of MaxScale on a supported system.
A quoted string is a string enclosed in '"':s. This makes it clear
where the string begins and ends, avoiding ambiguity with whitespace.
After the config file has been loaded, the '"':s at the beginning
and at the end of the string are erased. Querying the config value
with config_get_string() will return this de-quoted value.
For example, if the config file reads 'my_string="test""', the actual
string will be 'test"'.
Files are saved in GTID repo at creation time: this allows to show
files without transactions via SHOW [FULL] BINARY LOGS
The FULL keywords add domain_id and server id to the output as file
prefix: 0/10122/mysql-bin.000080
The /maxscale/ resource now supports PUT requests which modify core
parameters. As not all parameters can be changed at runtime, only
modifications to parameters that support runtime configuration are
allowed.
A set of the core MaxScale parameters can now be altered at runtime. This
set consists of the authentication timeouts and the admin interface
authentication. Other parameters either can't be modified due to internal
limitations or aren't sensible to modify at runtime.
The /users/ resource shows all user accounts that can be used with
MaxScale. This resource is further split into two resource collections,
/users/inet and /users/unix, which contain the network users and Linux
accounts respectively.
The REST API now uses the same users as MaxAdmin network interface. This
allows them to be created with MaxAdmin.
The next step is to add user creation to the REST API.
The runtime error buffer is now a thread-local buffer. This fixes the
build failure on older systems where the compiler doesn't allow
thread-local non-POD objects to be created.
Also expanded some of the JSON validation functions so that they provide
better errors.