diff options
Diffstat (limited to 'src/mongo/s/shard_key_pattern_test.cpp')
| -rw-r--r-- | src/mongo/s/shard_key_pattern_test.cpp | 98 |
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 |
