diff options
Diffstat (limited to 'src/mongo/db/cst')
| -rw-r--r-- | src/mongo/db/cst/SConscript | 2 | ||||
| -rw-r--r-- | src/mongo/db/cst/cst_pipeline_translation_test.cpp | 351 | ||||
| -rw-r--r-- | src/mongo/db/cst/cst_set_operator_translation_test.cpp | 15 | ||||
| -rw-r--r-- | src/mongo/db/cst/cst_sort_translation_test.cpp | 4 |
4 files changed, 190 insertions, 182 deletions
diff --git a/src/mongo/db/cst/SConscript b/src/mongo/db/cst/SConscript index 917ae792c2a..16f5a25932f 100644 --- a/src/mongo/db/cst/SConscript +++ b/src/mongo/db/cst/SConscript @@ -39,7 +39,7 @@ env.CppUnitTest( ], LIBDEPS=[ # $text depends on FTSAccessMethod. - '$BUILD_DIR/mongo/db/index/index_access_method', + '$BUILD_DIR/mongo/db/index/index_access_methods', '$BUILD_DIR/mongo/db/matcher/expressions_mongod_only', '$BUILD_DIR/mongo/db/query/query_test_service_context', 'cst', diff --git a/src/mongo/db/cst/cst_pipeline_translation_test.cpp b/src/mongo/db/cst/cst_pipeline_translation_test.cpp index fce29285b8b..3d247af1e57 100644 --- a/src/mongo/db/cst/cst_pipeline_translation_test.cpp +++ b/src/mongo/db/cst/cst_pipeline_translation_test.cpp @@ -810,7 +810,7 @@ TEST(CstPipelineTranslationTest, TranslatesConvertExpression) { ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson( "{$convert: {input: {$const: 'true'}, to: {$const: 'bool'}, onNull: {$const: 1}}}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesToBoolExpression) { @@ -820,7 +820,7 @@ TEST(CstPipelineTranslationTest, TranslatesToBoolExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$convert: {input: {$const: 0}, to: {$const: 'bool'}}}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesToDateExpression) { @@ -830,7 +830,7 @@ TEST(CstPipelineTranslationTest, TranslatesToDateExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$convert: {input: {$const: 0}, to: {$const: 'date'}}}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesToDecimalExpression) { @@ -841,7 +841,7 @@ TEST(CstPipelineTranslationTest, TranslatesToDecimalExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$convert: {input: {$const: 2.02}, to: {$const: 'decimal'}}}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesToDoubleExpression) { @@ -852,7 +852,7 @@ TEST(CstPipelineTranslationTest, TranslatesToDoubleExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$convert: {input: {$const: '5.5'}, to: {$const: 'double'}}}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesToIntExpression) { @@ -862,7 +862,7 @@ TEST(CstPipelineTranslationTest, TranslatesToIntExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$convert: {input: {$const: true}, to: {$const: 'int'}}}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesToLongExpression) { @@ -872,7 +872,7 @@ TEST(CstPipelineTranslationTest, TranslatesToLongExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$convert: {input: {$const: 1.0}, to: {$const: 'long'}}}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesToObjectIdExpression) { @@ -883,7 +883,7 @@ TEST(CstPipelineTranslationTest, TranslatesToObjectIdExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$convert: {input: '$_id', to: {$const: 'objectId'}}}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesToStringExpression) { @@ -894,7 +894,7 @@ TEST(CstPipelineTranslationTest, TranslatesToStringExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$convert: {input: {$const: true}, to: {$const: 'string'}}}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesTypeExpression) { @@ -910,13 +910,13 @@ TEST(CstPipelineTranslationTest, AbsConstantTranslation) { auto expCtx = getExpCtx(); auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); - ASSERT_TRUE( - ValueComparator().evaluate(Value(fromjson("{$abs: [{$const: -1}]}")) == expr->serialize())); + ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$abs: [{$const: -1}]}")) == + expr->serialize(false))); cst = CNode{CNode::ObjectChildren{{KeyFieldname::abs, CNode{UserDouble{-1.534}}}}}; expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$abs: [{$const: -1.534}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, AbsVariableTransation) { @@ -925,8 +925,8 @@ TEST(CstPipelineTranslationTest, AbsVariableTransation) { auto expCtx = getExpCtx(); auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); - ASSERT_TRUE( - ValueComparator().evaluate(Value(fromjson("{$abs: [\"$foo\"]}")) == expr->serialize())); + ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$abs: [\"$foo\"]}")) == + expr->serialize(false))); } TEST(CstPipelineTranslationTest, AbsSingletonArrayTranslation) { @@ -935,8 +935,8 @@ TEST(CstPipelineTranslationTest, AbsSingletonArrayTranslation) { auto expCtx = getExpCtx(); auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); - ASSERT_TRUE( - ValueComparator().evaluate(Value(fromjson("{$abs: [{$const: -1}]}")) == expr->serialize())); + ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$abs: [{$const: -1}]}")) == + expr->serialize(false))); } TEST(CstPipelineTranslationTest, CeilTranslationTest) { @@ -945,7 +945,7 @@ TEST(CstPipelineTranslationTest, CeilTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$ceil: [{$const: 1.578}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, DivideTranslationTest) { const auto cst = CNode{CNode::ObjectChildren{ @@ -955,7 +955,7 @@ TEST(CstPipelineTranslationTest, DivideTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$divide: [{$const: 1.5}, {$const: 1}]}")) == expr->serialize())); + Value(fromjson("{$divide: [{$const: 1.5}, {$const: 1}]}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, ExpTranslationTest) { @@ -964,7 +964,7 @@ TEST(CstPipelineTranslationTest, ExpTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$exp: [{$const: 1.5}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, FloorTranslationTest) { @@ -973,15 +973,15 @@ TEST(CstPipelineTranslationTest, FloorTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$floor: [{$const: 1.5}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, LnTranslationTest) { const auto cst = CNode{CNode::ObjectChildren{{KeyFieldname::ln, CNode{UserDouble{1.5}}}}}; auto expCtx = getExpCtx(); auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); - ASSERT_TRUE( - ValueComparator().evaluate(Value(fromjson("{$ln: [{$const: 1.5}]}")) == expr->serialize())); + ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$ln: [{$const: 1.5}]}")) == + expr->serialize(false))); } TEST(CstPipelineTranslationTest, LogTranslationTest) { @@ -992,7 +992,7 @@ TEST(CstPipelineTranslationTest, LogTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$log: [{$const: 1.5}, {$const: 10}]}")) == expr->serialize())); + Value(fromjson("{$log: [{$const: 1.5}, {$const: 10}]}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, LogTenTranslationTest) { @@ -1001,7 +1001,7 @@ TEST(CstPipelineTranslationTest, LogTenTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$log10: [{$const: 1.5}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, ModTranslationTest) { @@ -1012,7 +1012,7 @@ TEST(CstPipelineTranslationTest, ModTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$mod: [{$const: 15}, {$const: 10}]}")) == expr->serialize())); + Value(fromjson("{$mod: [{$const: 15}, {$const: 10}]}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, MultiplyTranslationTest) { @@ -1025,7 +1025,7 @@ TEST(CstPipelineTranslationTest, MultiplyTranslationTest) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$multiply: [{$const: 15}, {$const: 10}, {$const: 2}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, PowTranslationTest) { @@ -1036,14 +1036,14 @@ TEST(CstPipelineTranslationTest, PowTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$pow: [{$const: 5}, {$const: 2}]}")) == - expr->serialize())); + expr->serialize(false))); cst = CNode{CNode::ObjectChildren{ {KeyFieldname::pow, CNode{CNode::ArrayChildren{CNode{UserDouble{5.846}}, CNode{UserDouble{2.846}}}}}}}; expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$pow: [{$const: 5.846}, {$const: 2.846}]}")) == expr->serialize())); + Value(fromjson("{$pow: [{$const: 5.846}, {$const: 2.846}]}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, RoundTranslationTest) { @@ -1054,7 +1054,7 @@ TEST(CstPipelineTranslationTest, RoundTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$round: [{$const: 1.5786}, {$const: 2}]}")) == expr->serialize())); + Value(fromjson("{$round: [{$const: 1.5786}, {$const: 2}]}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, SqrtTranslationTest) { @@ -1063,7 +1063,7 @@ TEST(CstPipelineTranslationTest, SqrtTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$sqrt: [{$const: 144}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, SubtractTranslationTest) { @@ -1074,7 +1074,7 @@ TEST(CstPipelineTranslationTest, SubtractTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$subtract: [{$const: 1.5786}, {$const: 2}]}")) == expr->serialize())); + Value(fromjson("{$subtract: [{$const: 1.5786}, {$const: 2}]}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, TruncTranslationTest) { @@ -1085,7 +1085,7 @@ TEST(CstPipelineTranslationTest, TruncTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$trunc: [{$const: 1.5786}, {$const: 2}]}")) == expr->serialize())); + Value(fromjson("{$trunc: [{$const: 1.5786}, {$const: 2}]}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesReplaceOneExpression) { @@ -1099,7 +1099,7 @@ TEST(CstPipelineTranslationTest, TranslatesReplaceOneExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$replaceOne: {input: {$const: 'Antonio'}, find: {$const: 'Ant'}, " - "replacement: {$const: 'T'}}}")) == expr->serialize())); + "replacement: {$const: 'T'}}}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesReplaceAllExpression) { @@ -1114,7 +1114,7 @@ TEST(CstPipelineTranslationTest, TranslatesReplaceAllExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$replaceAll: {input: {$const: '10gen'}, find: {$const: '10gen'}, " - "replacement: {$const: 'MongoDB'}}}")) == expr->serialize())); + "replacement: {$const: 'MongoDB'}}}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesTrimExpression) { @@ -1127,7 +1127,7 @@ TEST(CstPipelineTranslationTest, TranslatesTrimExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$trim: {input: {$const: ' 10gen'}, chars: {$const: 'ge'}}}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesTrimWithoutCharsExpression) { @@ -1139,7 +1139,7 @@ TEST(CstPipelineTranslationTest, TranslatesTrimWithoutCharsExpression) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$trim: {input: {$const: ' 10gen '}}}")) == expr->serialize())); + Value(fromjson("{$trim: {input: {$const: ' 10gen '}}}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesLtrimExpression) { @@ -1152,7 +1152,7 @@ TEST(CstPipelineTranslationTest, TranslatesLtrimExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$ltrim: {input: {$const: ' 10gen'}, chars: {$const: 'ge'}}}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesRtrimExpression) { @@ -1165,7 +1165,7 @@ TEST(CstPipelineTranslationTest, TranslatesRtrimExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$rtrim: {input: {$const: '10gen '}, chars: {$const: 'ge'}}}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesConcatExpression) { @@ -1178,7 +1178,7 @@ TEST(CstPipelineTranslationTest, TranslatesConcatExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$concat: [{$const: 'abc'}, {$const: 'def'}, {$const: '1x5'}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesDateToStringExpression) { @@ -1197,8 +1197,8 @@ TEST(CstPipelineTranslationTest, TranslatesDateToStringExpression) { Value( fromjson("{$dateToString: {date: \"$date\", format: {$const: \"%Y-%m-%d\"}, timezone: " "{$const: \"America/New_York\"}, onNull: {$const: \"8/10/20\"}}}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesDateFromStringExpression) { @@ -1216,8 +1216,8 @@ TEST(CstPipelineTranslationTest, TranslatesDateFromStringExpression) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$dateFromString: {dateString: {$const: \"'2017-02-08T12:10:40.787'\"}, " - "format: {$const: \"America/New_York\"}}}")) == expr->serialize())) - << expr->serialize(); + "format: {$const: \"America/New_York\"}}}")) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesIndexOfCP) { @@ -1228,8 +1228,9 @@ TEST(CstPipelineTranslationTest, TranslatesIndexOfCP) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$indexOfCP: [{$const: \"ABC\"}, {$const: \"B\"}]}")) == expr->serialize())) - << expr->serialize(); + Value(fromjson("{$indexOfCP: [{$const: \"ABC\"}, {$const: \"B\"}]}")) == + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesIndexOfBytes) { @@ -1241,8 +1242,8 @@ TEST(CstPipelineTranslationTest, TranslatesIndexOfBytes) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$indexOfBytes: [{$const: \"ABC\"}, {$const: \"B\"}]}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesSplit) { @@ -1254,8 +1255,8 @@ TEST(CstPipelineTranslationTest, TranslatesSplit) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$split: [{$const: \"sapalaiat\"}, {$const: \"a\"}]}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesStrLenBytes) { @@ -1265,8 +1266,8 @@ TEST(CstPipelineTranslationTest, TranslatesStrLenBytes) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$strLenBytes: [{$const: \"four\"}]}")) == expr->serialize())) - << expr->serialize(); + Value(fromjson("{$strLenBytes: [{$const: \"four\"}]}")) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesStrLenCP) { @@ -1276,8 +1277,8 @@ TEST(CstPipelineTranslationTest, TranslatesStrLenCP) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$strLenCP: [{$const: \"four\"}]}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesStrCaseCmp) { @@ -1289,8 +1290,8 @@ TEST(CstPipelineTranslationTest, TranslatesStrCaseCmp) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$strcasecmp: [{$const: \"100\"}, {$const: \"2\"}]}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, DesugarsSubstrToSubstrBytes) { @@ -1303,8 +1304,8 @@ TEST(CstPipelineTranslationTest, DesugarsSubstrToSubstrBytes) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$substrBytes: [{$const: \"abc\"}, {$const: 0}, {$const: \"a\"}]}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesSubstrBytes) { @@ -1317,8 +1318,8 @@ TEST(CstPipelineTranslationTest, TranslatesSubstrBytes) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$substrBytes: [{$const: \"abc\"}, {$const: 0}, {$const: \"a\"}]}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesSubstrCP) { @@ -1331,8 +1332,8 @@ TEST(CstPipelineTranslationTest, TranslatesSubstrCP) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$substrCP: [{$const: \"abc\"}, {$const: 0}, {$const: \"a\"}]}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesToLower) { @@ -1342,8 +1343,8 @@ TEST(CstPipelineTranslationTest, TranslatesToLower) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$toLower: [{$const: \"ABC\"}]}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesToUpper) { @@ -1353,8 +1354,8 @@ TEST(CstPipelineTranslationTest, TranslatesToUpper) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$toUpper: [{$const: \"EZ as 123\"}]}")) == expr->serialize())) - << expr->serialize(); + Value(fromjson("{$toUpper: [{$const: \"EZ as 123\"}]}")) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesRegexFind) { @@ -1370,8 +1371,8 @@ TEST(CstPipelineTranslationTest, TranslatesRegexFind) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$regexFind: {input: {$const: \"aeiou\"}, regex: {$const: /.*/i}}}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesRegexFindAll) { @@ -1387,8 +1388,8 @@ TEST(CstPipelineTranslationTest, TranslatesRegexFindAll) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$regexFindAll: {input: {$const: \"aeiou\"}, regex: {$const: /.*/i}}}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesRegexMatch) { @@ -1404,8 +1405,8 @@ TEST(CstPipelineTranslationTest, TranslatesRegexMatch) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$regexMatch: {input: {$const: \"aeiou\"}, regex: {$const: /.*/i}}}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesSlice) { @@ -1420,8 +1421,8 @@ TEST(CstPipelineTranslationTest, TranslatesSlice) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$slice: [[{$const: 1}, {$const: 2}, {$const: 3}], {$const: -2}]}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesMeta) { @@ -1429,9 +1430,9 @@ TEST(CstPipelineTranslationTest, TranslatesMeta) { auto expCtx = getExpCtx(); auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); - ASSERT_TRUE( - ValueComparator().evaluate(Value(fromjson("{$meta: \"textScore\"}")) == expr->serialize())) - << expr->serialize(); + ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$meta: \"textScore\"}")) == + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, RecognizesSingleDollarAsNonConst) { @@ -1443,7 +1444,7 @@ TEST(CstPipelineTranslationTest, RecognizesSingleDollarAsNonConst) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$trunc: [\"$val\", \"$places\"]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, RecognizesDoubleDollarAsNonConst) { @@ -1454,7 +1455,7 @@ TEST(CstPipelineTranslationTest, RecognizesDoubleDollarAsNonConst) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$convert: {input: \"$$NOW\", to: {$const: 'date'}}}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, AllElementsTrueTest) { @@ -1465,7 +1466,7 @@ TEST(CstPipelineTranslationTest, AllElementsTrueTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$allElementsTrue: [\"$set\"]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, AnyElementsTrueTest) { @@ -1476,7 +1477,7 @@ TEST(CstPipelineTranslationTest, AnyElementsTrueTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$anyElementTrue: [\"$set\"]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, SetDifferenceTest) { @@ -1488,7 +1489,7 @@ TEST(CstPipelineTranslationTest, SetDifferenceTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$setDifference: [\"$set\", \"$set2\"]}")) == expr->serialize())); + Value(fromjson("{$setDifference: [\"$set\", \"$set2\"]}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, SetEqualsTest) { @@ -1500,7 +1501,7 @@ TEST(CstPipelineTranslationTest, SetEqualsTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$setEquals: [\"$set\", \"$set2\"]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, SetIntersectionTest) { @@ -1514,7 +1515,7 @@ TEST(CstPipelineTranslationTest, SetIntersectionTest) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$setIntersection: [\"$set\", \"$set2\", \"$set3\"]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, SetIsSubsetTest) { @@ -1526,7 +1527,7 @@ TEST(CstPipelineTranslationTest, SetIsSubsetTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$setIsSubset: [\"$set\", \"$set2\"]}")) == expr->serialize())); + Value(fromjson("{$setIsSubset: [\"$set\", \"$set2\"]}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, SetUnionTest) { @@ -1539,7 +1540,8 @@ TEST(CstPipelineTranslationTest, SetUnionTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$setUnion: [\"$set\", \"$set2\", \"$set3\"]}")) == expr->serialize())); + Value(fromjson("{$setUnion: [\"$set\", \"$set2\", \"$set3\"]}")) == + expr->serialize(false))); } TEST(CstPipelineTranslationTest, SinTranslationTest) { @@ -1548,7 +1550,7 @@ TEST(CstPipelineTranslationTest, SinTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$sin: [{$const: 0.927}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, CosTranslationTest) { @@ -1557,7 +1559,7 @@ TEST(CstPipelineTranslationTest, CosTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$cos: [{$const: 0.927}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TanTranslationTest) { @@ -1566,7 +1568,7 @@ TEST(CstPipelineTranslationTest, TanTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$tan: [{$const: 0.927}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, SinhTranslationTest) { @@ -1575,7 +1577,7 @@ TEST(CstPipelineTranslationTest, SinhTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$sinh: [{$const: 0.927}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, CoshTranslationTest) { @@ -1584,7 +1586,7 @@ TEST(CstPipelineTranslationTest, CoshTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$cosh: [{$const: 0.927}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TanhTranslationTest) { @@ -1593,7 +1595,7 @@ TEST(CstPipelineTranslationTest, TanhTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$tanh: [{$const: 0.927}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, AsinTranslationTest) { @@ -1602,7 +1604,7 @@ TEST(CstPipelineTranslationTest, AsinTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$asin: [{$const: 0.927}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, AcosTranslationTest) { @@ -1611,7 +1613,7 @@ TEST(CstPipelineTranslationTest, AcosTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$acos: [{$const: 0.927}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, AtanTranslationTest) { @@ -1620,7 +1622,7 @@ TEST(CstPipelineTranslationTest, AtanTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$atan: [{$const: 0.927}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, AsinhTranslationTest) { @@ -1629,7 +1631,7 @@ TEST(CstPipelineTranslationTest, AsinhTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$asinh: [{$const: 0.927}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, AcoshTranslationTest) { @@ -1638,7 +1640,7 @@ TEST(CstPipelineTranslationTest, AcoshTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$acosh: [{$const: 0.927}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, AtanhTranslationTest) { @@ -1647,7 +1649,7 @@ TEST(CstPipelineTranslationTest, AtanhTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$atanh: [{$const: 0.927}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, DegreesToRadiansTranslationTest) { @@ -1657,7 +1659,7 @@ TEST(CstPipelineTranslationTest, DegreesToRadiansTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$degreesToRadians: [{$const: 30}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, RadiansToDegreesTranslationTest) { @@ -1670,7 +1672,7 @@ TEST(CstPipelineTranslationTest, RadiansToDegreesTranslationTest) { ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$radiansToDegrees: [{$const: " "NumberDecimal(\"0.9272952180016122324285124629224290\")}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, SinArrayTranslationTest) { @@ -1680,7 +1682,7 @@ TEST(CstPipelineTranslationTest, SinArrayTranslationTest) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$sin: [{$const: 0.927}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, TranslatesDateToPartsExpression) { @@ -1697,8 +1699,8 @@ TEST(CstPipelineTranslationTest, TranslatesDateToPartsExpression) { ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$dateToParts: {date: \"$date\", timezone: " "{$const: \"America/New_York\"}, iso8601: {$const: false}}}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesDateFromPartsExpressionNonIso) { @@ -1721,8 +1723,8 @@ TEST(CstPipelineTranslationTest, TranslatesDateFromPartsExpressionNonIso) { Value(fromjson("{$dateFromParts: {year: \"$year\", month: \"$month\", day: \"$day\", " "hour: \"$hour\", minute: \"$minute\", second: \"$second\"," "millisecond: \"$millisecond\", timezone: " - "{$const: \"America/New_York\"}}}")) == expr->serialize())) - << expr->serialize(); + "{$const: \"America/New_York\"}}}")) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesDateFromPartsExpressionIso) { @@ -1748,8 +1750,8 @@ TEST(CstPipelineTranslationTest, TranslatesDateFromPartsExpressionIso) { "second: \"$second\", millisecond: \"$millisecond\"," "isoWeekYear: \"$isoWeekYear\", isoWeek: \"$isoWeek\"," "isoDayOfWeek: \"$isoDayOfWeek\", timezone: " - "{$const: \"America/New_York\"}}}")) == expr->serialize())) - << expr->serialize(); + "{$const: \"America/New_York\"}}}")) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesDayOfMonthExpressionArgsDoc) { @@ -1764,8 +1766,8 @@ TEST(CstPipelineTranslationTest, TranslatesDayOfMonthExpressionArgsDoc) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$dayOfMonth: {date: \"$date\", timezone: " - "{$const: \"America/New_York\"}}}")) == expr->serialize())) - << expr->serialize(); + "{$const: \"America/New_York\"}}}")) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesDayOfMonthExpressionArgsExpr) { @@ -1775,9 +1777,10 @@ TEST(CstPipelineTranslationTest, TranslatesDayOfMonthExpressionArgsExpr) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(BSON("$dayOfMonth" << BSON("date" << BSON("$const" << Date_t::fromMillisSinceEpoch( - 12345678))))) == expr->serialize())) - << expr->serialize(); + Value(BSON("$dayOfMonth" << BSON( + "date" << BSON("$const" << Date_t::fromMillisSinceEpoch(12345678))))) == + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesDayOfWeekExpressionArgsDoc) { @@ -1792,8 +1795,8 @@ TEST(CstPipelineTranslationTest, TranslatesDayOfWeekExpressionArgsDoc) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$dayOfWeek: {date: \"$date\", timezone: " - "{$const: \"America/New_York\"}}}")) == expr->serialize())) - << expr->serialize(); + "{$const: \"America/New_York\"}}}")) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesDayOfWeekExpressionArgsExpr) { @@ -1804,8 +1807,8 @@ TEST(CstPipelineTranslationTest, TranslatesDayOfWeekExpressionArgsExpr) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(BSON("$dayOfWeek" << BSON("date" << BSON("$const" << Date_t::fromMillisSinceEpoch( - 12345678))))) == expr->serialize())) - << expr->serialize(); + 12345678))))) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesDayOfYearExpressionArgsDoc) { @@ -1820,8 +1823,8 @@ TEST(CstPipelineTranslationTest, TranslatesDayOfYearExpressionArgsDoc) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$dayOfYear: {date: \"$date\", timezone: " - "{$const: \"America/New_York\"}}}")) == expr->serialize())) - << expr->serialize(); + "{$const: \"America/New_York\"}}}")) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesDayOfYearExpressionArgsExpr) { @@ -1832,8 +1835,8 @@ TEST(CstPipelineTranslationTest, TranslatesDayOfYearExpressionArgsExpr) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(BSON("$dayOfYear" << BSON("date" << BSON("$const" << Date_t::fromMillisSinceEpoch( - 12345678))))) == expr->serialize())) - << expr->serialize(); + 12345678))))) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesHourExpressionArgsDoc) { @@ -1848,8 +1851,8 @@ TEST(CstPipelineTranslationTest, TranslatesHourExpressionArgsDoc) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$hour: {date: \"$date\", timezone: " "{$const: \"America/New_York\"}}}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesHourExpressionArgsExpr) { @@ -1860,8 +1863,8 @@ TEST(CstPipelineTranslationTest, TranslatesHourExpressionArgsExpr) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(BSON("$hour" << BSON("date" << BSON("$const" << Date_t::fromMillisSinceEpoch( - 12345678))))) == expr->serialize())) - << expr->serialize(); + 12345678))))) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesIsoDayOfWeekExpressionArgsDoc) { @@ -1876,8 +1879,8 @@ TEST(CstPipelineTranslationTest, TranslatesIsoDayOfWeekExpressionArgsDoc) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$isoDayOfWeek: {date: \"$date\", timezone: " - "{$const: \"America/New_York\"}}}")) == expr->serialize())) - << expr->serialize(); + "{$const: \"America/New_York\"}}}")) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesIsoDayOfWeekExpressionArgsExpr) { @@ -1887,9 +1890,10 @@ TEST(CstPipelineTranslationTest, TranslatesIsoDayOfWeekExpressionArgsExpr) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(BSON("$isoDayOfWeek" << BSON("date" << BSON("$const" << Date_t::fromMillisSinceEpoch( - 12345678))))) == expr->serialize())) - << expr->serialize(); + Value(BSON("$isoDayOfWeek" + << BSON("date" << BSON("$const" << Date_t::fromMillisSinceEpoch(12345678))))) == + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesIsoWeekExpressionArgsDoc) { @@ -1904,8 +1908,8 @@ TEST(CstPipelineTranslationTest, TranslatesIsoWeekExpressionArgsDoc) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$isoWeek: {date: \"$date\", timezone: " "{$const: \"America/New_York\"}}}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesIsoWeekExpressionArgsExpr) { @@ -1916,8 +1920,8 @@ TEST(CstPipelineTranslationTest, TranslatesIsoWeekExpressionArgsExpr) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(BSON("$isoWeek" << BSON("date" << BSON("$const" << Date_t::fromMillisSinceEpoch( - 12345678))))) == expr->serialize())) - << expr->serialize(); + 12345678))))) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesIsoWeekYearExpressionArgsDoc) { @@ -1932,8 +1936,8 @@ TEST(CstPipelineTranslationTest, TranslatesIsoWeekYearExpressionArgsDoc) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$isoWeekYear: {date: \"$date\", timezone: " - "{$const: \"America/New_York\"}}}")) == expr->serialize())) - << expr->serialize(); + "{$const: \"America/New_York\"}}}")) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesIsoWeekYearExpressionArgsExpr) { @@ -1943,9 +1947,10 @@ TEST(CstPipelineTranslationTest, TranslatesIsoWeekYearExpressionArgsExpr) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(BSON("$isoWeekYear" << BSON("date" << BSON("$const" << Date_t::fromMillisSinceEpoch( - 12345678))))) == expr->serialize())) - << expr->serialize(); + Value(BSON("$isoWeekYear" << BSON( + "date" << BSON("$const" << Date_t::fromMillisSinceEpoch(12345678))))) == + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesMillisecondExpressionArgsDoc) { @@ -1960,8 +1965,8 @@ TEST(CstPipelineTranslationTest, TranslatesMillisecondExpressionArgsDoc) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$millisecond: {date: \"$date\", timezone: " - "{$const: \"America/New_York\"}}}")) == expr->serialize())) - << expr->serialize(); + "{$const: \"America/New_York\"}}}")) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesMillisecondExpressionArgsExpr) { @@ -1971,9 +1976,10 @@ TEST(CstPipelineTranslationTest, TranslatesMillisecondExpressionArgsExpr) { auto expr = cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(BSON("$millisecond" << BSON("date" << BSON("$const" << Date_t::fromMillisSinceEpoch( - 12345678))))) == expr->serialize())) - << expr->serialize(); + Value(BSON("$millisecond" << BSON( + "date" << BSON("$const" << Date_t::fromMillisSinceEpoch(12345678))))) == + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesMinuteExpressionArgsDoc) { @@ -1988,8 +1994,8 @@ TEST(CstPipelineTranslationTest, TranslatesMinuteExpressionArgsDoc) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$minute: {date: \"$date\", timezone: " "{$const: \"America/New_York\"}}}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesMinuteExpressionArgsExpr) { @@ -2000,8 +2006,8 @@ TEST(CstPipelineTranslationTest, TranslatesMinuteExpressionArgsExpr) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(BSON("$minute" << BSON("date" << BSON("$const" << Date_t::fromMillisSinceEpoch( - 12345678))))) == expr->serialize())) - << expr->serialize(); + 12345678))))) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesMonthExpressionArgsDoc) { @@ -2016,8 +2022,8 @@ TEST(CstPipelineTranslationTest, TranslatesMonthExpressionArgsDoc) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$month: {date: \"$date\", timezone: " "{$const: \"America/New_York\"}}}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesMonthExpressionArgsExpr) { @@ -2028,8 +2034,8 @@ TEST(CstPipelineTranslationTest, TranslatesMonthExpressionArgsExpr) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(BSON("$month" << BSON("date" << BSON("$const" << Date_t::fromMillisSinceEpoch( - 12345678))))) == expr->serialize())) - << expr->serialize(); + 12345678))))) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesSecondExpressionArgsDoc) { @@ -2044,8 +2050,8 @@ TEST(CstPipelineTranslationTest, TranslatesSecondExpressionArgsDoc) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$second: {date: \"$date\", timezone: " "{$const: \"America/New_York\"}}}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesSecondExpressionArgsExpr) { @@ -2056,8 +2062,8 @@ TEST(CstPipelineTranslationTest, TranslatesSecondExpressionArgsExpr) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(BSON("$second" << BSON("date" << BSON("$const" << Date_t::fromMillisSinceEpoch( - 12345678))))) == expr->serialize())) - << expr->serialize(); + 12345678))))) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesWeekExpressionArgsDoc) { @@ -2072,8 +2078,8 @@ TEST(CstPipelineTranslationTest, TranslatesWeekExpressionArgsDoc) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$week: {date: \"$date\", timezone: " "{$const: \"America/New_York\"}}}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesWeekExpressionArgsExpr) { @@ -2084,8 +2090,8 @@ TEST(CstPipelineTranslationTest, TranslatesWeekExpressionArgsExpr) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(BSON("$week" << BSON("date" << BSON("$const" << Date_t::fromMillisSinceEpoch( - 12345678))))) == expr->serialize())) - << expr->serialize(); + 12345678))))) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesYearExpressionArgsDoc) { @@ -2100,8 +2106,8 @@ TEST(CstPipelineTranslationTest, TranslatesYearExpressionArgsDoc) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$year: {date: \"$date\", timezone: " "{$const: \"America/New_York\"}}}")) == - expr->serialize())) - << expr->serialize(); + expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, TranslatesYearExpressionArgsExpr) { @@ -2112,8 +2118,8 @@ TEST(CstPipelineTranslationTest, TranslatesYearExpressionArgsExpr) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(BSON("$year" << BSON("date" << BSON("$const" << Date_t::fromMillisSinceEpoch( - 12345678))))) == expr->serialize())) - << expr->serialize(); + 12345678))))) == expr->serialize(false))) + << expr->serialize(false); } TEST(CstPipelineTranslationTest, ArrayElemAtTranslationTest) { @@ -2128,7 +2134,7 @@ TEST(CstPipelineTranslationTest, ArrayElemAtTranslationTest) { ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson( "{$arrayElemAt: [ [{$const: 0}, {$const: 1}, {$const: 42}], {$const: 2} ]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, ArrayToObjectTranslationTest) { @@ -2143,7 +2149,7 @@ TEST(CstPipelineTranslationTest, ArrayToObjectTranslationTest) { ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson( "{$arrayToObject: [ [{$const: 0}, {$const: 1}], [{$const: 42}, {$const: 2}] ]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, ConcatArraysTranslationTest) { @@ -2158,7 +2164,7 @@ TEST(CstPipelineTranslationTest, ConcatArraysTranslationTest) { ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson( "{$concatArrays: [ [{$const: 0}, {$const: 1}], [{$const: 42}, {$const: 2}] ]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, FilterTranslationTest) { @@ -2179,7 +2185,8 @@ TEST(CstPipelineTranslationTest, FilterTranslationTest) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$filter: { input: [ {$const: 42}, {$const: 2} ], as: \"myVar\"," - "cond: { $gt: [\"$$myVar\", {$const: 2.5}] }}}")) == expr->serialize())); + "cond: { $gt: [\"$$myVar\", {$const: 2.5}] }}}")) == + expr->serialize(false))); } TEST(CstPipelineTranslationTest, InTranslationTest) { @@ -2193,7 +2200,7 @@ TEST(CstPipelineTranslationTest, InTranslationTest) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$in: [ {$const: 1}, [ {$const: 1}, {$const: 2} ] ]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, IndexOfArrayTranslationTest) { @@ -2207,7 +2214,7 @@ TEST(CstPipelineTranslationTest, IndexOfArrayTranslationTest) { cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$indexOfArray: [ [ {$const: 1}, {$const: 2} ], {$const: 1}]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, FirstTranslationTest) { @@ -2217,7 +2224,7 @@ TEST(CstPipelineTranslationTest, FirstTranslationTest) { auto expr = mongo::cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$first: [ {$const: 1}, {$const: 2} ]}")) == expr->serialize())); + Value(fromjson("{$first: [ {$const: 1}, {$const: 2} ]}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, IsArrayTranslationTest) { @@ -2228,7 +2235,7 @@ TEST(CstPipelineTranslationTest, IsArrayTranslationTest) { auto expr = mongo::cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$isArray: [{$const: 1}] }")) == - expr->serialize())); + expr->serialize(false))); } { const auto cst = CNode{CNode::ObjectChildren{ @@ -2238,7 +2245,7 @@ TEST(CstPipelineTranslationTest, IsArrayTranslationTest) { auto expr = mongo::cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$isArray: [[{$const: 1}]] }")) == - expr->serialize())); + expr->serialize(false))); } { const auto cst = CNode{CNode::ObjectChildren{ @@ -2247,7 +2254,7 @@ TEST(CstPipelineTranslationTest, IsArrayTranslationTest) { auto expr = mongo::cst_pipeline_translation::translateExpression( cst, expCtx.get(), expCtx->variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$isArray: [\"$myPath\"] }")) == - expr->serialize())); + expr->serialize(false))); } } } // namespace diff --git a/src/mongo/db/cst/cst_set_operator_translation_test.cpp b/src/mongo/db/cst/cst_set_operator_translation_test.cpp index 87e17c0afa8..7f5c3c4c76c 100644 --- a/src/mongo/db/cst/cst_set_operator_translation_test.cpp +++ b/src/mongo/db/cst/cst_set_operator_translation_test.cpp @@ -59,7 +59,7 @@ TEST(CstPipelineTranslationTest, AllElementsTrueTest) { auto expr = cst_pipeline_translation::translateExpression(cst, &expCtx, expCtx.variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$allElementsTrue: [\"$set\"]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, AnyElementsTrueTest) { @@ -70,7 +70,7 @@ TEST(CstPipelineTranslationTest, AnyElementsTrueTest) { auto expr = cst_pipeline_translation::translateExpression(cst, &expCtx, expCtx.variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$anyElementTrue: [\"$set\"]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, SetDifferenceTest) { @@ -82,7 +82,7 @@ TEST(CstPipelineTranslationTest, SetDifferenceTest) { auto expr = cst_pipeline_translation::translateExpression(cst, &expCtx, expCtx.variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$setDifference: [\"$set\", \"$set2\"]}")) == expr->serialize())); + Value(fromjson("{$setDifference: [\"$set\", \"$set2\"]}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, SetEqualsTest) { @@ -94,7 +94,7 @@ TEST(CstPipelineTranslationTest, SetEqualsTest) { auto expr = cst_pipeline_translation::translateExpression(cst, &expCtx, expCtx.variablesParseState); ASSERT_TRUE(ValueComparator().evaluate(Value(fromjson("{$setEquals: [\"$set\", \"$set2\"]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, SetIntersectionTest) { @@ -108,7 +108,7 @@ TEST(CstPipelineTranslationTest, SetIntersectionTest) { cst_pipeline_translation::translateExpression(cst, &expCtx, expCtx.variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( Value(fromjson("{$setIntersection: [\"$set\", \"$set2\", \"$set3\"]}")) == - expr->serialize())); + expr->serialize(false))); } TEST(CstPipelineTranslationTest, SetIsSubsetTest) { @@ -120,7 +120,7 @@ TEST(CstPipelineTranslationTest, SetIsSubsetTest) { auto expr = cst_pipeline_translation::translateExpression(cst, &expCtx, expCtx.variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$setIsSubset: [\"$set\", \"$set2\"]}")) == expr->serialize())); + Value(fromjson("{$setIsSubset: [\"$set\", \"$set2\"]}")) == expr->serialize(false))); } TEST(CstPipelineTranslationTest, SetUnionTest) { @@ -133,7 +133,8 @@ TEST(CstPipelineTranslationTest, SetUnionTest) { auto expr = cst_pipeline_translation::translateExpression(cst, &expCtx, expCtx.variablesParseState); ASSERT_TRUE(ValueComparator().evaluate( - Value(fromjson("{$setUnion: [\"$set\", \"$set2\", \"$set3\"]}")) == expr->serialize())); + Value(fromjson("{$setUnion: [\"$set\", \"$set2\", \"$set3\"]}")) == + expr->serialize(false))); } } // namespace diff --git a/src/mongo/db/cst/cst_sort_translation_test.cpp b/src/mongo/db/cst/cst_sort_translation_test.cpp index 2b733e197ca..3c0e69979cd 100644 --- a/src/mongo/db/cst/cst_sort_translation_test.cpp +++ b/src/mongo/db/cst/cst_sort_translation_test.cpp @@ -65,8 +65,8 @@ void assertSortPatternsEQ(SortPattern correct, SortPattern fromTest) { } if (correct[i].expression) { if (fromTest[i].expression) - ASSERT_EQ(correct[i].expression->serialize().toString(), - fromTest[i].expression->serialize().toString()); + ASSERT_EQ(correct[i].expression->serialize(false).toString(), + fromTest[i].expression->serialize(false).toString()); else { FAIL("Pattern missing expression"); } |
