Merge pull request #1068 from daaku/c-purge-old-backups
rocksdb_backup_engine_purge_old_backups for C libraries
This commit is contained in:
parent
b54c347424
commit
99a3bf8f62
6
db/c.cc
6
db/c.cc
@ -446,6 +446,12 @@ void rocksdb_backup_engine_create_new_backup(rocksdb_backup_engine_t* be,
|
|||||||
SaveError(errptr, be->rep->CreateNewBackup(db->rep));
|
SaveError(errptr, be->rep->CreateNewBackup(db->rep));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void rocksdb_backup_engine_purge_old_backups(rocksdb_backup_engine_t* be,
|
||||||
|
uint32_t num_backups_to_keep,
|
||||||
|
char** errptr) {
|
||||||
|
SaveError(errptr, be->rep->PurgeOldBackups(num_backups_to_keep));
|
||||||
|
}
|
||||||
|
|
||||||
rocksdb_restore_options_t* rocksdb_restore_options_create() {
|
rocksdb_restore_options_t* rocksdb_restore_options_create() {
|
||||||
return new rocksdb_restore_options_t;
|
return new rocksdb_restore_options_t;
|
||||||
}
|
}
|
||||||
|
18
db/c_test.c
18
db/c_test.c
@ -365,6 +365,24 @@ int main(int argc, char** argv) {
|
|||||||
rocksdb_backup_engine_create_new_backup(be, db, &err);
|
rocksdb_backup_engine_create_new_backup(be, db, &err);
|
||||||
CheckNoError(err);
|
CheckNoError(err);
|
||||||
|
|
||||||
|
// need a change to trigger a new backup
|
||||||
|
rocksdb_delete(db, woptions, "does-not-exist", 14, &err);
|
||||||
|
CheckNoError(err);
|
||||||
|
|
||||||
|
rocksdb_backup_engine_create_new_backup(be, db, &err);
|
||||||
|
CheckNoError(err);
|
||||||
|
|
||||||
|
const rocksdb_backup_engine_info_t* bei = rocksdb_backup_engine_get_backup_info(be);
|
||||||
|
CheckCondition(rocksdb_backup_engine_info_count(bei) > 1);
|
||||||
|
rocksdb_backup_engine_info_destroy(bei);
|
||||||
|
|
||||||
|
rocksdb_backup_engine_purge_old_backups(be, 1, &err);
|
||||||
|
CheckNoError(err);
|
||||||
|
|
||||||
|
bei = rocksdb_backup_engine_get_backup_info(be);
|
||||||
|
CheckCondition(rocksdb_backup_engine_info_count(bei) == 1);
|
||||||
|
rocksdb_backup_engine_info_destroy(bei);
|
||||||
|
|
||||||
rocksdb_delete(db, woptions, "foo", 3, &err);
|
rocksdb_delete(db, woptions, "foo", 3, &err);
|
||||||
CheckNoError(err);
|
CheckNoError(err);
|
||||||
|
|
||||||
|
@ -121,6 +121,9 @@ extern ROCKSDB_LIBRARY_API rocksdb_backup_engine_t* rocksdb_backup_engine_open(
|
|||||||
extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_create_new_backup(
|
extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_create_new_backup(
|
||||||
rocksdb_backup_engine_t* be, rocksdb_t* db, char** errptr);
|
rocksdb_backup_engine_t* be, rocksdb_t* db, char** errptr);
|
||||||
|
|
||||||
|
extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_purge_old_backups(
|
||||||
|
rocksdb_backup_engine_t* be, uint32_t num_backups_to_keep, char** errptr);
|
||||||
|
|
||||||
extern ROCKSDB_LIBRARY_API rocksdb_restore_options_t*
|
extern ROCKSDB_LIBRARY_API rocksdb_restore_options_t*
|
||||||
rocksdb_restore_options_create();
|
rocksdb_restore_options_create();
|
||||||
extern ROCKSDB_LIBRARY_API void rocksdb_restore_options_destroy(
|
extern ROCKSDB_LIBRARY_API void rocksdb_restore_options_destroy(
|
||||||
|
Loading…
Reference in New Issue
Block a user