summaryrefslogtreecommitdiff
path: root/src/mongo/db/matcher
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-50317 Const correct uses of CollectionHenrik Edin2020-09-021-1/+1
| | | | | | Most of the code should only need a const Collection now. AutoGetCollection returns a const Collection by default. There is a placeholder getWritableCollection() interface that will handle the necessary steps we need for lock free reads in the future. Added some operators to AutoGetCollection so it behaves more like a smart pointer.
* SERVER-50600 Correctness of BinData setup in BitTestMatchExpression tests ↵Mindaugas Malinauskas2020-09-021-4/+4
| | | | depends on endianness of the environment
* SERVER-49840 Implement Bits match expressions in SBEEric Cox2020-09-021-0/+4
|
* SERVER-48790 Add barebones CST->MatchExpression translationNick Zolnierz2020-09-013-29/+46
|
* Revert "SERVER-32960 Make $mod always truncate divisor and remainder toward ↵Nikita Lapkov2020-09-012-49/+2
| | | | | | zero" This reverts commit cb131974041efdcd0b4a99fe3bd316cbb9b4db41.
* SERVER-49499 Upgrade/downgrade behavior and testing for generating document ↵Mindaugas Malinauskas2020-08-311-1/+7
| | | | validation errors
* SERVER-32960 Make $mod always truncate divisor and remainder toward zeroNikita Lapkov2020-08-272-2/+49
|
* SERVER-49703 Added libdep linter alphabetic rule and update all libdeps list ↵Daniel Moody2020-08-271-4/+4
| | | | to be alphabetical
* SERVER-49234 Add '_id' field to generated errors for updatesMindaugas Malinauskas2020-08-242-7/+45
|
* SERVER-50008 Implement basic jsonSchema validation error generationMihai Andrei2020-08-2113-424/+1201
|
* SERVER-48900 Remove format-string arguments from logv2 statementsMilena Ivanova2020-08-202-11/+3
|
* SERVER-49207 Implement validation error generation for array query operatorsMihai Andrei2020-08-196-65/+438
|
* SERVER-42046: Remove redundant moves from query codeNikita Lapkov2020-08-1428-52/+52
| | | | Since C++17 return value optimization is mandatory and no longer considered as copy elision (https://en.cppreference.com/w/cpp/language/copy_elision). This means that in some cases `return std::move(value)` can be replaced with just `return value`. We refactor Query code to remove these redundant moves. GCC 9.0.1 was used to detect such places in codebase
* SERVER-49210 Implement validation error generation for geospatial and ↵Mindaugas Malinauskas2020-08-137-81/+551
| | | | bitwise query operators
* SERVER-49208 Implement validation error generation for miscellaneous query ↵Jenny Peshansky2020-08-078-91/+613
| | | | operators
* Revert "SERVER-49117 Remove storage validation of '$' and '.' in field names ↵Charlie Swanson2020-08-061-4/+3
| | | | | | for insert and update" This reverts commit f1194464424569250152308e3cae1ecbade7fb71.
* SERVER-49117 Remove storage validation of '$' and '.' in field names for ↵Junhson Jean-Baptiste2020-08-041-3/+4
| | | | insert and update
* SERVER-49023 Implement validation error generation for logical query operatorsMihai Andrei2020-07-316-59/+613
|
* SERVER-49686 Translate $type match expression to SBEDrew Paroski2020-07-282-0/+24
|
* SERVER-49212 Verify that generated validation errors are logged when a ↵Jenny Peshansky2020-07-241-1/+1
| | | | collection validator's validationAction is set to 'warn'
* SERVER-49022 Implement validation error generation for comparison query ↵Mihai Andrei2020-07-1510-74/+754
| | | | operators
* SERVER-48781 Introduce 'DocumentValidationErrorExtraInfo' and shell support ↵Mihai Andrei2020-07-072-4/+34
| | | | for document validation errors
* Revert "SERVER-48781 Introduce 'DocumentValidationErrorExtraInfo' and shell ↵Mihai Andrei2020-07-022-34/+4
| | | | | | support for document validation errors" This reverts commit 0ab6e8fb4d26b7bbe22d483dbe7850e64013447c.
* SERVER-48781 Introduce 'DocumentValidationErrorExtraInfo' and shell support ↵Mihai Andrei2020-07-012-4/+34
| | | | for document validation errors
* SERVER-48779 Implement skeleton of MatchExpressionVisitor to be used for ↵Mihai Andrei2020-06-254-0/+390
| | | | generating document validation errors
* SERVER-48474 add '$sampleRate' match expressionEric Cox2020-06-252-0/+122
|
* SERVER-48228 Move slot-based execution engine and supporting changes into ↵Martin Neupauer2020-06-1131-1/+737
| | | | | | | | | | | | | | the master branch This is an initial commit for the slot-based execution engine (SBE) which contains: * Implementation of the core slot-based engine. * The SBE stage builder, which is responsible for translating a QuerySolution tree into an SBE plan. * Other changes necessary for integration with the find command. Co-authored-by: Anton Korshunov <anton.korshunov@mongodb.com> Co-authored-by: Justin Seyster <justin.seyster@mongodb.com> Co-authored-by: David Storch <david.storch@mongodb.com>
* SERVER-48353 logv2 cleanup for db/query, s/query, db/views, db/matcherMindaugas Malinauskas2020-06-083-14/+20
|
* SERVER-47713 Change Expression code to remove intrusive ExpressionContextJacob Evans2020-05-163-10/+10
|
* SERVER-45514 Reject document validators with encryption-related keywords if ↵Nick Zolnierz2020-04-275-51/+131
| | | | the validationAction is "warn" or validationLevel is "moderate"
* SERVER-47735 change mongo source over to logv2Billy Donahue2020-04-263-4/+4
| | | | | | - Remove several legacy logger/ files - Convert all MONGO_LOG_DEFAULT_COMPONENT to the LOGV2 version. - Globally replace logger::{LogSeverity,LogComponent} => logv2::
* SERVER-25023 Allow multiple indexes on the same fields with different ↵Bernard Gorman2020-04-254-3/+111
| | | | partial index filters
* SERVER-47191 Implement evalutation of Expressions to produce let parametersEric Cox2020-04-231-1/+1
|
* SERVER-46492 Restore WhereMatchExpression for $where as defaultJames Wahlin2020-02-299-47/+207
|
* SERVER-45567 removing util/log.h where I canGabriel Russell2020-02-281-1/+0
|
* SERVER-45406 Plumb ExpressionContext through PlanStageIan Boros2020-02-287-50/+70
| | | | This patch includes also moves ownership of the collator to the ExpressionContext.
* SERVER-46404 Remove shouldLog from logger V1 APIMark Benvenuto2020-02-281-1/+1
|
* SERVER-46219 Unit Tests should log with jsonMark Benvenuto2020-02-255-21/+21
|
* SERVER-45567 removing util/log.h where I canGabriel Russell2020-02-212-4/+3
| | | | | | | o converting some log lines that were missed o fixing some missing includes create mode 100644 src/mongo/transport/ismaster_metrics.cpp
* SERVER-45457 Allow disabling system.js on a per-expression basisKatherine Wu2020-02-211-1/+1
| | | | create mode 100644 jstests/core/system_js_access.js
* SERVER-45869 automatically converted structured loggingGabriel Russell2020-02-132-6/+24
|
* SERVER-45454 Desugar where to expr + functionEric Cox2020-02-139-193/+37
|
* SERVER-45281 Reduce danger of MatchExpression::getChildVector()Jacob Evans2019-12-2317-43/+65
|
* SERVER-44623 Rework JSON generation from BSONObjHenrik Edin2019-12-181-1/+1
| | | | | | | - Extended Canonical/Relaxed 2.0.0 is supported - Using libfmt instead of stringstream as internal buffer - JSON parser can parse Extended Canonical/Relaxed and Strict formats - Removed TenGen format
* SERVER-43816 Push $text and $meta:"textScore" sort into the PlanStage layer.David Storch2019-12-181-1/+1
| | | | | | | | | | | | | | | | | | This change involves unifying the behavior of find and agg for validation of $meta:"textScore". In particular, find operations no longer require a "textScore" $meta projection in order to specify a "textScore" $meta sort. This brings find into alignment with agg, which never had such a restriction. It is also now legal for a find command to sort on the field overridden by a $meta:"textScore" projection without specifying the $meta operator in the sort pattern. In addition: - Tightens validation around uses of "textScore" $meta projections for queries that do not specify a $text predicate. - Fixes a bug in which $natural sort/hint were not correctly validated.
* SERVER-43349 Accommodate double $nots during serializationCharlie Swanson2019-11-2739-201/+351
|
* SERVER-43859: Take MODE_IX locks for collection creation.Daniel Gottlieb2019-11-261-1/+2
| | | | | | | | | | | | | | | | | Two concurrent storage transactions can now create collections with the same collection name. These transactions will conflict at commit time; the first committer will win and register their collection into the global catalog. The losing transactions will bubble a WriteConflictException. Top-level callers that should fail if the collection already existed must now check and fail with a NamespaceExists error code. Previously, those callers could rely on lower level code returning the NamespaceExists error. Callers that were implicitly creating a collection may retry the operation, using the now-registered collection. These transaction-local collections (UncommittedCollections) are returned when doing any CollectionCatalog::lookup* call.
* SERVER-44335 Deduplicate matcher/expression_test.cpp and ↵James Wahlin2019-11-014-342/+301
| | | | pipeline/expression_test.cpp file names
* SERVER-23664 $mod match expression should raise an error when the remainder ↵James Wahlin2019-10-082-24/+19
| | | | is not a number
* SERVER-43842 Break up json_schema_parser_test.cpp to fix ↵Nicholas Zolnierz2019-10-078-2168/+2371
| | | | -fvar-tracking-assignments note