summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/planner_ixselect.h
diff options
context:
space:
mode:
authorIan Boros <puppyofkosh@gmail.com>2019-02-27 10:48:01 -0500
committerIan Boros <puppyofkosh@gmail.com>2019-03-18 17:14:05 -0400
commit9950774372d4b47a0610fb810f49aeb274a3ff54 (patch)
tree63e760c47809c2a46ac12f23a4e08e30f24dd412 /src/mongo/db/query/planner_ixselect.h
parenta5138072e1bb731bbbc8612c21d4bb9c4cc98270 (diff)
downloadmongo-9950774372d4b47a0610fb810f49aeb274a3ff54.tar.gz
SERVER-39764 fix bug where $in is planned from cache incorrectly
Diffstat (limited to 'src/mongo/db/query/planner_ixselect.h')
-rw-r--r--src/mongo/db/query/planner_ixselect.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mongo/db/query/planner_ixselect.h b/src/mongo/db/query/planner_ixselect.h
index 93f4c4b9cd6..b4269f9b64d 100644
--- a/src/mongo/db/query/planner_ixselect.h
+++ b/src/mongo/db/query/planner_ixselect.h
@@ -146,6 +146,13 @@ public:
*/
static bool nodeIsSupportedBySparseIndex(const MatchExpression* queryExpr, bool isInElemMatch);
+ /**
+ * Some types of matches are not supported by any type of index. If this function returns
+ * false, then 'queryExpr' is definitely not supported for any type of index. If the function
+ * returns true then 'queryExpr' may (or may not) be supported by some index.
+ */
+ static bool logicalNodeMayBeSupportedByAnIndex(const MatchExpression* queryExpr);
+
private:
/**
* Used to keep track of if any $elemMatch predicates were encountered when walking a