summaryrefslogtreecommitdiff
path: root/src/mongo/s/shard_key_pattern.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/s/shard_key_pattern.cpp')
-rw-r--r--src/mongo/s/shard_key_pattern.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/mongo/s/shard_key_pattern.cpp b/src/mongo/s/shard_key_pattern.cpp
index 24485148810..f411461b925 100644
--- a/src/mongo/s/shard_key_pattern.cpp
+++ b/src/mongo/s/shard_key_pattern.cpp
@@ -265,11 +265,12 @@ StatusWith<BSONObj> ShardKeyPattern::extractShardKeyFromQuery(const BSONObj& bas
return StatusWith<BSONObj>(BSONObj());
// Extract equalities from query
- auto statusWithCQ = CanonicalQuery::canonicalize("", basicQuery, WhereCallbackNoop());
- if (!statusWithCQ.isOK()) {
- return StatusWith<BSONObj>(statusWithCQ.getStatus());
- }
- unique_ptr<CanonicalQuery> query = std::move(statusWithCQ.getValue());
+ CanonicalQuery* rawQuery;
+ Status queryStatus =
+ CanonicalQuery::canonicalize("", basicQuery, &rawQuery, WhereCallbackNoop());
+ if (!queryStatus.isOK())
+ return StatusWith<BSONObj>(queryStatus);
+ unique_ptr<CanonicalQuery> query(rawQuery);
EqualityMatches equalities;
// TODO: Build the path set initially?