If they are defined, they can override table-level settings.
void forgetPartAndMoveToDetached(const DataPartPtr & part, const String & prefix = "", bool restore_covered = false);
    
    void tryRemovePartImmediately(DataPartPtr && part);
    
    
    DataPartsVector grabOldParts(bool force = false);
    
    void rollbackDeletingParts(const DataPartsVector & parts);
    
    void removePartsFinally(const DataPartsVector & parts);
    
    void flushAllInMemoryPartsIfNeeded();
    
    
    size_t clearOldPartsFromFilesystem(bool force = false);
    void clearPartsFromFilesystem(const DataPartsVector & parts);
    
    size_t clearOldWriteAheadLogs();
    
    
    size_t clearOldTemporaryDirectories(size_t custom_directories_lifetime_seconds);
    size_t clearEmptyParts();
    
    
    void dropAllData();
    
    void dropIfEmpty();