SQLite:如何完全清除共享缓存?

时间:2017-08-17 16:27:27

标签: sqlite

我正在尝试在我正在开发的SQLite实现中启用共享缓存。在实际的应用程序中一切正常,但我的单元测试现在失败了" disk I/O error" s。我假设这是因为共享缓存正在假设该文件一旦被删除就不再有效。

如何清除此共享缓存数据?我已尝试运行sqlite3_shutdown(),然后sqlite3_initialize(),但问题仍然存在。

1 个答案:

答案 0 :(得分:0)

我实际上发现我的一些测试没有正确关闭连接,并且 是我问题的根源 - 共享缓存只是突出显示它(虽然我不是100肯定为什么)。

那就是说,在我的旅程中,我确实找到了一种方法来控制SQLite放置临时文件的位置。 sqlite3_temp_directory全局变量允许你定义它 - 默认情况下,它是空白的,我认为是操作系统。

如果您设置了该目录,则可以随时手动清除所有文件。