# The Java Embedded Database Class RuntimeInfo

RuntimeInfo provides access to the eXtremeDB database runtime settings.

### For an overview see page Java Database Class

### Class Definition

        public static class RuntimeInfo
        {
            public byte    mco_version_major;
            public byte    mco_version_minor;
            public short   mco_build_number;
            public byte    mco_size_t;
            public byte    mco_offs_t;
            public boolean uint4_supported;
            public boolean float_supported;
            public byte    mco_checklevel;
            public boolean evaluation_version;
            public boolean large_database_supported;
            public boolean collation_supported;
            public boolean heap31_supported;
            public boolean bin_serialization_supported;
            public boolean fixedrec_supported;
            public boolean statistics_supported;
            public boolean events_supported;
            public boolean save_load_supported;
            public boolean object_initialization_supported;
            public boolean direct_index_field_access_supported;
            public boolean multiprocess_access_supported;
            public boolean object_repack_supported;
            public boolean transaction_logging_supported;
            public boolean cluster_supported;
            public boolean high_availability_supported;
            public boolean ha_multicast_supported;
            public boolean ha_incremental_replication_supported;
            public boolean binary_schema_evalution_supported;
            public boolean unicode_supported;
            public boolean wchar_supported;
            public boolean recovery_supported;
            public boolean disk_supported;
            public boolean direct_pointers_supported;
            public boolean persistent_object_supported;
            public boolean xml_import_export_supported;
            public boolean user_defined_index_supported;
            public boolean multifile_supported;
            public boolean multifile_descriptor_supported;
            public boolean two_phase_commit_supported;
            public boolean rtree_supported;
            public boolean tree_based_hash;
            public boolean tmgr_mvcc_async_cleanup;
            public boolean concurent_disk_btree;
            public boolean open_cursor_goto_first;
            public boolean smart_index_insert;
            public boolean btree_leaf_lock;
            public boolean null_statistics;
            public boolean implicit_runtime_start;
            public boolean bufferized_sync_iostream;
            public boolean async_replication;
            public boolean fast_transaction_list;
            public boolean extendable_dirty_page_bitmap;
            public byte    mursiw_policy;
            public byte    sync_capabilities;
            public byte    char_comparison_policy;
            public long    stream_buffer_size;
            public byte    max_db_instances;
            public byte    max_db_name_length;
            public byte    max_extends;
            public long    tl_page_buffer_size;
            public short   ha_max_replicas;
            public long    ha_transmit_buffer_size;
            public long    ha_syncronization_buffer_size;
            public long    default_redo_log_limit;
            public byte    mvcc_critical_sections;
            public byte    mvcc_per_index_locks;
            public short   con_disk_page_cache_size;
            public byte    small_con_cache_threshold;
            public long    extendable_dirty_page_bitmap_limit;
            public byte    max_vista_sessions;
            public byte    concurrent_write_transactions;
            public byte    encryption_support;
            public boolean backup_support;
            public String  mco_revision;
            public byte    mco_process_t;
        };

### Definitions:

`mco_version_major` | The eXtremeDB major version number
`mco_version_minor` | The eXtremeDB minor version number
`mco_build_number` | The eXtremeDB build number
`mco_size_t` | Sizeof `mco_size_t` variable, depends on x32/x64 architecture
`mco_offs_t` | Sizeof `mco_offs_t` variable, depends on x32/x64 architecture
`uint4_supported` | If `True,` `uint4` data type supported
`float_supported` | If `True,` `double`/`float` data type supported
`mco_checklevel` | The runtime's checklevel, 0 for non-debug libraries
`evaluation_version` | If `True` this is an eXtremeDB evaluation package
`large_database_supported` | If `True,` large database supported (>4G) for x32 runtime mode
`collation_supported` | If `True,` external collations (index comparison) supported
`heap31_supported` | If `True,`eXtremeDB v3.1 application level heap feature supported
`bin_serialization_supported` | If `True,` Binary or XML serialization supported
`fixedrec_supported` | `If `True,`FIXEDREC` alloations for constant-size objects supported
`statistics_supported` | If `True,`Statistic collection enabled
`events_supported` | If `True,`Synch/Asynch events supported
`save_load_supported` | If `True`, the Connection methods `saveSnapshot()`, `saveClass()` and `loadClass()` are supported
`object_initialization_supported` | If `True,` new object fields initialization (instead of zeros) supported
`direct_index_field_access_supported` | If `True,` use values of indexed fields from the indexes instead of object bodies optimization (persistent objects)
`multiprocess_access_supported` | Conventional or shared memory driver linked into the program
`object_repack_supported` | Support of dynamic object repack feature. Obsolete. Left for compatibility
`transaction_logging_supported` | If `True,` eXtremeDB Transaction Logging is enabled
`cluster_supported` | If `True,` eXtremeDB Cluster is enabled
`high_availability_supporte` | If `True,` eXtremeDB High Availability is enabled
`ha_multicast_supported` | If `True,` eXtremeDB High Availability multicast communication is enabled
`ha_incremental_replication_supported` | If `True,` eXtremeDB High Availability incremental replication is enabled
`binary_schema_evalution_supported` | If `True`, Binary Schema Evolution is enabled
`unicode_supported` | If `True,` Unicode (`nchar` / `nstring` data type) supported
`wchar_supported` | If `True,` WChar (`wchar` / `wstring` datatype) supported. Required C/C++ runtime
`recovery_supported` | Recovery support. Obsolete, left for compatibility
`disk_supported` | If `True,` persistent objects (`vtmem` / `vtdsk` runtime) supported
`direct_pointers_supported` | If `True,` direct- or offset-based pointers in the database (`DPTR` / `OFFS` runtime) supported
`persistent_object_supported` | If `True,` object persistence supported (Allows persistent objects in IM-OFFS runtime)
`xml_import_export_supported` | If `True,` XML database export / import supported
`user_defined_index_supported` | If `True,` user-defined index (comparison) supported
`multifile_supported` | If `True,` multi-file persistent storage supported
`multifile_descriptor_supported` | If `True,` multi-file descriptor file (mfd-file) supported for multi-file persistent storage feature
`two_phase_commit_supported` | If `True,` two-phase commit supported
`rtree_supported` | If `True,` include `rtree` index implementation code into runtime
`tree_based_hash` | `If `True,` tree`-based hash implementation (for internal debugging) supported
`tmgr_mvcc_async_cleanup` | Value of 1 indicates “delayed cleanup of unneeded object versions”; value of 0 means cleanup immediately (represents the status of `MCO_CFG_TMGR_MVCC_ASYNC_CLEANUP` in file `mcocfg.h`)
`concurent_disk_btree` | Always on, obsolete, left for compatibility
`open_cursor_goto_first` | Indicates initial positioning of new cursors to the first element
`smart_index_insert` | Pre-sort data records in a `voluntaty index` creation procedure
`btree_leaf_lock` | Fine-grain locking of `tree` indexes
`null_statistics` | Always on, obsolete, left for compatibility
`implicit_runtime_start` | Always on, obsolete, left for compatibility
`bufferized_sync_iostream` | Indicates that HA transmission buffer-ization is enabled for synchronization procedure
`async_replication` | Asynchronous HA replication enabled
`fast_transaction_list` | Indicates `tree` index in transaction list implementation enabled (MURSIW)
`extendable_dirty_page_bitmap` | Persistent storage's dirty pages map extends
`mursiw_policy` | `MURSIW` TM behavior: 0 - Priority-based transaction queue, 1 - Sequential transaction queue, 2 - Global sync, 3 - RW-Lock
`sync_capabilities` | Synchronization primitives implementation capabilities, bit mask: 1 - single-process, 2 - multi-process capable primitives
`char_comparison_policy` | Compare chars as: 0 - Default, 1 - as signed, 2 - as unsigned
`stream_buffer_size` | Size of buffer used in streaming code in HA / CL / TL etc. (Also for Stream Reader and Stream Writer functions.)
`max_db_instances` | Max. number of database instances supported by the runtime
`max_db_name_length` | Max. length of a database name supported by the runtime
`max_extends` | Max. number of extends of database memory area
`tl_page_buffer_size` | Size of internal buffers that TL operates
`ha_max_replicas` | Max. number of HA replicas at a time
`ha_transmit_buffer_size` | Size of buffer used in HA to send data from commit, default is 2K
`ha_syncronization_buffer_size` | HA synchronization stream IO buffer size, default is 2K
`default_redo_log_limit` | Default size of `REDO` log length limit, default is 16M
`mvcc_critical_sections` | Number of critical sections used by MVCC, it is better to be a prime number
`mvcc_per_index_locks` | Number of locks used by index, it is better to be a prime number
`con_disk_page_cache_size` | Size of per-connection page cache. The runtime pre-allocates some pages to speedup page allocation when needed
`small_con_cache_threshold` | Use hashed per-connection cache if the `con_disk_page_cache_size > small_con_cache_threshold`; use an array otherwise
`extendable_dirty_page_bitmap_limit` | Max bitmap size if extendable dirty page bitmap enabled
`max_vista_sessions` | Max number of Vista sessions (windows vista only)
`concurrent_write_transactions` | Does current Transaction Manager support concurrent write transactions or not
`encryption_support` | The number identifier of the currently supported encryption algorithm: specified in mco.h:
      #define MCO_CFG_NO_ENCRYPTION      0
      #define MCO_CFG_RC4_OLD_ENCRYPTION 1
      #define MCO_CFG_RC4_ENCRYPTION     2
      #define MCO_CFG_AES_ENCRYPTION     3
(Note that the value `MCO_CFG_RC4_OLD_ENCRYPTION` indicates "RC4 encryption without page offset as salt: for backward compatibility only")
`backup_support` | If `True,` the Incremental Backup feature is supported
`mco_revision` | The eXtremeDB revision number
`mco_process_t` | The value `sizeof(mco_process_t)` - the size of the process identifier data type in bytes (This data type is usually utilized as a context in a database connection which in turn is used in sniffer functionality)