是否有可能测试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
。
其实我想精确测试'sqlite3_enable_load_extension' _is_叫:) –