%SQLITE_DBCONFIG_LOOKASIDE = 1001 ' /* void* int int */
%SQLITE_DBCONFIG_ENABLE_FKEY = 1002 ' /* int int* */
%SQLITE_DBCONFIG_ENABLE_TRIGGER = 1003 ' /* int int* */
这些常量是可用的整数配置选项,可以作为第二个参数传递给sqlite3_db_config接口。
在未来的SQLite版本中可能会添加新的配置选项。现有配置选项可能会停止。应用程序应检查sqlite3_db_config中的返回代码,以确保该呼叫有效。如果调用停用或不支持的配置选项,sqlite3_db_config界面将返回非零错误代码。
SQLITE_DBCONFIG_LOOKASIDE
此选项需要三个额外的参数来确定数据库连接的后备内存分配器配置。第一个参数(sqlite3_db_config的第三个参数)是指向用于后备存储器的内存缓冲区的指针。SQLITE_DBCONFIG_LOOKASIDE动词之后的第一个参数可能为NULL,在这种情况下,SQLite将使用sqlite3_malloc分配后备缓冲区本身。第二个参数是每个后备缓冲槽的大小。第三个参数是插槽的数量。第一个参数中缓冲区的大小必须大于或等于第二个和第三个参数的乘积。缓冲区必须与8字节边界对齐。如果SQLITE_DBCONFIG_LOOKASIDE的第二个参数不是8的倍数,则它将内部向下舍入到下一个较小的8的倍数。数据库连接的后备存储器配置只有当该连接当前未使用后备存储器时,或换句话说,当sqlite3_db_status(D,SQLITE_CONFIG_LOOKASIDE,...)返回的“当前值”为零时,才能更改。在使用备用内存的任何尝试更改后备存储器配置将使配置不变,并返回SQLITE_BUSY。
SQLITE_DBCONFIG_ENABLE_FKEY
此选项用于启用或禁用强制外键约束。应该有两个额外的论据。第一个参数是一个整数,为0以禁用FK强制,积极地启用FK强制或否定使FK执行不变。第二个参数是指向整数的指针,其中写入0或1,以指示FK执行是关闭还是在此调用之后。第二个参数可以是空指针,在这种情况下,FK执行设置不会被报告回来。
SQLITE_DBCONFIG_ENABLE_TRIGGER
此选项用于启用或禁用触发器。应该有两个额外的论据。第一个参数是一个整数,为0以禁用触发器,肯定启用触发器或负值使设置保持不变。第二个参数是指向整数的指针,其中写入0或1以指示在此调用之后是否禁用或启用触发器。第二个参数可能是一个NULL指针,在这种情况下,触发器设置不会被返回。