mirror of
https://github.com/mongodb/mongo.git
synced 2024-12-01 09:32:32 +01:00
driver helpers
This commit is contained in:
parent
c7bc4b3d96
commit
ee8f28dcfd
@ -387,6 +387,7 @@ serverOnlyFiles += [ "db/index.cpp" ] + Glob( "db/index_*.cpp" )
|
||||
|
||||
serverOnlyFiles += Glob( "db/dbcommands*.cpp" )
|
||||
serverOnlyFiles += Glob( "db/stats/*.cpp" )
|
||||
serverOnlyFiles += [ "db/driverHelpers.cpp" ]
|
||||
|
||||
if usesm:
|
||||
commonFiles += [ "scripting/engine_spidermonkey.cpp" ]
|
||||
|
63
db/driverHelpers.cpp
Normal file
63
db/driverHelpers.cpp
Normal file
@ -0,0 +1,63 @@
|
||||
// driverHelpers.cpp
|
||||
|
||||
/**
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License, version 3,
|
||||
* as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
this file has dbcommands that are for drivers
|
||||
mostly helpers
|
||||
*/
|
||||
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "jsobj.h"
|
||||
#include "pdfile.h"
|
||||
#include "namespace.h"
|
||||
#include "commands.h"
|
||||
#include "cmdline.h"
|
||||
#include "btree.h"
|
||||
#include "curop.h"
|
||||
#include "../util/background.h"
|
||||
#include "../scripting/engine.h"
|
||||
|
||||
namespace mongo {
|
||||
|
||||
class BasicDriverHelper : public Command {
|
||||
public:
|
||||
BasicDriverHelper( const char * name ) : Command( name ){}
|
||||
|
||||
virtual LockType locktype(){ return NONE; }
|
||||
virtual bool slaveOk(){ return true; }
|
||||
virtual bool slaveOverrideOk(){ return true; }
|
||||
|
||||
};
|
||||
|
||||
class ObjectIdTest : public BasicDriverHelper {
|
||||
public:
|
||||
ObjectIdTest() : BasicDriverHelper( "driverOIDTest" ){}
|
||||
virtual bool run(const char *ns, BSONObj& cmdObj, string& errmsg, BSONObjBuilder& result, bool fromRepl){
|
||||
if ( cmdObj.firstElement().type() != jstOID ){
|
||||
errmsg = "not oid";
|
||||
return false;
|
||||
}
|
||||
|
||||
const OID& oid = cmdObj.firstElement().__oid();
|
||||
result.append( "oid" , oid );
|
||||
result.append( "str" , oid.str() );
|
||||
|
||||
return true;
|
||||
}
|
||||
} driverObjectIdTest;
|
||||
}
|
Loading…
Reference in New Issue
Block a user