未验证 提交 fd2e3de6 编写于 作者: G groot 提交者: GitHub

fix build error (#3104)

Signed-off-by: Nyhmo <yihua.mo@zilliz.com>
Co-authored-by: NWang XiangYu <xy.wang@zilliz.com>
上级 1c54baee
......@@ -154,8 +154,8 @@ IsVectorField(const engine::snapshot::FieldPtr& field) {
return false;
}
engine::FIELD_TYPE ftype = static_cast<engine::FIELD_TYPE>(field->GetFtype());
return ftype == engine::FIELD_TYPE::VECTOR_FLOAT || ftype == engine::FIELD_TYPE::VECTOR_BINARY;
engine::DataType ftype = static_cast<engine::DataType>(field->GetFtype());
return ftype == engine::DataType::VECTOR_FLOAT || ftype == engine::DataType::VECTOR_BINARY;
}
Status
......
......@@ -59,8 +59,7 @@ enum DataType {
VECTOR_FLOAT = 101,
};
using FIELD_TYPE = engine::DataType;
using FIELD_TYPE_MAP = std::unordered_map<std::string, FIELD_TYPE>;
using FIELD_TYPE_MAP = std::unordered_map<std::string, DataType>;
using FIELD_WIDTH_MAP = std::unordered_map<std::string, int64_t>;
using FIXED_FIELD_DATA = std::vector<uint8_t>;
using FIXEDX_FIELD_MAP = std::unordered_map<std::string, FIXED_FIELD_DATA>;
......
......@@ -130,11 +130,11 @@ ExecutionEngineImpl::Load(const TargetFields& field_names) {
segment_reader_->GetSegment(segment_ptr);
for (auto& name : field_names) {
FIELD_TYPE field_type = FIELD_TYPE::NONE;
DataType field_type = DataType::NONE;
segment_ptr->GetFieldType(name, field_type);
bool index_exist = false;
if (field_type == FIELD_TYPE::VECTOR_FLOAT || field_type == FIELD_TYPE::VECTOR_BINARY) {
if (field_type == DataType::VECTOR_FLOAT || field_type == DataType::VECTOR_BINARY) {
knowhere::VecIndexPtr index_ptr;
segment_reader_->LoadVectorIndex(name, index_ptr);
index_exist = (index_ptr != nullptr);
......
......@@ -29,8 +29,8 @@ WhichFieldsToBuild(const engine::snapshot::ScopedSnapshotT& snapshot, engine::sn
engine::TargetFields structured_fields;
for (auto& field_name : field_names) {
auto field = snapshot->GetField(field_name);
engine::FIELD_TYPE ftype = static_cast<engine::FIELD_TYPE>(field->GetFtype());
bool is_vector = (ftype == engine::FIELD_TYPE::VECTOR_FLOAT || ftype == engine::FIELD_TYPE::VECTOR_BINARY);
engine::DataType ftype = static_cast<engine::DataType>(field->GetFtype());
bool is_vector = (ftype == engine::DataType::VECTOR_FLOAT || ftype == engine::DataType::VECTOR_BINARY);
auto elements = snapshot->GetFieldElementsByField(field_name);
for (auto& element : elements) {
if (element->GetFtype() != engine::FieldElementType::FET_INDEX) {
......
......@@ -26,37 +26,37 @@ namespace engine {
const char* COLLECTIONS_FOLDER = "/collections";
Status
Segment::AddField(const std::string& field_name, FIELD_TYPE field_type, int64_t field_width) {
Segment::AddField(const std::string& field_name, DataType field_type, int64_t field_width) {
if (field_types_.find(field_name) != field_types_.end()) {
return Status(DB_ERROR, "duplicate field: " + field_name);
}
int64_t real_field_width = 0;
switch (field_type) {
case FIELD_TYPE::BOOL:
case DataType::BOOL:
real_field_width = sizeof(bool);
break;
case FIELD_TYPE::DOUBLE:
case DataType::DOUBLE:
real_field_width = sizeof(double);
break;
case FIELD_TYPE::FLOAT:
case DataType::FLOAT:
real_field_width = sizeof(float);
break;
case FIELD_TYPE::INT8:
case DataType::INT8:
real_field_width = sizeof(uint8_t);
break;
case FIELD_TYPE::INT16:
case DataType::INT16:
real_field_width = sizeof(uint16_t);
break;
case FIELD_TYPE::INT32:
case DataType::INT32:
real_field_width = sizeof(uint32_t);
break;
case FIELD_TYPE::UID:
case FIELD_TYPE::INT64:
case DataType::UID:
case DataType::INT64:
real_field_width = sizeof(uint64_t);
break;
case FIELD_TYPE::VECTOR_FLOAT:
case FIELD_TYPE::VECTOR_BINARY: {
case DataType::VECTOR_FLOAT:
case DataType::VECTOR_BINARY: {
if (field_width <= 0) {
std::string msg = "vecor field dimension required: " + field_name;
LOG_SERVER_ERROR_ << msg;
......@@ -145,7 +145,7 @@ Segment::DeleteEntity(int64_t offset) {
}
Status
Segment::GetFieldType(const std::string& field_name, FIELD_TYPE& type) {
Segment::GetFieldType(const std::string& field_name, DataType& type) {
auto iter = field_types_.find(field_name);
if (iter == field_types_.end()) {
return Status(DB_ERROR, "invalid field name: " + field_name);
......
......@@ -34,7 +34,7 @@ extern const char* COLLECTIONS_FOLDER;
class Segment {
public:
Status
AddField(const std::string& field_name, FIELD_TYPE field_type, int64_t field_width = 0);
AddField(const std::string& field_name, DataType field_type, int64_t field_width = 0);
Status
AddChunk(const DataChunkPtr& chunk_ptr);
......@@ -46,7 +46,7 @@ class Segment {
DeleteEntity(int64_t offset);
Status
GetFieldType(const std::string& field_name, FIELD_TYPE& type);
GetFieldType(const std::string& field_name, DataType& type);
Status
GetFixedFieldWidth(const std::string& field_name, int64_t& width);
......
......@@ -60,7 +60,7 @@ SegmentReader::Initialize() {
for (auto& iter : field_map) {
const engine::snapshot::FieldPtr& field = iter.second->GetField();
std::string name = field->GetName();
engine::FIELD_TYPE ftype = static_cast<engine::FIELD_TYPE>(field->GetFtype());
engine::DataType ftype = static_cast<engine::DataType>(field->GetFtype());
if (engine::IsVectorField(field)) {
json params = field->GetParams();
if (params.find(knowhere::meta::DIM) == params.end()) {
......@@ -71,7 +71,7 @@ SegmentReader::Initialize() {
int64_t field_width = 0;
int64_t dimension = params[knowhere::meta::DIM];
if (ftype == engine::FIELD_TYPE::VECTOR_BINARY) {
if (ftype == engine::DataType::VECTOR_BINARY) {
field_width = (dimension / 8);
} else {
field_width = (dimension * sizeof(float));
......
......@@ -62,7 +62,7 @@ SegmentWriter::Initialize() {
for (auto& iter : field_map) {
const engine::snapshot::FieldPtr& field = iter.second->GetField();
std::string name = field->GetName();
engine::FIELD_TYPE ftype = static_cast<engine::FIELD_TYPE>(field->GetFtype());
engine::DataType ftype = static_cast<engine::DataType>(field->GetFtype());
if (engine::IsVectorField(field)) {
json params = field->GetParams();
if (params.find(knowhere::meta::DIM) == params.end()) {
......@@ -73,7 +73,7 @@ SegmentWriter::Initialize() {
int64_t field_width = 0;
int64_t dimension = params[knowhere::meta::DIM];
if (ftype == engine::FIELD_TYPE::VECTOR_BINARY) {
if (ftype == engine::DataType::VECTOR_BINARY) {
field_width += (dimension / 8);
} else {
field_width += (dimension * sizeof(float));
......@@ -440,7 +440,7 @@ SegmentWriter::WriteStructuredIndex(const std::string& field_name) {
// serialize index file
auto element_visitor = field->GetElementVisitor(engine::FieldElementType::FET_INDEX);
if (element_visitor && element_visitor->GetFile()) {
engine::FIELD_TYPE field_type;
engine::DataType field_type;
segment_ptr_->GetFieldType(field_name, field_type);
auto segment_file = element_visitor->GetFile();
std::string file_path =
......
......@@ -60,6 +60,13 @@ set( UNITTEST_LIBS sqlite
z
)
if ( MILVUS_GPU_VERSION )
list( APPEND UNITTEST_LIBS ${CUDA_TOOLKIT_ROOT_DIR}/lib64/stubs/libnvidia-ml.so
cudart
cublas
)
endif()
if ( MILVUS_WITH_AWS )
set( S3_CLIENT_LIB aws-cpp-sdk-s3
aws-cpp-sdk-core
......
......@@ -34,14 +34,14 @@ add_executable( test_db
target_link_libraries( test_db ${UNITTEST_LIBS}
server
# milvus_engine
# metrics
# config
# stdc++
# utils
# tracing
# query
# log
milvus_engine
metrics
config
stdc++
utils
tracing
query
log
)
install( TARGETS test_db DESTINATION unittest )
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册