소스 검색

iDeleteReq的prepare

gyf
cyq 8 달 전
부모
커밋
d30aaecf56
2개의 변경된 파일9개의 추가작업 그리고 1개의 파일을 삭제
  1. +1
    -1
      fielddb/field_db.cpp
  2. +8
    -0
      fielddb/request.cpp

+ 1
- 1
fielddb/field_db.cpp 파일 보기

@ -229,7 +229,7 @@ Status FieldDB::CreateIndexOnField(const std::string& field_name) {
std::string Field = field_name;
iCreateReq req(&Field,&mutex_);
HandleRequest(req);
//如果已经存在索引,那么可以直接返回
//如果已经存在索引,那么直接返回
if(req.Existed) {
return req.s;
}

+ 8
- 0
fielddb/request.cpp 파일 보기

@ -141,6 +141,14 @@ void iDeleteReq::Prepare(FieldDB *DB) {
s = Status::OK();
return ;
}
auto [istatus,parent] = DB->index_[*Field];
if(istatus == FieldDB::Exist) {
DB->index_[*Field] = {FieldDB::Creating,this};
done = true;
} else {
//如果正在创建或者删除,那么pend到对应的请求上
parent->PendReq(this);
}
}
void iDeleteReq::ConstructBatch(WriteBatch &KVBatch,WriteBatch &IndexBatch,

불러오는 중...
취소
저장