HomePhabricator

Implement SQLiteDatabase::Rewrite

Description

Implement SQLiteDatabase::Rewrite

Summary:
Rewrite uses the VACUUM command which does exactly what we want. A
specific advertised use case is to compact a database and ensure that
any deleted data is actually deleted.

This is a backport of core#19077 [15/26]
https://github.com/bitcoin/bitcoin/pull/19077/commits/010e3659069e6f97dd7b24483f50ed71042b84b0

Depends on D10562

Test Plan:
With clang-tidy
ninja

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D10563

Details

Provenance
Andrew Chow <achow101-github@achow101.com>Authored on May 27 2020, 00:53
PiRKCommitted on Dec 6 2021, 08:24
PiRKPushed on Dec 6 2021, 08:24
Reviewer
Restricted Project
Differential Revision
D10563: Implement SQLiteDatabase::Rewrite
Parents
rABC27c1c3ad1fe0: Implement SQLiteDatabase::TxnBegin, TxnCommit, and TxnAbort
Branches
Unknown
Tags
Unknown

Event Timeline