BoxStoreBuilder.usePreviousCommit 如何在内部运作?
how BoxStoreBuilder.usePreviousCommit works internally?
我将我的 android 应用程序从 mapdb 转换为 objectbox,我在 github 上看到一些人报告 objectbox 数据库损坏,解决方案一直是在出现问题时调用 usePreviousCommit .
由于 objectbox 核心是闭源的,我想知道 usePreviousCommit 在内部做了什么
数据库有2个物理副本吗?并调用 usePreviousCommit 恢复到之前的副本?
还是它以更复杂的方式工作? (如果是,我想知道怎么做)
我打开这个问题是因为在我继续在生产中使用它之前我想从 objectbox 获得更多信息。
关键字是multiversion-concurrency。想一想具有写时复制功能的 B+ 树。之前的根树(又名之前的提交)被保留下来,所以你可以在打开时使用。
我将我的 android 应用程序从 mapdb 转换为 objectbox,我在 github 上看到一些人报告 objectbox 数据库损坏,解决方案一直是在出现问题时调用 usePreviousCommit .
由于 objectbox 核心是闭源的,我想知道 usePreviousCommit 在内部做了什么
数据库有2个物理副本吗?并调用 usePreviousCommit 恢复到之前的副本?
还是它以更复杂的方式工作? (如果是,我想知道怎么做)
我打开这个问题是因为在我继续在生产中使用它之前我想从 objectbox 获得更多信息。
关键字是multiversion-concurrency。想一想具有写时复制功能的 B+ 树。之前的根树(又名之前的提交)被保留下来,所以你可以在打开时使用。