10#include "ConfDataStoreDB.h"
37 template<
typename K,
typename D>
51 db.setMaxNumberConfigs(1);
73 db.setCacheSize(size);
87 db.setCacheSizeMB(size);
103 db.setPageSize(size);
118 db.setNumberBuckets(num);
137 db.disablePageMove();
146 db.setMaxUserInfoLen(len);
151 unsigned int ret = 0;
153 ret = db.getMaxUserInfoLen();
165 db.setMaxNumberConfigs(num);
170 unsigned int ret = 0;
172 ret = db.getMaxNumberConfigs();
186 ret = db.fileExists(file);
203 virtual void open (
const std::string& file,
int open_flags,
int mode)
207 ret = db.open(file, open_flags, mode);
212 QDPIO::cerr <<
"Cannot open db file= " << file << std::endl;
227 QDPIO::cerr <<
"Error closing db file" << std::endl;
257 void insert (
const K& key,
const D& data)
261 ret = db.insert(key, data);
266 QDPIO::cerr << __func__ <<
": error inserting into db" << std::endl;
283 ret = db.insertBinary(key, data);
288 QDPIO::cerr << __func__ <<
": error in db" << std::endl;
300 int get (
const K& key, D& data)
304 ret = db.get(key, data);
320 int getBinary (
const std::string& key, std::string& data)
324 ret = db.getBinary(key, data);
337 virtual void keys (std::vector<K>& keys_)
351 virtual void keysAndData (std::vector<K>& keys_, std::vector<D>& values_)
354 db.keysAndData(keys_, values_);
367 std::vector<std::string> values_)
370 db.binaryKeysAndData(keys_, values_);
393 ret = db.storageName();
410 ret = db.insertUserdata(user_data);
415 QDPIO::cerr << __func__ <<
": error inserting user data into db" << std::endl;
430 ret = db.getUserdata(user_data);
439 QDPIO::cerr << __func__ <<
": error getting user data from db" << std::endl;
448 void notImplemented()
const
450 QDP_error_exit(
"FILEDB read routines do not work (yet) in parallel - only single node");
453 FILEDB::ConfDataStoreDB<K,D> db;
virtual unsigned int getMaxNumberConfigs(void) const
void insert(const K &key, const D &data)
virtual void enablePageMove(void)
int get(const K &key, D &data)
virtual void setCacheSizeMB(const unsigned int size)
virtual void setPageSize(const unsigned int size)
virtual void binaryKeysAndData(std::vector< std::string > keys_, std::vector< std::string > values_)
virtual void setMaxNumberConfigs(unsigned int num)
const int db_cachesize
Fake cache and page sizes.
virtual void insertUserdata(const std::string &user_data)
virtual void keysAndData(std::vector< K > &keys_, std::vector< D > &values_)
virtual void setCacheSize(const unsigned int size)
int getBinary(const std::string &key, std::string &data)
void insertBinary(const std::string &key, const std::string &data)
virtual void getUserdata(std::string &user_data)
virtual void keys(std::vector< K > &keys_)
virtual bool fileExists(const std::string &file) const
virtual void disablePageMove(void)
virtual unsigned int getMaxUserInfoLen(void) const
virtual void open(const std::string &file, int open_flags, int mode)
virtual std::string storageName(void) const
virtual void setNumberBuckets(const unsigned int num)
virtual void setMaxUserInfoLen(unsigned int len)
bool primaryNode()
Returns whether this is the primary node.
StandardOutputStream cerr
void broadcast(T &dest)
Broadcast from primary node to all other nodes.
void broadcast_str(std::string &result)
Broadcast a string from primary node to all other nodes.
Yet another random number generator.
void QDP_error_exit(const char *format,...)
Simple error display and abort routine.
void QDP_abort(int status)
Panic button.