diff options
Diffstat (limited to 'src/mongo')
-rw-r--r-- | src/mongo/db/namespace_string.h | 3 | ||||
-rw-r--r-- | src/mongo/db/pipeline/expression_context.h | 9 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/mongo/db/namespace_string.h b/src/mongo/db/namespace_string.h index 505eb9d3130..f511a6a3f04 100644 --- a/src/mongo/db/namespace_string.h +++ b/src/mongo/db/namespace_string.h @@ -452,6 +452,9 @@ public: return coll().startsWith("$cmd."_sd); } + /** + * NOTE an aggregate could still refer to another collection using a stage like $out. + */ bool isCollectionlessAggregateNS() const; bool isListCollectionsCursorNS() const; diff --git a/src/mongo/db/pipeline/expression_context.h b/src/mongo/db/pipeline/expression_context.h index 9334cd4ecff..15a0d15ed48 100644 --- a/src/mongo/db/pipeline/expression_context.h +++ b/src/mongo/db/pipeline/expression_context.h @@ -290,6 +290,15 @@ public: }; /** + * Returns true if there are no namespaces in the query other than the namespace the query was + * issued against. eg if there is no $out, $lookup ect. If namespaces have not yet been resolved + * then it will also return false. + */ + bool noForeignNamespaces() const { + return _resolvedNamespaces.empty(); + } + + /** * Convenience call that returns true if the tailableMode indicates a tailable and awaitData * query. */ |