默认值
下面的代码片段展示了如何设置 McoSqlOpenParameters 的默认值:
void McoSqlOpenParameters::setDefaultValues()
{
databaseName = NULL;
dictionary = NULL;
mainMemoryDatabaseSize = 0;
mainMemoryDatabaseAddress = MCO_DATABASE_DEFAULT_MAP_ADDRESS;
maxTransactionSize = 0;
maxConnections = 100;
mainMemoryPageSize = 128;
hashLoadFactor = 100;
flags = DEFAULT_OPEN_FLAGS;
modeMask = 0;
savedImage = NULL;
diskDatabaseFile = NULL;
diskDatabaseLogFile = NULL;
diskDatabaseMaxSize = MCO_INFINITE_DATABASE_SIZE;
diskCacheMemoryAddress = 0;
diskCacheSize = 0;
diskPageSize = 4096;
streamReader = NULL;
stream = NULL;
remoteEngine = NULL;
redoLogLimit = MCO_DEFAULT_REDO_LOG_LIMIT;
logType = REDO_LOG;
defaultCommitPolicy = MCO_COMMIT_SYNC_FLUSH;
transSchedPolicy = MCO_SCHED_FIFO;
devices = NULL;
n_devices = 0;
tables = NULL;
n_tables = 0;
maxClasses = 0;
maxIndexes = 0;
maxDictionarySize = 0;
dictionaryFlags = MCO_DICT_FLAGS_USE_AUTOOID | MCO_DICT_FLAGS_PRESERVE_FIELDS_ORDER;
maxTransTime = 0;
maxActivePages = 32;
compressionLevel = -1;
backupMapSize = 0;
backupMinPages = 0;
backupMaxPasses = 10;
backupMapFile = NULL;
}
参数
databaseName
char const*
数据库名称。
dictionary
mco_dictionary_h
数据库字典句柄。
mainMemoryDatabaseSize
size_t
主内存中的数据库大小。
mainMemoryDatabaseAddress
void*
数据库主内存部分的地址。
maxConnections
size_t
数据库的最大连接数。
maxTransactionSize
size_t
事务的最大大小。
mainMemoryPageSize
size_t
数据库主内存部分的页面大小。
hashLoadFactor
uint2
用于确定哈希索引表何时扩展的因素。表示哈希表中已使用项的百分比。请参阅哈希索引。
flags
int
表示数据库打开选项的位掩码。请参阅OpenFlags。
modeMask
int
数据库打开模式标志。这些模式掩码选项在文件 mco.h 中定义。请参阅数据库打开模式。
savedImage
char*
保存的数据库映像(快照)的文件路径和名称。
diskDatabaseFile
char*
数据库持久部分的数据文件名。
diskDatabaseLogFile
char*
数据库持久部分的日志文件名称。
diskDatabaseMaxSize
mco_offs_t
持久数据库所需的最大磁盘空间(参见创建数据库)。
diskCacheMemoryAddress
void*
数据库持久部分的缓存地址。
diskCacheSize
size_t
数据库持久部分的缓存大小。
diskPageSize
int
数据库持久部分的页面大小。
logType
MCO_LOG_TYPE
数据库持久部分的日志记录类型。请参阅设置日志类型。
redoLogLimit
mco_offs_t
REDO日志类型的阈值。请参阅设置日志类型。
defaultCommitPolicy
MCO_COMMIT_POLICY
数据库持久部分的默认事务提交策略。请参阅持久化数据库I/O。
compressionLevel
int
压缩级别:0 =不压缩,1 =启用压缩(默认)
transSchedPolicy
MCO_TRANS_SCHED_POLICY
具有相同优先级的事务的调度策略。请参阅MURSIW事务调度策略。
streamReader
mco_stream_read
加载已保存的数据库图像时的读取回调函数。
stream
void*
加载已保存的数据库映像时用于读取的流。
remoteEngine
McoSql::SqlEngine*
如果不为空,返回 RemoteSqlEngine 对象。
maxTransTime
uint8;
最大交易时间(0 表示禁用)。
maxActivePages
int
当启用加密保护或数据压缩时,SmartEDB 运行时内部使用的页面哈希的最大页面数(默认值为 32)。请参阅数据库加密。
devices
mco_device_t*
为数据库定义的内存设备数组。
n_devices
size_t
阵列设备中的存储设备数量。
tables
McoSql::Table
此数据库中定义的表数组。
n_tables
size_t
数组表中的表数。
optimizerParams
McoSql::SqlOptimizerParameters
如果不为空,返回 SQL optimizer parameters 对象。
maxClasses
size_t
用于为数据库头中的类保留空间,以允许动态模式修改。通常是通过SQL的create table或alter table操作完成的,因此该参数与非SQL应用程序无关。
maxIndexes
size_t
用于为数据库头中的索引保留空间,以允许动态模式修改。通常是通过SQL的create table或alter table操作完成,因此此参数与非SQL应用程序无关。
maxDictionarySize
size_t
用于在数据库头中为字典保留空间,以允许动态模式修改。通常是通过SQL的create table或alter table操作完成的,因此该参数与非SQL应用程序无关。
dictionaryFlags
int
字典选项。MCO_DICT_FLAGS_USE_AUTOOID | MCO_DICT_FLAGS_PRESERVE_FIELDS_ORDER(默认)
。
backupMapSize
size_t
备份计数器数组的大小,以字节为单位,为 2 的幂次方,如果设置了 disk_max_database_size
则忽略此设置(设为零可禁用备份功能)。请参阅增量备份实现。
backupMinPages
unsigned int
备份过程最后一次独占通过的页数(设置为零以禁用阈值)。请参阅增量备份实现。
backupMaxPasses
unsigned int
备份过程独占通过之前的最大通过数。请参阅增量备份实现。
backupMapFile
char*
在调用 mco_db_close()
时,文件名将用于存储备份临时数据。SmartEDB 将使用链接到进程中的文件系统包装器来存储数据。可设置为零以默认为“<持久存储>.bmap
”,从而将文件定位在与持久存储文件相同的位置。请参阅增量备份实现。