summaryrefslogtreecommitdiff
path: root/src/mongo/db/views/durable_view_catalog.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/views/durable_view_catalog.h')
-rw-r--r--src/mongo/db/views/durable_view_catalog.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mongo/db/views/durable_view_catalog.h b/src/mongo/db/views/durable_view_catalog.h
index 03bacb2f3fb..62fd5db2c4d 100644
--- a/src/mongo/db/views/durable_view_catalog.h
+++ b/src/mongo/db/views/durable_view_catalog.h
@@ -63,10 +63,16 @@ public:
/**
* Thread-safe method to mark a catalog name was changed. This will cause the in-memory
- * view catalog to be marked invalid
+ * view catalog to be reloaded immediately.
*/
static void onExternalChange(OperationContext* opCtx, const NamespaceString& name);
+ /**
+ * Thread-safe method to clear the in-memory state of the view catalog when the 'system.views'
+ * collection is dropped.
+ */
+ static void onSystemViewsCollectionDrop(OperationContext* opCtx, const NamespaceString& name);
+
using Callback = std::function<Status(const BSONObj& view)>;
virtual void iterate(OperationContext* opCtx, Callback callback) = 0;
virtual void iterateIgnoreInvalidEntries(OperationContext* opCtx, Callback callback) = 0;