aboutsummaryrefslogtreecommitdiffstats
path: root/persistence/src/vespa/persistence/spi/persistenceprovider.h
diff options
context:
space:
mode:
Diffstat (limited to 'persistence/src/vespa/persistence/spi/persistenceprovider.h')
-rw-r--r--persistence/src/vespa/persistence/spi/persistenceprovider.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/persistence/src/vespa/persistence/spi/persistenceprovider.h b/persistence/src/vespa/persistence/spi/persistenceprovider.h
index cb32dc05eec..5fb90046c65 100644
--- a/persistence/src/vespa/persistence/spi/persistenceprovider.h
+++ b/persistence/src/vespa/persistence/spi/persistenceprovider.h
@@ -18,6 +18,7 @@ namespace storage::spi {
class IResourceUsageListener;
struct BucketExecutor;
+struct DocTypeGidAndTimestamp;
/**
* This interface is the basis for a persistence provider in Vespa. A
@@ -173,6 +174,13 @@ struct PersistenceProvider
*/
virtual void removeAsync(const Bucket&, std::vector<IdAndTimestamp> ids, OperationComplete::UP) = 0;
+ /*
+ * Remove documents based on document type and gid and forget about them
+ * (don't keep track of the removed document). This operation is typically
+ * used as part of removing documents in a bucket that will be deleted.
+ */
+ virtual void removeByGidAsync(const Bucket&, std::vector<DocTypeGidAndTimestamp> ids, std::unique_ptr<OperationComplete>) = 0;
+
/**
* @see remove()
* <p/>