diff options
author | Patrick Meredith <pmeredit@gmail.com> | 2018-10-22 17:01:46 -0400 |
---|---|---|
committer | Charlie Swanson <charlie.swanson@mongodb.com> | 2019-02-14 17:54:56 -0500 |
commit | 814b1f8237db9ecb27dd0ffa96f11edd58bac73e (patch) | |
tree | 4e13cadda4f9dc3ea4f4d7156476f31c77ba9726 /src/mongo/db/pipeline/expression.h | |
parent | f1da8170c1c568762b29e44910afbcc6f01a644f (diff) | |
download | mongo-814b1f8237db9ecb27dd0ffa96f11edd58bac73e.tar.gz |
SERVER-15926: Implement $round function and allow a precision argument for $trunc
Closes #1297
Signed-off-by: Charlie Swanson <charlie.swanson@mongodb.com>
Diffstat (limited to 'src/mongo/db/pipeline/expression.h')
-rw-r--r-- | src/mongo/db/pipeline/expression.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/mongo/db/pipeline/expression.h b/src/mongo/db/pipeline/expression.h index 33e2781c296..5b79fafe1ad 100644 --- a/src/mongo/db/pipeline/expression.h +++ b/src/mongo/db/pipeline/expression.h @@ -1755,6 +1755,14 @@ public: const char* getOpName() const final; }; +class ExpressionRound final : public ExpressionRangedArity<ExpressionRound, 1, 2> { +public: + explicit ExpressionRound(const boost::intrusive_ptr<ExpressionContext>& expCtx) + : ExpressionRangedArity<ExpressionRound, 1, 2>(expCtx) {} + + Value evaluate(const Document& root) const final; + const char* getOpName() const final; +}; class ExpressionSplit final : public ExpressionFixedArity<ExpressionSplit, 2> { public: @@ -1949,12 +1957,12 @@ private: }; -class ExpressionTrunc final : public ExpressionSingleNumericArg<ExpressionTrunc> { +class ExpressionTrunc final : public ExpressionRangedArity<ExpressionTrunc, 1, 2> { public: explicit ExpressionTrunc(const boost::intrusive_ptr<ExpressionContext>& expCtx) - : ExpressionSingleNumericArg<ExpressionTrunc>(expCtx) {} + : ExpressionRangedArity<ExpressionTrunc, 1, 2>(expCtx) {} - Value evaluateNumericArg(const Value& numericArg) const final; + Value evaluate(const Document& root) const final; const char* getOpName() const final; }; |