是否有可能测试SQLite 3中是否启用加载扩展?

问题描述:

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

您可以使用此查询,以检查是否扩展加载默认情况下启用

SELECT sqlite_compileoption_used('ENABLE_LOAD_EXTENSION'); 

但是,这对你的作品只有当你知道sqlite3_enable_load_extension不会被调用。

内部SQLITE_LoadExtension标志不可访问;它只在SQLite实际上试图加载扩展时才被读取。

你可以做的是尝试加载已知无效的扩展名,如load_extension('/dev/null')。如果扩展装载被禁用,错误信息将not authorized,而不是像file too short

+0

其实我想精确测试'sqlite3_enable_load_extension' _is_叫:) –