Pārlūkot izejas kodu

fix

pull/2/head
cyq pirms 8 mēnešiem
vecāks
revīzija
55c59fe021
3 mainītis faili ar 10 papildinājumiem un 10 dzēšanām
  1. +1
    -1
      fielddb/field_db.cpp
  2. +2
    -0
      fielddb/field_db.h
  3. +7
    -9
      fielddb/request.cpp

+ 1
- 1
fielddb/field_db.cpp Parādīt failu

@ -227,7 +227,7 @@ Status FieldDB::HandleRequest(Request &req) {
// 这里把一个空串作为常规put的name
Status FieldDB::Put(const WriteOptions &options, const Slice &key, const Slice &value) {
FieldArray FA = {{"",value.ToString()}};
FieldArray FA = {{EMPTY,value.ToString()}};
return PutFields(options, key, FA);
// return kvDB_->Put(options, key, value);
}

+ 2
- 0
fielddb/field_db.h Parādīt failu

@ -18,6 +18,8 @@
namespace fielddb {
using namespace leveldb;
const char EMPTY[1] = {0};
enum IndexStatus{
Creating,
Deleting,

+ 7
- 9
fielddb/request.cpp Parādīt failu

@ -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;

Notiek ielāde…
Atcelt
Saglabāt