summaryrefslogtreecommitdiff
path: root/src/mongo/s/shard_key_pattern_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/s/shard_key_pattern_test.cpp')
-rw-r--r--src/mongo/s/shard_key_pattern_test.cpp98
1 files changed, 1 insertions, 97 deletions
diff --git a/src/mongo/s/shard_key_pattern_test.cpp b/src/mongo/s/shard_key_pattern_test.cpp
index e001e5cb55e..2965b5d6222 100644
--- a/src/mongo/s/shard_key_pattern_test.cpp
+++ b/src/mongo/s/shard_key_pattern_test.cpp
@@ -78,7 +78,6 @@ repl::OplogEntry makeOplogEntry(repl::OpTime opTime,
nss, // namespace
boost::none, // uuid
boost::none, // fromMigrate
- boost::none, // checkExistenceForDiffInsert
repl::OplogEntry::kOplogVersion, // version
oField, // o
o2Field, // o2
@@ -100,7 +99,6 @@ TEST_F(ShardKeyPatternTest, SingleFieldShardKeyPatternsValidityCheck) {
ShardKeyPattern s3(BSON("a" << (long long)1L));
ShardKeyPattern s4(BSON("a"
<< "hashed"));
- ShardKeyPattern s5(BSON("a$" << 1));
ASSERT_THROWS(ShardKeyPattern(BSONObj()), DBException);
ASSERT_THROWS(ShardKeyPattern(BSON("a" << -1)), DBException);
@@ -113,21 +111,12 @@ TEST_F(ShardKeyPatternTest, SingleFieldShardKeyPatternsValidityCheck) {
DBException);
ASSERT_THROWS(ShardKeyPattern(BSON("" << 1)), DBException);
ASSERT_THROWS(ShardKeyPattern(BSON("." << 1)), DBException);
- ASSERT_THROWS(ShardKeyPattern(BSON("$" << 1)), DBException);
- ASSERT_THROWS(ShardKeyPattern(BSON("$a" << 1)), DBException);
- ASSERT_THROWS(ShardKeyPattern(BSON("$**" << 1)), DBException);
- ASSERT_THROWS(ShardKeyPattern(BSON("$id" << 1)), DBException);
- ASSERT_THROWS(ShardKeyPattern(BSON("$db" << 1)), DBException);
- ASSERT_THROWS(ShardKeyPattern(BSON("$ref" << 1)), DBException);
}
TEST_F(ShardKeyPatternTest, CompositeShardKeyPatternsValidityCheck) {
ShardKeyPattern s1(BSON("a" << 1 << "b" << 1));
ShardKeyPattern s2(BSON("a" << 1.0f << "b" << 1.0));
ShardKeyPattern s3(BSON("a" << 1 << "b" << 1.0 << "c" << 1.0f));
- ShardKeyPattern s4(BSON("a.$id" << 1));
- ShardKeyPattern s5(BSON("a.$db" << 1));
- ShardKeyPattern s6(BSON("a.$ref" << 1));
ASSERT_THROWS(ShardKeyPattern(BSON("a" << 1 << "b" << -1)), DBException);
ASSERT_THROWS(ShardKeyPattern(BSON("a" << 1 << "b"
@@ -135,9 +124,6 @@ TEST_F(ShardKeyPatternTest, CompositeShardKeyPatternsValidityCheck) {
DBException);
ASSERT_THROWS(ShardKeyPattern(BSON("a" << 1 << "b." << 1.0)), DBException);
ASSERT_THROWS(ShardKeyPattern(BSON("a" << 1 << "" << 1.0)), DBException);
- ASSERT_THROWS(ShardKeyPattern(BSON("a" << 1 << "$" << 1.0)), DBException);
- ASSERT_THROWS(ShardKeyPattern(BSON("a" << 1 << "$b" << 1.0)), DBException);
- ASSERT_THROWS(ShardKeyPattern(BSON("a" << 1 << "$**" << 1.0)), DBException);
}
TEST_F(ShardKeyPatternTest, NestedShardKeyPatternsValidtyCheck) {
@@ -145,7 +131,6 @@ TEST_F(ShardKeyPatternTest, NestedShardKeyPatternsValidtyCheck) {
ShardKeyPattern s2(BSON("a.b.c.d" << 1.0));
ShardKeyPattern s3(BSON("a" << 1 << "c.d" << 1.0 << "e.f.g" << 1.0f));
ShardKeyPattern s4(BSON("a" << 1 << "a.b" << 1.0 << "a.b.c" << 1.0f));
- ShardKeyPattern s6(BSON("a.b$" << 1));
ASSERT_THROWS(ShardKeyPattern(BSON("a.b" << -1)), DBException);
ASSERT_THROWS(ShardKeyPattern(BSON("a" << BSON("b" << 1))), DBException);
@@ -154,9 +139,6 @@ TEST_F(ShardKeyPatternTest, NestedShardKeyPatternsValidtyCheck) {
ASSERT_THROWS(ShardKeyPattern(BSON("a..b" << 1)), DBException);
ASSERT_THROWS(ShardKeyPattern(BSON("a" << 1 << "a.b." << 1.0)), DBException);
ASSERT_THROWS(ShardKeyPattern(BSON("a" << BSON("b" << 1) << "c.d" << 1.0)), DBException);
- ASSERT_THROWS(ShardKeyPattern(BSON("a.$" << 1)), DBException);
- ASSERT_THROWS(ShardKeyPattern(BSON("a.$b" << 1)), DBException);
- ASSERT_THROWS(ShardKeyPattern(BSON("a.$**" << 1)), DBException);
}
TEST_F(ShardKeyPatternTest, IsShardKey) {
@@ -626,7 +608,7 @@ TEST_F(ShardKeyPatternTest, ExtractQueryShardKeyHashed) {
}
static bool indexComp(const ShardKeyPattern& pattern, const BSONObj& indexPattern) {
- return pattern.isIndexUniquenessCompatible(indexPattern);
+ return pattern.isUniqueIndexCompatible(indexPattern);
}
TEST_F(ShardKeyPatternTest, UniqueIndexCompatibleSingle) {
@@ -1034,83 +1016,5 @@ TEST_F(ShardKeyPatternTest, ExtractShardKeyFromDocumentKey_Hashed) {
BSONObj());
}
-TEST_F(ShardKeyPatternTest, IsExtendedBy) {
-
- // NumberOfFields
- ShardKeyPattern shardKeyPattern1(BSON("a" << 1));
- ShardKeyPattern shardKeyPattern2(BSON("a" << 1 << "b" << 1));
- ShardKeyPattern shardKeyPattern3(BSON("a" << 1 << "b" << 1 << "c" << 1));
-
- // NumberOfFields_PositionOfHash
- ShardKeyPattern shardKeyPatternHashed1_0(BSON("a"
- << "hashed"));
- ShardKeyPattern shardKeyPatternHashed2_0(BSON("a"
- << "hashed"
- << "b" << 1));
- ShardKeyPattern shardKeyPatternHashed2_1(BSON("a" << 1 << "b"
- << "hashed"));
- ShardKeyPattern shardKeyPatternHashed3_0(BSON("a"
- << "hashed"
- << "b" << 1 << "c" << 1));
- ShardKeyPattern shardKeyPatternHashed3_1(BSON("a" << 1 << "b"
- << "hashed"
- << "c" << 1));
- ShardKeyPattern shardKeyPatternHashed3_2(BSON("a" << 1 << "b" << 1 << "c"
- << "hashed"));
-
- // same pattern, always true
- ASSERT_TRUE(shardKeyPattern1.isExtendedBy(shardKeyPattern1));
- ASSERT_TRUE(shardKeyPattern2.isExtendedBy(shardKeyPattern2));
- ASSERT_TRUE(shardKeyPattern3.isExtendedBy(shardKeyPattern3));
- ASSERT_TRUE(shardKeyPatternHashed1_0.isExtendedBy(shardKeyPatternHashed1_0));
- ASSERT_TRUE(shardKeyPatternHashed2_0.isExtendedBy(shardKeyPatternHashed2_0));
- ASSERT_TRUE(shardKeyPatternHashed2_1.isExtendedBy(shardKeyPatternHashed2_1));
- ASSERT_TRUE(shardKeyPatternHashed3_0.isExtendedBy(shardKeyPatternHashed3_0));
- ASSERT_TRUE(shardKeyPatternHashed3_1.isExtendedBy(shardKeyPatternHashed3_1));
- ASSERT_TRUE(shardKeyPatternHashed3_2.isExtendedBy(shardKeyPatternHashed3_2));
-
- // different number of fields, same values
- ASSERT_TRUE(shardKeyPattern1.isExtendedBy(shardKeyPattern2));
- ASSERT_TRUE(shardKeyPattern2.isExtendedBy(shardKeyPattern3));
- ASSERT_TRUE(shardKeyPattern1.isExtendedBy(shardKeyPattern3));
-
- ASSERT_FALSE(shardKeyPattern2.isExtendedBy(shardKeyPattern1));
- ASSERT_FALSE(shardKeyPattern3.isExtendedBy(shardKeyPattern2));
- ASSERT_FALSE(shardKeyPattern3.isExtendedBy(shardKeyPattern1));
-
- // different number of fields, different values
- // { a : 1 } is not extended by { a : "hashed" } and viceversa
- ASSERT_FALSE(shardKeyPattern1.isExtendedBy(shardKeyPatternHashed1_0));
- ASSERT_FALSE(shardKeyPatternHashed1_0.isExtendedBy(shardKeyPattern1));
-
- // { a : 1, b : 1 } is not extended by { a : 1, b : "hashed" } and viceversa
- ASSERT_FALSE(shardKeyPattern2.isExtendedBy(shardKeyPatternHashed2_1));
- ASSERT_FALSE(shardKeyPatternHashed2_1.isExtendedBy(shardKeyPattern2));
-
- // { a : 1 } is extended by { a : 1, b : "hashed" } but not viceversa
- ASSERT_TRUE(shardKeyPattern1.isExtendedBy(shardKeyPatternHashed2_1));
- ASSERT_FALSE(shardKeyPatternHashed2_1.isExtendedBy(shardKeyPattern1));
-
- // { a : 1, b : 1 } is extended by { a : 1, b : 1, c : "hashed" } but not viceversa
- ASSERT_TRUE(shardKeyPattern2.isExtendedBy(shardKeyPatternHashed3_2));
- ASSERT_FALSE(shardKeyPatternHashed3_2.isExtendedBy(shardKeyPattern2));
-
- // { a : 1, b : 1, c : 1 } is not extended by { a : 1, b : 1, c : "hashed" } and viceversa
- ASSERT_FALSE(shardKeyPattern3.isExtendedBy(shardKeyPatternHashed3_2));
- ASSERT_FALSE(shardKeyPatternHashed3_2.isExtendedBy(shardKeyPattern3));
-
- // { a: "hashed", b : 1 } is not extended by { a : 1, b : 1, c : "hashed" } and viceversa
- ASSERT_FALSE(shardKeyPatternHashed2_1.isExtendedBy(shardKeyPatternHashed3_2));
- ASSERT_FALSE(shardKeyPatternHashed3_2.isExtendedBy(shardKeyPatternHashed2_1));
-
- // { a : "hashed", b : 1 } is extended by { a : "hashed", b : 1, c : "1" } but not viceversa
- ASSERT_TRUE(shardKeyPatternHashed2_0.isExtendedBy(shardKeyPatternHashed3_0));
- ASSERT_FALSE(shardKeyPatternHashed3_0.isExtendedBy(shardKeyPatternHashed2_0));
-
- // { a : 1, b : "hashed " } is extended by { a : 1, b : "hashed", c : "1" } but not viceversa
- ASSERT_TRUE(shardKeyPatternHashed2_1.isExtendedBy(shardKeyPatternHashed3_1));
- ASSERT_FALSE(shardKeyPatternHashed3_1.isExtendedBy(shardKeyPatternHashed2_1));
-}
-
} // namespace
} // namespace mongo