소스 검색

newDB

master
朱陈媛 8 달 전
부모
커밋
6a7849d0c5
2개의 변경된 파일115개의 추가작업 그리고 0개의 파일을 삭제
  1. +62
    -0
      db/NewDB.cc
  2. +53
    -0
      db/NewDB.h

+ 62
- 0
db/NewDB.cc 파일 보기

@ -0,0 +1,62 @@
#include "db/NewDB.h"
#include "util/coding.h"
#include "db/write_batch_internal.h"
#include "db/version_set.h"
#include "db/db_impl.h"
#include <string>
#include <sstream>
#include <unordered_map>
#include <map>
#include <iostream>
#include <mutex>
#include <thread>
#include <ctime>
#include <condition_variable>
#include <unordered_set>
namespace leveldb{
NewDB::~NewDB() {
}
Status NewDB::Open(const Options& options, const std::string& name, NewDB** dbptr) {
}
Status NewDB::Put_fields(const WriteOptions& options, const Slice& key, const FieldArray& fields){
}
Status NewDB::Get_fields(const ReadOptions& options, const Slice& key, FieldArray* fields){
}
std::vector<std::string> NewDB::FindKeysByField(Field &field){
}
bool NewDB::Delete(const WriteOptions& options, const Slice& key){
}
bool NewDB::CreateIndexOnField(const std::string& field_name) {
}
std::vector<std::string> NewDB::QueryByIndex(Field &field){
}
bool NewDB::DeleteIndex(const std::string& field_name){
}
}

+ 53
- 0
db/NewDB.h 파일 보기

@ -0,0 +1,53 @@
#ifndef NEWDB_H
#define NEWDB_H
#include <memory>
#include <unordered_set>
#include <mutex>
#include <thread>
#include "leveldb/db.h"
#include "db/log_writer.h"
namespace leveldb{
class LEVELDB_EXPORT NewDB {
public:
NewDB() = default;
NewDB(const NewDB&) = delete;
NewDB& operator=(const NewDB&) = delete;
virtual ~NewDB();
static Status Open(const Options& options, const std::string& name,
NewDB** dbptr); // NewDB* -
Status Put_fields(const WriteOptions& options, const Slice& key,
const FieldArray& fields);
Status Get_fields(const ReadOptions& options, const Slice& key,
FieldArray* fields);
bool Delete(const WriteOptions& options, const Slice& key);
std::vector<std::string> FindKeysByField(Field &field);
bool CreateIndexOnField(const std::string& field_name);
std::vector<std::string> QueryByIndex(Field &field);
bool DeleteIndex(const std::string& field_name);
// indexDB
std::unordered_set<std::string> indexed_fields_read;
std::unordered_set<std::string> indexed_fields_write;
private:
std::unique_ptr<DB> data_db_;
std::unique_ptr<DB> index_db_;
};
}
#endif

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