As described in xSQL Startup Options, a variety of configuration parameters control the behavior of xSQL. These parameters are specified in a configuration file that uses a JSON-like syntax with the following extensions:
1. Numeric literals may be hexadecimal (
0x[0-9A-F]), octal (0[0-7]), or decimal.2. Suffixes
k/K(kilo),m/M(mega), andg/G(giga) are supported. or example,100mmeans100 x 1024 x 1024.3. String values without whitespace or special characters do not require quotes.
4. Anything after a hash symbol (
#) is treated as a comment (until the end of the line).By default, xSQL looks for a file named
xsql.cfgin the current working directory. This can be overridden using the-ccommand-line option.If a parameter represents a bitwise combination of flags, it can be specified either as a single value or as an array:
a)
"flags : value1"→flags = value1b)
"flags : [value1, value2, value3]"→flags = value1 | value2 | value3c)
"flags : []"→flags = 0The following table lists the top-level sections of the configuration file and their corresponding C API structures. Click the links for detailed descriptions:
Runtime configuration — specifies which libraries are loaded at startup.Global eXtremeDB runtime options (mapped tomco_runtime_setoption()).Array of device descriptors (mco_device_t) and shortcut parameters.Database schema definition (inline DDL).Database parameters (mco_db_params_t).Settings that affect SQL engine behavior (e.g., port, trace, statement execution).Transaction Logging parameters (mco_TL_start_data_t).High Availability parameters (mco_HA_master_params_tandmco_HA_replica_params_t).Cluster configuration (mco_cluster_params_t).Active replication parameters.OpenSSL configuration (mco_ssl_params_t).Performance Monitor settings (enables runtime metric collection in xSQL).Embedded REST server configuration — exposes the Web Services REST API.Statistics logging parameters.Tracing Framework settings.Additional settings affecting eXtremeDB runtime behavior.Asynchronous I/O and multi-file storage format options.
Note: In general, configuration file sections map directly to C API structures used by functions such as:
mco_db_open_dev(),
mco_cluster_db_open(),
mco_HA_attach_master(), and
mco_HA_attach_replica().
For example:
devices section corresponds to the mco_device_t array passed to mco_db_open_dev().db_params section maps to the mco_db_params_t structure.cluster_params section reflects mco_cluster_params_t.Note: Command-line options take precedence over configuration file settings. If a parameter is specified both in the file and on the command line, the command-line value will be used.