本文整理汇总了C++中leveldb::DB::Put方法的典型用法代码示例。如果您正苦于以下问题:C++ DB::Put方法的具体用法?C++ DB::Put怎么用?C++ DB::Put使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类leveldb::DB
的用法示例。
在下文中一共展示了DB::Put方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: load
void load(unsigned short bamIndex)
{
size_t n_reads=0;
std::string value;
bam1_t *b= bam_init1();
index2chromNames.resize(bamIndex+1);
WHERE(in->header);
for(int32_t i=0;i< in->header->n_targets;++i)
{
string target_name(in->header->target_name[i]);
index2chromNames.back().push_back(target_name);
}
while(samread(this->in, b) > 0) /* loop over the records */
{
std::auto_ptr<vector<Hit> > hits(0);
Bam1Sequence seq(b);
leveldb::Slice key1(seq.name());
value.clear();
WHERE(n_reads);
leveldb::Status status = db->Get(this->read_options, key1, &value);
if(!status.ok())
{
hits.reset(new vector<Hit>());
n_reads++;
if(n_reads%1000000UL==0)
{
clog << n_reads << endl;
//break;//TODO
}
}
else
{
hits=decode(value);
}
Hit hit;
hit.bamIndex=bamIndex;
hit.tid = seq.tid();
hit.pos = seq.pos();
hit.flag = seq.flag();
hits->push_back(hit);
std::auto_ptr<string> encoded = this->encode(hits.get());
leveldb::Slice value1(encoded->data(),encoded->size());
status = db->Put(this->write_options, key1, value1);
if(!status.ok())
{
cerr << "Cannot insert into db" << endl;
break;
}
}
bam_destroy1(b);
}
示例2: licKey
inline BOOL ConfDB::SetLicense(astring &strLicense)
{
VSCConfLicenseKey sLic;
leveldb::WriteOptions writeOptions;
leveldb::Slice licKey((char *)&sLic, sizeof(sLic));
leveldb::Slice licValue(strLicense);
m_pDb->Put(writeOptions, licKey, licValue);
return true;
}
示例3: UpdateVIPCData
inline BOOL ConfDB::UpdateVIPCData(u32 nId, VSCVIPCData &pData)
{
VSCConfVIPCKey sChKey(nId);
leveldb::WriteOptions writeOptions;
leveldb::Slice chKey((char *)&sChKey, sizeof(sChKey));
leveldb::Slice chValue((char *)&pData, sizeof(VSCDeviceData));
m_pDb->Put(writeOptions, chKey, chValue);
return TRUE;
}
示例4: Put
Status Put(const std::string& key, const std::string& value)
{
leveldb::Status s = db->Put(leveldb::WriteOptions(), key, value);
if (s.ok())
{
return Status::OK();
}
std::cerr << s.ToString() << std::endl;
return Status::NotFound();
}
示例5: sysKey
/* HDFS record */
inline s32 ConfDB::UpdateHdfsRecordData(VSCHdfsRecordData &pData)
{
VSCConfHdfsRecordKey sKey;
leveldb::WriteOptions writeOptions;
leveldb::Slice sysKey((char *)&sKey, sizeof(sKey));
leveldb::Slice sysValue((char *)&pData, sizeof(VSCHdfsRecordData));
m_pDb->Put(writeOptions, sysKey, sysValue);
return TRUE;
}
示例6: Error
Try<bool> LevelDBStorageProcess::write(const Entry& entry)
{
CHECK_NONE(error);
leveldb::WriteOptions options;
options.sync = true;
string value;
if (!entry.SerializeToString(&value)) {
return Error("Failed to serialize Entry");
}
leveldb::Status status = db->Put(options, entry.name(), value);
if (!status.ok()) {
return Error(status.ToString());
}
return true;
}