|
|
@ -17,8 +17,6 @@ |
|
|
|
namespace fielddb { |
|
|
|
using namespace leveldb; |
|
|
|
|
|
|
|
const char EMPTY[1] = {0}; |
|
|
|
|
|
|
|
//为虚函数提供最基本的实现
|
|
|
|
void Request::PendReq(Request *req) { |
|
|
|
assert(0); |
|
|
@ -340,13 +338,13 @@ BatchReq::BatchReq(WriteBatch *Batch,port::Mutex *mu): |
|
|
|
void Put(const Slice &key, const Slice &value) override { |
|
|
|
//为key和value构造存储的地方,防止由于string的析构造成可能得内存访问错误
|
|
|
|
str_buf->push_back(key.ToString()); |
|
|
|
fa_buf->push_back({{EMPTY,value.ToString()}}); |
|
|
|
// FieldArray *field = new FieldArray;
|
|
|
|
// field = ParseValue(value.ToString(), field);
|
|
|
|
// if (field->empty()){ //batch中的value没有field
|
|
|
|
// } else {
|
|
|
|
// fa_buf->push_back(*field);
|
|
|
|
// }
|
|
|
|
FieldArray *field = new FieldArray; |
|
|
|
field = ParseValue(value.ToString(), field); |
|
|
|
if (field->empty()){ //batch中的value没有field
|
|
|
|
fa_buf->push_back({{EMPTY,value.ToString()}}); |
|
|
|
} else { |
|
|
|
fa_buf->push_back(*field); |
|
|
|
} |
|
|
|
|
|
|
|
sub_requests->emplace_back(new FieldsReq(&str_buf->back(),&fa_buf->back(),mu)); |
|
|
|
sub_requests->back()->parent = req; |
|
|
|