是否可以测试SQLite 3中是否启用了加载扩展?

时间:2012-09-14 12:46:55

标签: sqlite

是否可以从C接口测试SQLite 3中的extension loading is enabled或使用SQL而不实际尝试加载扩展?

1 个答案:

答案 0 :(得分:5)

您可以使用此查询来检查默认情况下是否已启用

SELECT sqlite_compileoption_used('ENABLE_LOAD_EXTENSION');

但只有当您知道sqlite3_enable_load_extension从未被调用时,这才适合您。

无法访问内部SQLITE_LoadExtension标志;只有在SQLite实际尝试加载扩展时才会读取它。

您可以尝试加载已知无效的扩展程序,例如load_extension('/dev/null')。如果禁用了扩展加载,则错误消息将为not authorized,而不是file too short