sample_open_database
此函数提供了一种简便的方法,只需指定参数值即可创建内存中的数据库或持久数据库。
在内部,该函数调用 sample_load_database()
函数来完成工作。
MCO_RET sample_open_database(
/*IN*/ const char * db_name,
/*IN*/ mco_dictionary_h dict,
/*IN*/ mco_size_t db_sz,
/*IN*/ mco_size_t cache_sz,
/*IN*/ uint2 mem_pg_sz,
/*IN*/ uint2 pstorage_pg_sz,
/*IN*/ uint2 max_conn_no,
/*IN*/ sample_memory_t * pdev
)
参数
db_name
const char *
数据库名称。
dict
mco_dictionary_h
指向编译后的数据库字典的指针(通常是生成的函数 database_name_get_dictionary()
)。
db_sz
mco_size_t
数据库内存部分的内存段大小。
cache_sz
mco_size_t
用于持久存储的缓存段的大小。
mem_pg_sz
uint2
内存页的大小。
pstorage_pg_sz
uint2
持久存储页面的大小。
max_conn_no
uint2
最大连接数。
pdev
sample_memory_t
要初始化的指向 sample_memory_t
结构体的指针:
typedef struct tag_sample_memory {
unsigned int n_dev;
mco_device_t dev[4];
} sample_memory_t;
返回
MCO_S_OK
已成功创建数据库。
MCO_E_ILLEGAL_PARAM
指定的参数不一致或无效。
示例
#include <common.h>
#include <simpledb.h>
const char * db_name = "simpledb";
...
int main(int argc, char* argv[])
{
MCO_RET rc;
sample_memory_t dbmem;
mco_runtime_start();
rc = sample_open_database( db_name, simpledb_get_dictionary(), DATABASE_SIZE, CACHE_SIZE,
MEMORY_PAGE_SIZE, PSTORAGE_PAGE_SIZE, 1, &dbmem );
...
}