我正在尝试在我正在开发的SQLite实现中启用共享缓存。在实际的应用程序中一切正常,但我的单元测试现在失败了" disk I/O error
" s。我假设这是因为共享缓存正在假设该文件一旦被删除就不再有效。
如何清除此共享缓存数据?我已尝试运行sqlite3_shutdown()
,然后sqlite3_initialize()
,但问题仍然存在。
答案 0 :(得分:0)
我实际上发现我的一些测试没有正确关闭连接,并且 是我问题的根源 - 共享缓存只是突出显示它(虽然我不是100肯定为什么)。
那就是说,在我的旅程中,我确实找到了一种方法来控制SQLite放置临时文件的位置。 sqlite3_temp_directory
全局变量允许你定义它 - 默认情况下,它是空白的,我认为是操作系统。
如果您设置了该目录,则可以随时手动清除所有文件。