summaryrefslogtreecommitdiff
path: root/src/mongo/db/matcher/expression_array.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-49207 Implement validation error generation for array query operatorsMihai Andrei2020-08-191-9/+13
|
* SERVER-43349 Accommodate double $nots during serializationCharlie Swanson2019-11-271-6/+3
|
* SERVER-41772 Apply clang-format 7.0.1 to the codebaseclang-format-7.0.12019-07-271-1/+1
|
* SERVER-41071 Replace NULL and 0 with nullptrA. Jesse Jiryu Davis2019-06-141-4/+4
|
* SERVER-40267 Clean up debug string generation for MatchExpression.David Storch2019-03-221-8/+8
|
* SERVER-39019 Fix incorrect $elemMatch $ne serializationJames Wahlin2019-02-191-6/+7
|
* SERVER-39560 - remove leading blank line on all C++ filesBilly Donahue2019-02-131-3/+0
| | | | | | Remove leading comments that are just stating the filename. Move any file-level comments below the copyright banner. Remove leading blank lines.
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-8/+10
|
* SERVER-30783 Move init() logic to MatchExpression constructorsBlake Oler2017-11-141-19/+13
|
* Reapply "SERVER-30991 Introduce MatchExpression::optimize()."Justin Seyster2017-09-291-0/+21
| | | | | | This patch undoes the revert in 3cf4e0593c394dd7eb45d8000d76b5dc73a3f425 and includes minor changes to fix the compiler problem that resulted in the previous revert.
* Revert "SERVER-30991 Introduce MatchExpression::optimize()."Justin Seyster2017-09-281-21/+0
| | | | | | This reverts commit 3cf4e0593c394dd7eb45d8000d76b5dc73a3f425. Reverting because of a Clang compile error.
* SERVER-30991 Introduce MatchExpression::optimize().Justin Seyster2017-09-281-0/+21
| | | | | | | | | | | | | | | | | | | | | | This patch refactors CanonicalQuery::normalizeTree() so that the normalization logic for each type of MatchExpression goes with the class, rather than all the optimization rules getting bundled into one huge else if chain. We wanted something along the lines of an optimize() member function that would optimize 'this' and return the optimized result (possibly the same object). However, we also wanted unique_ptr semantics, so that the optimize function creates a new tree that does not include the original object, it autmotatically gets destroyed. There's no way to specify a member function that accepts a unique_ptr 'this' value. To get around that, we provide a getOptimizer() private function that returns a function with the unique_ptr signature we want: unique_ptr<MatchExpression> -> unique_ptr<MatchExpression>. This way, we still get to replace our if else chain with virtual dispatch, and we can maintain unique_ptr semantics for the MatchExpression tree.
* SERVER-30245 Make ArrayMatchingMatchExpression inherit from PathMatchExpression.David Storch2017-08-021-32/+6
|
* SERVER-27244 Status usage compile-time facilities.ADAM David Alan Martin2017-06-181-1/+1
| | | | | | | | | | | | | | | | | There are numerous places in the codebase where `mongo::Status` or `mongo::StatusWith< T >` objects are returned and never checked. Many of these are innocuous, but many of them are potentially severe bugs. This change introduces facilities to permit compile-time warning of unchecked `Status` and `StatusWith` usage on clang compilers. It introduces an `ignore` function which is useful to state that a specific "ignored status" case was intentional. It not presently an error, in clang builds, to forget to check a `Status` -- this will come in a later commit. This also introduces a `transitional_ignore` function, which allows for easy continual auditing of the codebase for current "whitelisted" unchecked-status instances. All present "ignored status" cases have been marked `transitional_ignore`.
* SERVER-21612 Reorder lookup and match.Benjamin Murphy2016-04-251-4/+4
|
* SERVER-22833 Rename MatchExpression::toBSON() to serialize(), and ensure it ↵Benjamin Murphy2016-03-141-15/+11
| | | | produces parseable output.
* SERVER-18579: Clang-Format - reformat code, no comment reflowMark Benvenuto2015-06-201-162/+160
|
* SERVER-16940 Change pass-by-const-ref of StringData to pass-by-valueTyler Brock2015-02-061-5/+5
|
* SERVER-16256 get rid of ALL match expressionsDavid Storch2014-12-011-97/+0
| | | | | | Every $all should parse to an AND match expression. This simplifies the implementation, and fixes a bug related to bounds building for $all-$elemMatch constructions.
* SERVER-15380 Tune MONGO_LOG_DEFAULT_COMPONENT declarationsMatt Kangas2014-10-281-3/+0
|
* SERVER-15592 set default log component for all cppMatt Kangas2014-10-141-0/+2
|
* SERVER-14096 explain find() at queryPlanner verbosityDavid Storch2014-06-111-0/+40
| | | | Enable by the setParameter 'enableNewExplain'
* SERVER-10471 enumerate indices w/array operators correctly, clean up and ↵Hari Khalsa2013-09-301-11/+14
| | | | comment planner
* SERVER-10026 SERVER-10471 planner bug fixes from going through testsHari Khalsa2013-09-231-0/+24
|
* SERVER-10026 enumeration as strategies, bug fixes galore, build plansHari Khalsa2013-09-181-1/+2
|
* SERVER-10471 Fleshing out the new query planner / enumeratorAlberto Lerner2013-09-111-4/+4
|
* SERVER-10715: change MatchableDocument api to allow for caching of iteratorsEliot Horowitz2013-09-091-3/+2
| | | | this allows a 2x performance increase for scans
* SERVER-8886 Add OpenSSL exception to files in src/mongo/dbIan Whalen2013-09-061-0/+12
|
* SERVER-9820: change ElementIterator::Element to ContextEliot Horowitz2013-06-051-2/+2
|
* SERVER-9820: Introduce Path and iterators such that all bson walking logic ↵Eliot Horowitz2013-05-301-63/+32
| | | | is one place
* SERVER-9749: all is just semantic sugar for andEliot Horowitz2013-05-221-103/+0
|
* SERVER-6400: in $all, correct embedded array walkingEliot Horowitz2013-05-171-0/+11
|
* SERVER-6400: optimizations around parsing pathsEliot Horowitz2013-05-091-2/+2
|
* SERVER-6400: more caching of FieldRefsEliot Horowitz2013-05-091-6/+5
|
* SERVER-6400: cleaning api for performanceEliot Horowitz2013-05-091-2/+2
|
* SERVER-6400 Use an abstraction layer into MatchExpression for different formatsEliot Horowitz2013-05-091-7/+7
| | | | currently BSONObj vs index keys
* SERVER-6400: MatchExpression version of Matcher code complete.Eliot Horowitz2013-05-061-0/+54
|
* SERVER-6400 rename *Expression* to *MatchExpression* to avoid conflictEliot Horowitz2013-04-291-21/+21
|
* SERVER-6400 - move MatchDetails out of matcher.hEliot Horowitz2013-04-291-1/+0
|
* SERVER-6400 new expression tree and parserEliot Horowitz2013-04-231-0/+348
Will eventually replace Matcher