feat(cpp/db): meta schema update

Former-commit-id: de373b37b4132f5f62818216728fa29564a43927
pull/191/head
Xu Peng 2019-04-14 19:28:56 +08:00 committed by xj.lin
parent 1fc48aaa8b
commit 771155df1a
5 changed files with 35 additions and 11 deletions

View File

@ -3,6 +3,8 @@
#include <string>
#include "options.h"
#include "db_meta.h"
#include "status.h"
namespace zilliz {
namespace vecwise {
@ -14,8 +16,23 @@ class DB {
public:
static DB* Open(const Options& options_, const std::string& name_);
virtual std::string add_group(GroupOptions options_,
const std::string& group_id_) = 0;
virtual Status add_group(GroupOptions options_,
const std::string& group_id_,
GroupSchema& group_info_) = 0;
virtual Status get_group(const std::string& group_id_, GroupSchema& group_info_) = 0;
virtual Status has_group(const std::string& group_id_, bool& has_or_not_) = 0;
virtual Status add_group_file(const std::string& group_id_,
GroupFileSchema& group_file_info_) = 0;
virtual Status has_group_file(const std::string& group_id_,
const std::string& file_id_,
bool& has_or_not_) = 0;
virtual Status get_group_file(const std::string& group_id_,
const std::string& file_id_,
GroupFileSchema& group_file_info_) = 0;
virtual Status get_group_files(const std::string& group_id_,
GroupFilesSchema& group_files_info_) = 0;
DB() = default;
DB(const DB&) = delete;

View File

@ -3,7 +3,9 @@
#include <mutex>
#include <condition_variable>
#include <memory>
#include "db.h"
#include "memvectors.h"
namespace zilliz {
namespace vecwise {
@ -40,6 +42,8 @@ private:
bool _bg_compaction_scheduled;
Status _bg_error;
MemManager _memMgr;
}; // DBImpl
} // namespace engine

View File

@ -33,7 +33,9 @@ typedef std::vector<GroupFileSchema> GroupFilesSchema;
class Meta {
public:
virtual Status add_group(const std::string& group_id_, GroupSchema& group_info_) = 0;
virtual Status add_group(const GroupOptions& options_,
const std::string& group_id_,
GroupSchema& group_info_) = 0;
virtual Status get_group(const std::string& group_id_, GroupSchema& group_info_) = 0;
virtual Status has_group(const std::string& group_id_, bool& has_or_not_) = 0;
@ -45,8 +47,7 @@ public:
virtual Status get_group_file(const std::string& group_id_,
const std::string& file_id_,
GroupFileSchema& group_file_info_) = 0;
virtual Status mark_group_file_as_index(const std::string& group_id_,
const std::string& file_id_) = 0;
virtual Status update_group_file(const GroupFileSchema& group_file_) = 0;
virtual Status get_group_files(const std::string& group_id_,
GroupFilesSchema& group_files_info_) = 0;

View File

@ -14,7 +14,9 @@ Status DBMetaImpl::initialize() {
return Status.OK();
}
Status DBMetaImpl::add_group(const std::string& group_id_, GroupSchema& group_info_) {
Status DBMetaImpl::add_group(const GroupOptions& options_,
const std::string& group_id_,
GroupSchema& group_info_) {
//PXU TODO
return Status.OK();
}
@ -55,8 +57,7 @@ Status DBMetaImpl::get_group_files(const std::string& group_id_,
return Status.OK();
}
Status DBMetaImpl::mark_group_file_as_index(const std::string& group_id_,
const std::string& file_id_) {
Status DBMetaImpl::update_group_file(const GroupFileSchema& group_file_) {
//PXU TODO
return Status.OK();
}

View File

@ -12,7 +12,9 @@ class DBMetaImpl : public Meta {
public:
DBMetaImpl(DBMetaOptions& options_);
virtual Status add_group(const std::string& group_id_, GroupSchema& group_info_) override;
virtual Status add_group(const GroupOptions& options_,
const std::string& group_id_,
GroupSchema& group_info_) override;
virtual Status get_group(const std::string& group_id_, GroupSchema& group_info_) override;
virtual Status has_group(const std::string& group_id_, bool& has_or_not_) override;
@ -24,8 +26,7 @@ public:
virtual Status get_group_file(const std::string& group_id_,
const std::string& file_id_,
GroupFileSchema& group_file_info_) override;
virtual Status mark_group_file_as_index(const std::string& group_id_,
const std::string& file_id_) override;
virtual Status update_group_file(const GroupFileSchema& group_file_) override;
virtual Status get_group_files(const std::string& group_id_,
GroupFilesSchema& group_files_info_) override;