35 #include "mongo/bson/simple_bsonobj_comparator.h"    36 #include "mongo/db/jsobj.h"    37 #include "mongo/db/record_id.h"    55     return SimpleBSONObjComparator::kInstance.evaluate(lhs.
key == rhs.
key) && (lhs.
loc == rhs.
loc);
   115     bool prefixExclusive = 
false;
   185     static BSONObj makeQueryObject(
const BSONObj& keyPrefix,
   187                                    bool prefixExclusive,
   188                                    const std::vector<const BSONElement*>& keySuffix,
   189                                    const std::vector<bool>& suffixInclusive,
   190                                    const int cursorDirection);
   193         return makeQueryObject(seekPoint.
keyPrefix,
 bool prefixExclusive
If true, compare exclusively on just the fields on keyPrefix and ignore the suffix. 
Definition: index_entry_comparison.h:115
 
const Ordering _order
Definition: index_entry_comparison.h:203
 
bool operator==(const IndexKeyEntry &lhs, const IndexKeyEntry &rhs)
Definition: index_entry_comparison.h:54
 
Copyright (C) 2014 MongoDB Inc. 
Definition: bson_collection_catalog_entry.cpp:38
 
static BSONObj makeQueryObject(const IndexSeekPoint &seekPoint, bool isForward)
Definition: index_entry_comparison.h:192
 
static int compare(const unsigned char *&l, const unsigned char *&r)
Definition: key.cpp:468
 
bool operator!=(const IndexKeyEntry &lhs, const IndexKeyEntry &rhs)
Definition: index_entry_comparison.h:58
 
BSONObj key
Definition: index_entry_comparison.h:48
 
Compares two different IndexKeyEntry instances. 
Definition: index_entry_comparison.h:140
 
IndexKeyEntry(BSONObj key, RecordId loc)
Definition: index_entry_comparison.h:46
 
std::ostream & operator<<(std::ostream &stream, const IndexKeyEntry &entry)
Definition: index_entry_comparison.cpp:37
 
int prefixLen
Use this many fields in 'keyPrefix'. 
Definition: index_entry_comparison.h:110
 
Ordering _order
Definition: ephemeral_for_test_btree_impl_test.cpp:57
 
std::vector< bool > suffixInclusive
If the ith element is false, ignore indexes > i in keySuffix and treat the concatenated key as exclus...
Definition: index_entry_comparison.h:130
 
RecordId loc
Definition: index_entry_comparison.h:49
 
IndexEntryComparison(Ordering order)
Definition: index_entry_comparison.h:142
 
BSONObj keyPrefix
Definition: index_entry_comparison.h:105
 
Describes a query that can be compared against an IndexKeyEntry in a way that allows expressing exclu...
Definition: index_entry_comparison.h:104
 
Represents a single item in an index. 
Definition: index_entry_comparison.h:45
 
std::vector< const BSONElement * > keySuffix
Elements starting at index 'prefixLen' are logically appended to the prefix. 
Definition: index_entry_comparison.h:121