| chunk.h | | chunk.h | |
| | | | |
| skipping to change at line 163 | | skipping to change at line 163 | |
| */ | | */ | |
| long getPhysicalSize() const; | | long getPhysicalSize() const; | |
| | | | |
| // | | // | |
| // public constants | | // public constants | |
| // | | // | |
| | | | |
| static string chunkMetadataNS; | | static string chunkMetadataNS; | |
| static int MaxChunkSize; | | static int MaxChunkSize; | |
| static int MaxObjectPerChunk; | | static int MaxObjectPerChunk; | |
|
| | | static bool ShouldAutoSplit; | |
| | | | |
| // | | // | |
| // accessors and helpers | | // accessors and helpers | |
| // | | // | |
| | | | |
| string toString() const; | | string toString() const; | |
| | | | |
| friend ostream& operator << (ostream& out, const Chunk& c) { return
(out << c.toString()); } | | friend ostream& operator << (ostream& out, const Chunk& c) { return
(out << c.toString()); } | |
| bool operator==(const Chunk& s) const; | | bool operator==(const Chunk& s) const; | |
| bool operator!=(const Chunk& s) const { return ! ( *this == s ); } | | bool operator!=(const Chunk& s) const { return ! ( *this == s ); } | |
| | | | |
| | | | |
| skipping to change at line 302 | | skipping to change at line 304 | |
| | | | |
| void createFirstChunks( const Shard& shard ) const; // only call fr
om DBConfig::shardCollection | | void createFirstChunks( const Shard& shard ) const; // only call fr
om DBConfig::shardCollection | |
| ChunkPtr findChunk( const BSONObj& obj ) const; | | ChunkPtr findChunk( const BSONObj& obj ) const; | |
| ChunkPtr findChunkOnServer( const Shard& shard ) const; | | ChunkPtr findChunkOnServer( const Shard& shard ) const; | |
| | | | |
| const ShardKeyPattern& getShardKey() const { return _key; } | | const ShardKeyPattern& getShardKey() const { return _key; } | |
| bool isUnique() const { return _unique; } | | bool isUnique() const { return _unique; } | |
| | | | |
| void getShardsForQuery( set<Shard>& shards , const BSONObj& query )
const; | | void getShardsForQuery( set<Shard>& shards , const BSONObj& query )
const; | |
| void getAllShards( set<Shard>& all ) const; | | void getAllShards( set<Shard>& all ) const; | |
|
| void getShardsForRange(set<Shard>& shards, const BSONObj& min, cons
t BSONObj& max) const; // [min, max) | | void getShardsForRange(set<Shard>& shards, const BSONObj& min, cons
t BSONObj& max, bool fullKeyReq = true) const; // [min, max) | |
| | | | |
| string toString() const; | | string toString() const; | |
| | | | |
| ShardChunkVersion getVersion( const Shard& shard ) const; | | ShardChunkVersion getVersion( const Shard& shard ) const; | |
| ShardChunkVersion getVersion() const; | | ShardChunkVersion getVersion() const; | |
| | | | |
| /** | | /** | |
| * this is just an increasing number of how many ChunkManagers we h
ave so we know if something has been updated | | * this is just an increasing number of how many ChunkManagers we h
ave so we know if something has been updated | |
| */ | | */ | |
| unsigned long long getSequenceNumber() const { return _sequenceNumb
er; } | | unsigned long long getSequenceNumber() const { return _sequenceNumb
er; } | |
| | | | |
End of changes. 2 change blocks. |
| 1 lines changed or deleted | | 3 lines changed or added | |
|
| extsort.h | | extsort.h | |
| | | | |
| skipping to change at line 79 | | skipping to change at line 79 | |
| return _compare(*extSortIdxInterface, *l, *r, extSortOrder); | | return _compare(*extSortIdxInterface, *l, *r, extSortOrder); | |
| }; | | }; | |
| | | | |
| class FileIterator : boost::noncopyable { | | class FileIterator : boost::noncopyable { | |
| public: | | public: | |
| FileIterator( string file ); | | FileIterator( string file ); | |
| ~FileIterator(); | | ~FileIterator(); | |
| bool more(); | | bool more(); | |
| Data next(); | | Data next(); | |
| private: | | private: | |
|
| MemoryMappedFile _file; | | bool _read( char* buf, long long count ); | |
| char * _buf; | | | |
| char * _end; | | int _file; | |
| | | unsigned long long _length; | |
| | | unsigned long long _readSoFar; | |
| }; | | }; | |
| | | | |
| public: | | public: | |
| | | | |
| typedef FastArray<Data> InMemory; | | typedef FastArray<Data> InMemory; | |
| | | | |
| class Iterator : boost::noncopyable { | | class Iterator : boost::noncopyable { | |
| public: | | public: | |
| | | | |
| Iterator( BSONObjExternalSorter * sorter ); | | Iterator( BSONObjExternalSorter * sorter ); | |
| | | | |
End of changes. 1 change blocks. |
| 3 lines changed or deleted | | 5 lines changed or added | |
|
| pch.h | | pch.h | |
| | | | |
| skipping to change at line 131 | | skipping to change at line 131 | |
| EXIT_SHARDING_ERROR = 5 , | | EXIT_SHARDING_ERROR = 5 , | |
| EXIT_KILL = 12 , | | EXIT_KILL = 12 , | |
| EXIT_ABRUPT = 14 , | | EXIT_ABRUPT = 14 , | |
| EXIT_NTSERVICE_ERROR = 20 , | | EXIT_NTSERVICE_ERROR = 20 , | |
| EXIT_JAVA = 21 , | | EXIT_JAVA = 21 , | |
| EXIT_OOM_MALLOC = 42 , | | EXIT_OOM_MALLOC = 42 , | |
| EXIT_OOM_REALLOC = 43 , | | EXIT_OOM_REALLOC = 43 , | |
| EXIT_FS = 45 , | | EXIT_FS = 45 , | |
| EXIT_CLOCK_SKEW = 47 , | | EXIT_CLOCK_SKEW = 47 , | |
| EXIT_NET_ERROR = 48 , | | EXIT_NET_ERROR = 48 , | |
|
| | | EXIT_WINDOWS_SERVICE_STOP = 49 , | |
| EXIT_POSSIBLE_CORRUPTION = 60 , // this means we detected a possibl
e corruption situation, like a buf overflow | | EXIT_POSSIBLE_CORRUPTION = 60 , // this means we detected a possibl
e corruption situation, like a buf overflow | |
| EXIT_UNCAUGHT = 100 , // top level exception that wasn't caught | | EXIT_UNCAUGHT = 100 , // top level exception that wasn't caught | |
| EXIT_TEST = 101 , | | EXIT_TEST = 101 , | |
| | | | |
| }; | | }; | |
| | | | |
| void dbexit( ExitCode returnCode, const char *whyMsg = "", bool tryToGe
tLock = false); | | void dbexit( ExitCode returnCode, const char *whyMsg = "", bool tryToGe
tLock = false); | |
| | | | |
| /** | | /** | |
| this is here so you can't just type exit() to quit the program | | this is here so you can't just type exit() to quit the program | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 1 lines changed or added | |
|
| queryoptimizer.h | | queryoptimizer.h | |
| | | | |
| skipping to change at line 482 | | skipping to change at line 482 | |
| /** Provides a cursor interface for certain limited uses of a MultiPlan
Scanner. */ | | /** Provides a cursor interface for certain limited uses of a MultiPlan
Scanner. */ | |
| class MultiCursor : public Cursor { | | class MultiCursor : public Cursor { | |
| public: | | public: | |
| class CursorOp : public QueryOp { | | class CursorOp : public QueryOp { | |
| public: | | public: | |
| CursorOp() {} | | CursorOp() {} | |
| CursorOp( const QueryOp &other ) : QueryOp( other ) {} | | CursorOp( const QueryOp &other ) : QueryOp( other ) {} | |
| virtual shared_ptr<Cursor> newCursor() const = 0; | | virtual shared_ptr<Cursor> newCursor() const = 0; | |
| }; | | }; | |
| /** takes ownership of 'op' */ | | /** takes ownership of 'op' */ | |
|
| MultiCursor( const char *ns, const BSONObj &pattern, const BSONObj
&order, shared_ptr<CursorOp> op = shared_ptr<CursorOp>(), bool mayYield = f
alse ); | | MultiCursor( const char *ns, const BSONObj &pattern, const BSONObj
&order, shared_ptr<CursorOp> op = shared_ptr<CursorOp>(), bool mayYield = f
alse, bool hintIdElseNatural = false ); | |
| /** | | /** | |
| * Used | | * Used | |
| * 1. To handoff a query to a getMore() | | * 1. To handoff a query to a getMore() | |
| * 2. To handoff a QueryOptimizerCursor | | * 2. To handoff a QueryOptimizerCursor | |
| * @param nscanned is an optional initial value, if not supplied ns
canned() | | * @param nscanned is an optional initial value, if not supplied ns
canned() | |
| * will always return -1 | | * will always return -1 | |
| */ | | */ | |
| MultiCursor( auto_ptr<MultiPlanScanner> mps, const shared_ptr<Curso
r> &c, const shared_ptr<CoveredIndexMatcher> &matcher, const QueryOp &op, l
ong long nscanned = -1 ); | | MultiCursor( auto_ptr<MultiPlanScanner> mps, const shared_ptr<Curso
r> &c, const shared_ptr<CoveredIndexMatcher> &matcher, const QueryOp &op, l
ong long nscanned = -1 ); | |
| | | | |
| virtual bool ok() { return _c->ok(); } | | virtual bool ok() { return _c->ok(); } | |
| | | | |
| skipping to change at line 542 | | skipping to change at line 542 | |
| NoOp() {} | | NoOp() {} | |
| NoOp( const QueryOp &other ) : CursorOp( other ) {} | | NoOp( const QueryOp &other ) : CursorOp( other ) {} | |
| virtual void _init() { setComplete(); } | | virtual void _init() { setComplete(); } | |
| virtual void next() {} | | virtual void next() {} | |
| virtual bool mayRecordPlan() const { return false; } | | virtual bool mayRecordPlan() const { return false; } | |
| virtual QueryOp *_createChild() const { return new NoOp(); } | | virtual QueryOp *_createChild() const { return new NoOp(); } | |
| virtual shared_ptr<Cursor> newCursor() const { return qp().newC
ursor(); } | | virtual shared_ptr<Cursor> newCursor() const { return qp().newC
ursor(); } | |
| virtual long long nscanned() { assert( false ); return 0; } | | virtual long long nscanned() { assert( false ); return 0; } | |
| }; | | }; | |
| void nextClause(); | | void nextClause(); | |
|
| | | static BSONObj idElseNaturalHint( const char *ns ); | |
| shared_ptr<CursorOp> _op; | | shared_ptr<CursorOp> _op; | |
| shared_ptr<Cursor> _c; | | shared_ptr<Cursor> _c; | |
|
| | | BSONObj _hint; | |
| | | BSONElement _hintElt; | |
| auto_ptr<MultiPlanScanner> _mps; | | auto_ptr<MultiPlanScanner> _mps; | |
| shared_ptr<CoveredIndexMatcher> _matcher; | | shared_ptr<CoveredIndexMatcher> _matcher; | |
| long long _nscanned; | | long long _nscanned; | |
| }; | | }; | |
| | | | |
| /** NOTE min, max, and keyPattern will be updated to be consistent with
the selected index. */ | | /** NOTE min, max, and keyPattern will be updated to be consistent with
the selected index. */ | |
| IndexDetails *indexDetailsForRange( const char *ns, string &errmsg, BSO
NObj &min, BSONObj &max, BSONObj &keyPattern ); | | IndexDetails *indexDetailsForRange( const char *ns, string &errmsg, BSO
NObj &min, BSONObj &max, BSONObj &keyPattern ); | |
| | | | |
| bool isSimpleIdQuery( const BSONObj& query ); | | bool isSimpleIdQuery( const BSONObj& query ); | |
| | | | |
| | | | |
End of changes. 3 change blocks. |
| 1 lines changed or deleted | | 4 lines changed or added | |
|
| update.h | | update.h | |
| | | | |
| skipping to change at line 52 | | skipping to change at line 52 | |
| } | | } | |
| | | | |
| }; | | }; | |
| | | | |
| class RemoveSaver; | | class RemoveSaver; | |
| | | | |
| /* returns true if an existing object was updated, false if no existing
object was found. | | /* returns true if an existing object was updated, false if no existing
object was found. | |
| multi - update multiple objects - mostly useful with things like $se
t | | multi - update multiple objects - mostly useful with things like $se
t | |
| god - allow access to system namespaces | | god - allow access to system namespaces | |
| */ | | */ | |
|
| UpdateResult updateObjects(const char *ns, const BSONObj& updateobj, BS
ONObj pattern, bool upsert, bool multi , bool logop , OpDebug& debug ); | | UpdateResult updateObjects(const char *ns, const BSONObj& updateobj, BS
ONObj pattern, bool upsert, bool multi , bool logop , OpDebug& debug, bool
hintIdElseNatural = false ); | |
| UpdateResult _updateObjects(bool god, const char *ns, const BSONObj& up
dateobj, BSONObj pattern, | | UpdateResult _updateObjects(bool god, const char *ns, const BSONObj& up
dateobj, BSONObj pattern, | |
|
| bool upsert, bool multi , bool logop , OpDe | | bool upsert, bool multi , bool logop , OpDe | |
| bug& debug , RemoveSaver * rs = 0 ); | | bug& debug , RemoveSaver * rs = 0, | |
| | | bool hintIdElseNatural = false); | |
| | | | |
| // ---------- private ------------- | | // ---------- private ------------- | |
| | | | |
| class ModState; | | class ModState; | |
| class ModSetState; | | class ModSetState; | |
| | | | |
| /* Used for modifiers such as $inc, $set, $push, ... | | /* Used for modifiers such as $inc, $set, $push, ... | |
| * stores the info about a single operation | | * stores the info about a single operation | |
| * once created should never be modified | | * once created should never be modified | |
| */ | | */ | |
| | | | |
End of changes. 2 change blocks. |
| 3 lines changed or deleted | | 4 lines changed or added | |
|