summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/canonical_query_test.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-65793 Do not parameterize queries with TEXT match expression nodeAlexander Ignatyev2022-05-041-0/+14
| | | | (cherry picked from commit 9ca1d39e1ad5317bf3e8dcbef937f165f991d74c)
* SERVER-54975 Rename IDL parser classes to use CommandRequest and ↵Bernard Gorman2021-04-021-13/+14
| | | | CommandReply suffixes
* SERVER-53060 Remove QueryRequest classRuoxin Xu2021-02-171-49/+52
|
* SERVER-51624 Modify query commands to enforce API version 1 behaviourRuoxin Xu2021-01-301-3/+3
|
* SERVER-51619 Convert find command input to IDLArun Banala2021-01-071-8/+10
|
* SERVER-25023 Allow multiple indexes on the same fields with different ↵Bernard Gorman2020-04-251-4/+4
| | | | partial index filters
* SERVER-43816 Push $text and $meta:"textScore" sort into the PlanStage layer.David Storch2019-12-181-0/+58
| | | | | | | | | | | | | | | | | | 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-39339 Remove `stdx/memory.h`ADAM David Alan Martin2019-06-101-7/+7
|
* SERVER-40476 remove mongoutils::strBilly Donahue2019-04-091-3/+3
| | | | | | Rename utils/mongoutils/str.h => utils/str.h Rename namespace mongoutils::str => str Rename mongo::strcasecmp => str::caseInsensitiveCompare.
* SERVER-40267 Clean up debug string generation for MatchExpression.David Storch2019-03-221-4/+4
|
* SERVER-39560 - remove leading blank line on all C++ filesBilly Donahue2019-02-131-1/+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-30005: remove $isolated/$atomic optionNick Zolnierz2018-03-211-31/+0
|
* Revert "SERVER-30005: remove $isolated/$atomic option"Nick Zolnierz2018-03-201-0/+31
| | | | This reverts commit cd950b113ee0d00e88036b2fe6306866c7ba27f9.
* SERVER-30005: remove $isolated/$atomic optionNick Zolnierz2018-03-201-31/+0
|
* SERVER-19415 Fix planCacheListQueryShapes command to report correct query ↵Ian Boros2017-12-071-4/+3
| | | | predicate
* SERVER-17846: Forbid $isolated outside of update/delete user operationsNick Zolnierz2017-10-231-6/+19
|
* Reapply "SERVER-30991 Introduce MatchExpression::optimize()."Justin Seyster2017-09-291-293/+15
| | | | | | This patch undoes the revert in 3cf4e0593c394dd7eb45d8000d76b5dc73a3f425 and includes minor changes to fix the compiler problem that resulted in the previous revert.
* SERVER-30731 MatchExpressionParser::parse() should require an ExpressionContextTess Avitabile2017-09-291-4/+2
|
* Revert "SERVER-30991 Introduce MatchExpression::optimize()."Justin Seyster2017-09-281-15/+293
| | | | | | This reverts commit 3cf4e0593c394dd7eb45d8000d76b5dc73a3f425. Reverting because of a Clang compile error.
* SERVER-30991 Introduce MatchExpression::optimize().Justin Seyster2017-09-281-293/+15
| | | | | | | | | | | | | | | | | | | | | | 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-29142 Support $changeStream on unsharded collections.Charlie Swanson2017-09-131-1/+1
|
* SERVER-29840 Add allowed features bitmask to MatchExpressionParser::parseTess Avitabile2017-08-251-28/+20
|
* SERVER-30189 Reduce calls to allocator for large $in expressionsTess Avitabile2017-08-091-1/+2
|
* 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-27938 Rename all OperationContext variables to opCtxMaria van Keulen2017-03-071-23/+23
| | | | | | This commit is an automated rename of all whole word instances of txn, _txn, and txnPtr to opCtx, _opCtx, and opCtxPtr, respectively in all .cpp and .h files in src/mongo.
* SERVER-27904 Extend support for moving predicates into contained ORs to ↵Tess Avitabile2017-02-281-0/+2
| | | | multikey indexes
* SERVER-24508 BSONObj::ComparatorInterfaceDavid Storch2016-08-181-3/+4
| | | | | | | | | | | BSONObj instances should now be compared via the comparator interface's evaluate() method. This preferred over using BSONObj::woCompare() directly. If the comparison doesn't require any database semantics (e.g. there is no collation), there is a global instance of the SimpleBSONObjComparator which should be used for BSONObj comparisons. If the comparison requires special semantics, then callers must instantiate their own comparator object.
* SERVER-23138 make CanonicalQuery normalize $nor with one child to a NOT ↵David Storch2016-07-131-0/+22
| | | | expression
* SERVER-23611 Queries use collection default collation, if unspecifiedJ. Rassi2016-06-131-0/+35
|
* SERVER-23611 Add InMatchExpression::setCollator() methodJ. Rassi2016-06-101-1/+2
| | | | Also removes collator parameter from InMatchExpression constructor.
* SERVER-24118 Rename LiteParsedQuery to QueryRequest.David Hatch2016-06-031-104/+104
|
* SERVER-23971 Clang-Format codeMark Benvenuto2016-05-281-85/+85
|
* SERVER-23611 Refactor InMatchExpressionJ. Rassi2016-05-271-1/+1
| | | | | | Includes deletion of the ArrayFilterEntries class. This is groundwork for implementing InMatchExpression::setCollator().
* SERVER-23610 CanonicalQuery should own a CollatorInterfaceTess Avitabile2016-05-161-0/+56
|
* SERVER-24045 Refactor CanonicalQuery::canonicalize()Tess Avitabile2016-05-101-9/+11
|
* SERVER-24045 Refactor LiteParsedQueryTess Avitabile2016-05-061-137/+27
|
* SERVER-23610 CanonicalQuery should own a CollatorInterfaceTess Avitabile2016-05-051-10/+23
|
* SERVER-23349 make CollatorInterface methods constDavid Storch2016-05-041-1/+1
| | | | Also changes all uses of CollatorInterface* to pointers-to-const.
* SERVER-23608 Make MatchExpressionParser take a CollatorInterface*Tess Avitabile2016-04-261-1/+3
|
* SERVER-23348 Add a collator to ComparisonMatchExpression, InMatchExpressionTess Avitabile2016-04-131-0/+14
|
* SERVER-21065 Fixed use-after-free in canonical_query_test.cpp.Benjamin Murphy2016-04-111-3/+4
|
* SERVER-21065 CanonicalQuery::normalizeTree optimizes InMatchExpression with ↵Benjamin Murphy2016-04-071-0/+26
| | | | one child.
* SERVER-12307 CanonicalQuery tracks whether an update or delete is isolated.Benjamin Murphy2016-03-111-0/+23
|
* SERVER-15688 Added check for TEXT + tailable to canonical query validationPaul Pedersen2016-02-221-0/+22
|
* SERVER-8564 An index hint inconsistent with requested natural order sort ↵Tess Avitabile2016-02-031-0/+27
| | | | should be an error
* SERVER-21407 explicitly disallow $text/$where extensions during ↵David Storch2015-12-221-6/+13
| | | | MatchExpression parsing
* SERVER-19510 Refactor $text match expression parsingJason Rassi2015-11-121-1/+2
| | | | | | | - Text parsing no longer uses dedicated callback handle; responsibility moved to ExtensionsCallback. - Introduces TextMatchExpressionBase (new base class for existing class TextMatchExpression and new class TextNoOpMatchExpression).
* SERVER-19355 add {$meta: 'sortKey'} projectionDavid Storch2015-08-241-0/+22
|
* SERVER-19235 CQ::canonicalize() to use NamespaceString rather than std::stringQingyang Chen2015-07-271-2/+2
|