summaryrefslogtreecommitdiff
path: root/src/mongo/db/cst
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/cst')
-rw-r--r--src/mongo/db/cst/SConscript2
-rw-r--r--src/mongo/db/cst/cst_pipeline_translation_test.cpp351
-rw-r--r--src/mongo/db/cst/cst_set_operator_translation_test.cpp15
-rw-r--r--src/mongo/db/cst/cst_sort_translation_test.cpp4
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");
}