33 #include "mongo/db/jsobj.h" 34 #include "mongo/util/debug_util.h" 47 explicit KeyBson(
const char* keyData) :
_o(keyData) {}
63 return _o.firstElement();
94 DEV
_keyData = (
const unsigned char*)1;
98 dassert(
_keyData > (
const unsigned char*)1);
115 return toBson().toString();
128 return bson().firstElement();
135 return _keyData > (
const unsigned char*)1;
143 return BSONObj((
const char*)
_keyData + 1);
BSONObj bson() const
Definition: key.h:141
int dataSize() const
Definition: key.h:56
const char * data() const
get the key data we want to store in the btree bucket
Definition: key.h:119
bool isCompactFormat() const
Definition: key.h:130
void operator=(const KeyV1Owned &)
~KeyV1()
Definition: key.h:93
std::string toString() const
Definition: key.h:114
int compareHybrid(const KeyV1 &right, const Ordering &order) const
Definition: key.cpp:562
KeyV1Owned(const BSONObj &obj)
@obj a BSON object to be translated to KeyV1 format.
Definition: key.cpp:273
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
BSONElement _firstElement() const
only used by geo, which always has bson keys
Definition: key.h:127
KeyBson(const char *keyData)
Definition: key.h:47
KeyBson()
Definition: key.h:46
int dataSize() const
Definition: key.cpp:633
bool woEqual(const KeyV1 &r) const
Definition: key.cpp:648
KeyV1(const char *keyData)
Definition: key.h:109
bool isValid() const
Definition: key.h:72
KeyV1(const KeyV1 &rhs)
Definition: key.h:97
BSONObj toBson() const
Definition: key.h:50
bool isValid() const
Definition: key.h:134
void operator=(const KeyV1 &)
BSONElement _firstElement() const
Definition: key.h:62
Key class for precomputing a small format index key that is denser than a traditional BSONObj.
Definition: key.h:44
void assign(const KeyBson &rhs)
Definition: key.h:69
KeyBson(const BSONObj &obj)
Definition: key.h:48
const char * data() const
Definition: key.h:59
bool isCompactFormat() const
Definition: key.h:65
const unsigned char * _keyData
Definition: key.h:140
void traditional(const BSONObj &obj)
object cannot be represented in compact format.
Definition: key.cpp:258
int woCompare(const KeyBson &r, const Ordering &o) const
Definition: key.cpp:203
BSONObj _o
Definition: key.h:77
BSONObj toBson() const
Definition: key.cpp:379
int woCompare(const KeyV1 &r, const Ordering &o) const
Definition: key.cpp:568
KeyV1()
Definition: key.h:90
StackBufBuilder b
Definition: key.h:164
void assign(const KeyV1 &rhs)
Definition: key.h:102
bool woEqual(const KeyBson &r) const
Definition: key.cpp:209
std::string toString() const
Definition: key.h:53