MCPcopy
hub / github.com/wal-g/wal-g / DeleteBeforeTargetWhere

Method DeleteBeforeTargetWhere

internal/delete_handler.go:368–383  ·  view source on GitHub ↗
(
	target BackupObject,
	confirmed bool,
	objSelector func(object storage.Object) bool,
	folderFilter func(name string) bool,
)

Source from the content-addressed store, hash-verified

366}
367
368func (h *DeleteHandler) DeleteBeforeTargetWhere(
369 target BackupObject,
370 confirmed bool,
371 objSelector func(object storage.Object) bool,
372 folderFilter func(name string) bool,
373) error {
374 if !target.IsFullBackup() {
375 errorMessage := "%v is incremental and it's predecessors cannot be deleted. Consider FIND_FULL option."
376 return utility.NewForbiddenActionError(fmt.Sprintf(errorMessage, target.GetName()))
377 }
378 tracelog.InfoLogger.Println("Start delete")
379
380 return DeleteObjectsWhere(h.Folder, confirmed, func(object storage.Object) bool {
381 return objSelector(object) && h.less(object, target) && !h.isPermanent(object)
382 }, folderFilter)
383}
384
385func (h *DeleteHandler) DeleteTarget(target BackupObject, confirmed, findFull bool,
386 folderFilter func(name string) bool) error {

Callers 5

DeleteBeforeTargetMethod · 0.95
HandleDeleteGarbageMethod · 0.95
DeleteBeforeTargetMethod · 0.95
HandleDeleteGarbageMethod · 0.95
DeleteMethod · 0.80

Calls 5

NewForbiddenActionErrorFunction · 0.92
DeleteObjectsWhereFunction · 0.85
PrintlnMethod · 0.80
IsFullBackupMethod · 0.65
GetNameMethod · 0.65

Tested by

no test coverage detected