xSQL Runtime Configuration Options

The xSQL configuration file can be used to define a number of runtime configuration parameters that determine what eXtremeDB libraries are loaded at startup.

For an overview see page Configuration File Parameters

Parameters are specified by name:value pairs enclosed within braces. For example:

 
    runtime_configuration : {
        debug_library : false,
        disk_support : false,
        shared_memory : false,
        transaction_manager : mursiw
    },
     
    ... 
     

The following tables define the possible options for the runtime_configuration section:

Option name : example value Comment
debug_library : false, Use debug libraries, boolean. Default value false
disk_support : true, Disk database support, boolean. Default value false
shared_memory : false, Use shared memory, boolean. default value false
rle_sequences : true,

Enable/Disable RLE-based compression for sequences.

(Note that this does not work for Windows and AIX yet (April 2017) as these OSes require building another set of wrapper libraries .)

transaction_manager : mvcc, Transaction manager, mursiw or mvcc. Default value mursiw
sync_library : mcoslnxp,

Synchronization: (for Linux, Solaris or HPUX only) :

For Linux:

  • mcoslnx (atomics + SysV semaphores),
  • mcoslnxs5 (pure SysV semaphores),
  • mcoslnxp (PThread semaphores),

Only mcoslnxp can be used with conventional memory, but all are suitable for shared memory. Default value for shared-memory is mcoslnx

For Solaris: only mcossun

For HPUX: only mcoshpuxp

fs_library : mcofuni, File system: All Unix’s support mcofu98 (default), mcofuni and mcofu98zip. Additionally Linux supports mcofu98ziplog
mem_library : mcompsx Memory manager: For conventional memory all Unix’s support only mcomconv. For shared memory, all Unix’s support mcomipc (default) and Linux also supports mcompsx

 

A note about Synchronization, File System and Memory Management Libraries

It is possible to configure specific libraries to manage low level system functions such as synchronization (system semaphores), file system (persistent media layers) and memory (shared memory access). However, these options make sense only for systems where it's possible to load eXtremeDB libraries individually. Currently this is supported for Linux, Solaris and HPUX operating systems. Windows and AIX use monolithic libraries and thus don't support changing syncmem or fs libraries at runtime.

For supported platforms, the possible options are indicated in the comments for sync_library, mem_library and fs_library in the runtime_configuration section. (Note that the value for each parameter is the name of the library to be used, without the lib prefix and _debug or .so suffixes.)