Dynamically load the specified libraries and start the database runtime.
MCO_RET mco_runtime_start_ex(mco_bool disk,
mco_bool mvcc,
mco_bool shmem,
const char *sync_library,
const char *memory_library,
const char *runtime_path);
|
disk |
Set |
| mvcc | Set true to dynamically load the MVCC transaction manager library; otherwise load the MURSIW library |
| shmem | Set true to dynamically load the shared memory library; otherwise load the conventional memory library |
| sync_library | If non null, load the synchronization library from the specified file and path |
| memory_library | If non null, load the memory library from the specified file and path |
| runtime_path | If non null, load the runtime library from the specified file and path |
This function calls
mco_core_load()to load the appropriate dynamic libraries according to the specified parameters. Then it starts the eXtremeDB runtime with the same operations asmco_runtime_start().
| MCO_S_OK | The database was created successfully |
| MCO_E_SHM_ERROR | Failed to allocate shared memory. (If using a shared memory database.) |
The following code snippet would dynamically load the disk manager, the MURSIW transaction manager, and conventional memory libraries:
Application snippet:
int main(int argc, char* argv[])
{
mco_db_h db;
MCO_RET rc;
mco_device_t dev;
mco_db_params_t db_params;
if( (rc = mco_runtime_start_ex(true, false, false, null, null, null)) != MCO_S_OK)
exit(-1);
...
mco_runtime_stop();
}