summaryrefslogtreecommitdiff
path: root/src/mongo/s/shard_key_pattern.cpp
diff options
context:
space:
mode:
authorQingyang Chen <qingyang.chen@10gen.com>2015-06-22 13:22:45 -0400
committerQingyang Chen <qingyang.chen@10gen.com>2015-06-22 13:22:45 -0400
commit22cf042f9541cf778f71e1bd1a84fcd87012c0b1 (patch)
tree0d293b08d819409580f7087654b5d6f81d5d40a4 /src/mongo/s/shard_key_pattern.cpp
parent3f6f66daac840fe2b2dc26eeeacbf015479567df (diff)
downloadmongo-22cf042f9541cf778f71e1bd1a84fcd87012c0b1.tar.gz
Revert "SERVER-16889 query subsystem CanonicalQuery::canonicalize use StatusWith<unique_ptr> for ownership transfer"
This reverts commit 3f6f66daac840fe2b2dc26eeeacbf015479567df.
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?