mirror of https://github.com/milvus-io/milvus.git
enhance: optimize retrieve on dynamic field (#35580)
#35514 Signed-off-by: luzhang <luzhang@zilliz.com> Co-authored-by: luzhang <luzhang@zilliz.com> Co-authored-by: zhenshan.cao <zhenshan.cao@zilliz.com>pull/35646/head
parent
570a8879e7
commit
3107701fe8
|
@ -44,6 +44,7 @@ class MilvusConan(ConanFile):
|
|||
"abseil/20230125.3#dad7cc4c83bbd44c1f1cc9cc4d97ac88",
|
||||
"roaring/3.0.0#25a703f80eda0764a31ef939229e202d",
|
||||
"grpc/1.50.1@milvus/dev#75103960d1cac300cf425ccfccceac08",
|
||||
"rapidjson/cci.20230929#624c0094d741e6a3749d2e44d834b96c"
|
||||
)
|
||||
generators = ("cmake", "cmake_find_package")
|
||||
default_options = {
|
||||
|
|
|
@ -34,8 +34,42 @@
|
|||
#include "simdjson/dom/element.h"
|
||||
#include "simdjson/error.h"
|
||||
#include "simdjson/padded_string.h"
|
||||
#include "rapidjson/document.h"
|
||||
#include "rapidjson/writer.h"
|
||||
#include "rapidjson/stringbuffer.h"
|
||||
|
||||
namespace milvus {
|
||||
// function to extract specific keys and convert them to json
|
||||
// rapidjson is suitable for extract and reconstruct serialization
|
||||
// instead of simdjson which not suitable for serialization
|
||||
inline std::string
|
||||
ExtractSubJson(const std::string& json, const std::vector<std::string>& keys) {
|
||||
rapidjson::Document doc;
|
||||
doc.Parse(json.c_str());
|
||||
if (doc.HasParseError()) {
|
||||
PanicInfo(ErrorCode::UnexpectedError,
|
||||
"json parse failed, error:{}",
|
||||
doc.GetParseError());
|
||||
}
|
||||
|
||||
rapidjson::Document result_doc;
|
||||
result_doc.SetObject();
|
||||
rapidjson::Document::AllocatorType& allocator = result_doc.GetAllocator();
|
||||
|
||||
for (const auto& key : keys) {
|
||||
if (doc.HasMember(key.c_str())) {
|
||||
result_doc.AddMember(rapidjson::Value(key.c_str(), allocator),
|
||||
doc[key.c_str()],
|
||||
allocator);
|
||||
}
|
||||
}
|
||||
|
||||
rapidjson::StringBuffer buffer;
|
||||
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
|
||||
result_doc.Accept(writer);
|
||||
return buffer.GetString();
|
||||
}
|
||||
|
||||
using document = simdjson::ondemand::document;
|
||||
template <typename T>
|
||||
using value_result = simdjson::simdjson_result<T>;
|
||||
|
|
|
@ -88,6 +88,13 @@ Schema::ParseFrom(const milvus::proto::schema::CollectionSchema& schema_proto) {
|
|||
"repetitive primary key");
|
||||
schema->set_primary_field_id(field_id);
|
||||
}
|
||||
|
||||
if (child.is_dynamic()) {
|
||||
Assert(schema_proto.enable_dynamic_field());
|
||||
AssertInfo(!schema->get_dynamic_field_id().has_value(),
|
||||
"repetitive dynamic field");
|
||||
schema->set_dynamic_field_id(field_id);
|
||||
}
|
||||
}
|
||||
|
||||
AssertInfo(schema->get_primary_field_id().has_value(),
|
||||
|
|
|
@ -131,6 +131,11 @@ class Schema {
|
|||
this->primary_field_id_opt_ = field_id;
|
||||
}
|
||||
|
||||
void
|
||||
set_dynamic_field_id(FieldId field_id) {
|
||||
this->dynamic_field_id_opt_ = field_id;
|
||||
}
|
||||
|
||||
auto
|
||||
begin() const {
|
||||
return fields_.begin();
|
||||
|
@ -184,6 +189,11 @@ class Schema {
|
|||
return primary_field_id_opt_;
|
||||
}
|
||||
|
||||
std::optional<FieldId>
|
||||
get_dynamic_field_id() const {
|
||||
return dynamic_field_id_opt_;
|
||||
}
|
||||
|
||||
public:
|
||||
static std::shared_ptr<Schema>
|
||||
ParseFrom(const milvus::proto::schema::CollectionSchema& schema_proto);
|
||||
|
@ -213,6 +223,7 @@ class Schema {
|
|||
std::unordered_map<FieldId, FieldName> id_names_; // field_id -> field_name
|
||||
|
||||
std::optional<FieldId> primary_field_id_opt_;
|
||||
std::optional<FieldId> dynamic_field_id_opt_;
|
||||
};
|
||||
|
||||
using SchemaPtr = std::shared_ptr<Schema>;
|
||||
|
|
|
@ -53,6 +53,7 @@ struct Plan {
|
|||
std::unique_ptr<VectorPlanNode> plan_node_;
|
||||
std::map<std::string, FieldId> tag2field_; // PlaceholderName -> FieldId
|
||||
std::vector<FieldId> target_entries_;
|
||||
std::vector<std::string> target_dynamic_fields_;
|
||||
void
|
||||
check_identical(Plan& other);
|
||||
|
||||
|
@ -100,6 +101,7 @@ struct RetrievePlan {
|
|||
const Schema& schema_;
|
||||
std::unique_ptr<RetrievePlanNode> plan_node_;
|
||||
std::vector<FieldId> field_ids_;
|
||||
std::vector<std::string> target_dynamic_fields_;
|
||||
};
|
||||
|
||||
using PlanPtr = std::unique_ptr<Plan>;
|
||||
|
|
|
@ -305,6 +305,8 @@ ProtoParser::RetrievePlanNodeFromProto(
|
|||
|
||||
std::unique_ptr<Plan>
|
||||
ProtoParser::CreatePlan(const proto::plan::PlanNode& plan_node_proto) {
|
||||
LOG_DEBUG("create search plan from proto: {}",
|
||||
plan_node_proto.DebugString());
|
||||
auto plan = std::make_unique<Plan>(schema);
|
||||
|
||||
auto plan_node = PlanNodeFromProto(plan_node_proto);
|
||||
|
@ -320,12 +322,17 @@ ProtoParser::CreatePlan(const proto::plan::PlanNode& plan_node_proto) {
|
|||
auto field_id = FieldId(field_id_raw);
|
||||
plan->target_entries_.push_back(field_id);
|
||||
}
|
||||
for (auto dynamic_field : plan_node_proto.dynamic_fields()) {
|
||||
plan->target_dynamic_fields_.push_back(dynamic_field);
|
||||
}
|
||||
|
||||
return plan;
|
||||
}
|
||||
|
||||
std::unique_ptr<RetrievePlan>
|
||||
ProtoParser::CreateRetrievePlan(const proto::plan::PlanNode& plan_node_proto) {
|
||||
LOG_DEBUG("create retrieve plan from proto: {}",
|
||||
plan_node_proto.DebugString());
|
||||
auto retrieve_plan = std::make_unique<RetrievePlan>(schema);
|
||||
|
||||
auto plan_node = RetrievePlanNodeFromProto(plan_node_proto);
|
||||
|
@ -338,6 +345,10 @@ ProtoParser::CreateRetrievePlan(const proto::plan::PlanNode& plan_node_proto) {
|
|||
auto field_id = FieldId(field_id_raw);
|
||||
retrieve_plan->field_ids_.push_back(field_id);
|
||||
}
|
||||
for (auto dynamic_field : plan_node_proto.dynamic_fields()) {
|
||||
retrieve_plan->target_dynamic_fields_.push_back(dynamic_field);
|
||||
}
|
||||
|
||||
return retrieve_plan;
|
||||
}
|
||||
|
||||
|
|
|
@ -374,6 +374,35 @@ SegmentGrowingImpl::vector_search(SearchInfo& search_info,
|
|||
*this, search_info, query_data, query_count, timestamp, bitset, output);
|
||||
}
|
||||
|
||||
std::unique_ptr<DataArray>
|
||||
SegmentGrowingImpl::bulk_subscript(
|
||||
FieldId field_id,
|
||||
const int64_t* seg_offsets,
|
||||
int64_t count,
|
||||
const std::vector<std::string>& dynamic_field_names) const {
|
||||
Assert(!dynamic_field_names.empty());
|
||||
auto& field_meta = schema_->operator[](field_id);
|
||||
auto vec_ptr = insert_record_.get_data_base(field_id);
|
||||
auto result = CreateScalarDataArray(count, field_meta);
|
||||
if (field_meta.is_nullable()) {
|
||||
auto valid_data_ptr = insert_record_.get_valid_data(field_id);
|
||||
auto res = result->mutable_valid_data()->mutable_data();
|
||||
for (int64_t i = 0; i < count; ++i) {
|
||||
auto offset = seg_offsets[i];
|
||||
res[i] = valid_data_ptr->is_valid(offset);
|
||||
}
|
||||
}
|
||||
auto vec = dynamic_cast<const ConcurrentVector<Json>*>(vec_ptr);
|
||||
auto dst = result->mutable_scalars()->mutable_json_data()->mutable_data();
|
||||
auto& src = *vec;
|
||||
for (int64_t i = 0; i < count; ++i) {
|
||||
auto offset = seg_offsets[i];
|
||||
dst->at(i) =
|
||||
ExtractSubJson(std::string(src[offset]), dynamic_field_names);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
std::unique_ptr<DataArray>
|
||||
SegmentGrowingImpl::bulk_subscript(FieldId field_id,
|
||||
const int64_t* seg_offsets,
|
||||
|
|
|
@ -205,6 +205,13 @@ class SegmentGrowingImpl : public SegmentGrowing {
|
|||
const int64_t* seg_offsets,
|
||||
int64_t count) const override;
|
||||
|
||||
std::unique_ptr<DataArray>
|
||||
bulk_subscript(
|
||||
FieldId field_id,
|
||||
const int64_t* seg_offsets,
|
||||
int64_t count,
|
||||
const std::vector<std::string>& dynamic_field_names) const override;
|
||||
|
||||
public:
|
||||
friend std::unique_ptr<SegmentGrowing>
|
||||
CreateGrowingSegment(SchemaPtr schema,
|
||||
|
|
|
@ -56,10 +56,21 @@ SegmentInternalInterface::FillTargetEntry(const query::Plan* plan,
|
|||
AssertInfo(results.seg_offsets_.size() == size,
|
||||
"Size of result distances is not equal to size of ids");
|
||||
|
||||
std::unique_ptr<DataArray> field_data;
|
||||
// fill other entries except primary key by result_offset
|
||||
for (auto field_id : plan->target_entries_) {
|
||||
auto field_data =
|
||||
bulk_subscript(field_id, results.seg_offsets_.data(), size);
|
||||
if (plan->schema_.get_dynamic_field_id().has_value() &&
|
||||
plan->schema_.get_dynamic_field_id().value() == field_id &&
|
||||
!plan->target_dynamic_fields_.empty()) {
|
||||
auto& target_dynamic_fields = plan->target_dynamic_fields_;
|
||||
field_data = std::move(bulk_subscript(field_id,
|
||||
results.seg_offsets_.data(),
|
||||
size,
|
||||
target_dynamic_fields));
|
||||
} else {
|
||||
field_data = std::move(
|
||||
bulk_subscript(field_id, results.seg_offsets_.data(), size));
|
||||
}
|
||||
results.output_fields_data_[field_id] = std::move(field_data);
|
||||
}
|
||||
}
|
||||
|
@ -167,6 +178,16 @@ SegmentInternalInterface::FillTargetEntry(
|
|||
continue;
|
||||
}
|
||||
|
||||
if (plan->schema_.get_dynamic_field_id().has_value() &&
|
||||
plan->schema_.get_dynamic_field_id().value() == field_id &&
|
||||
!plan->target_dynamic_fields_.empty()) {
|
||||
auto& target_dynamic_fields = plan->target_dynamic_fields_;
|
||||
auto col =
|
||||
bulk_subscript(field_id, offsets, size, target_dynamic_fields);
|
||||
fields_data->AddAllocated(col.release());
|
||||
continue;
|
||||
}
|
||||
|
||||
auto& field_meta = plan->schema_[field_id];
|
||||
|
||||
auto col = bulk_subscript(field_id, offsets, size);
|
||||
|
|
|
@ -388,6 +388,13 @@ class SegmentInternalInterface : public SegmentInterface {
|
|||
const int64_t* seg_offsets,
|
||||
int64_t count) const = 0;
|
||||
|
||||
virtual std::unique_ptr<DataArray>
|
||||
bulk_subscript(
|
||||
FieldId field_ids,
|
||||
const int64_t* seg_offsets,
|
||||
int64_t count,
|
||||
const std::vector<std::string>& dynamic_field_names) const = 0;
|
||||
|
||||
virtual void
|
||||
check_search(const query::Plan* plan) const = 0;
|
||||
|
||||
|
|
|
@ -1413,6 +1413,37 @@ SegmentSealedImpl::bulk_subscript(FieldId field_id,
|
|||
return get_raw_data(field_id, field_meta, seg_offsets, count);
|
||||
}
|
||||
|
||||
std::unique_ptr<DataArray>
|
||||
SegmentSealedImpl::bulk_subscript(
|
||||
FieldId field_id,
|
||||
const int64_t* seg_offsets,
|
||||
int64_t count,
|
||||
const std::vector<std::string>& dynamic_field_names) const {
|
||||
Assert(!dynamic_field_names.empty());
|
||||
auto& field_meta = schema_->operator[](field_id);
|
||||
if (count == 0) {
|
||||
return fill_with_empty(field_id, 0);
|
||||
}
|
||||
|
||||
auto column = fields_.at(field_id);
|
||||
auto ret = fill_with_empty(field_id, count);
|
||||
if (column->IsNullable()) {
|
||||
auto dst = ret->mutable_valid_data()->mutable_data();
|
||||
for (int64_t i = 0; i < count; ++i) {
|
||||
auto offset = seg_offsets[i];
|
||||
dst[i] = column->IsValid(offset);
|
||||
}
|
||||
}
|
||||
auto dst = ret->mutable_scalars()->mutable_json_data()->mutable_data();
|
||||
auto field = reinterpret_cast<const VariableColumn<Json>*>(column.get());
|
||||
for (int64_t i = 0; i < count; ++i) {
|
||||
auto offset = seg_offsets[i];
|
||||
dst->at(i) = ExtractSubJson(std::string(field->RawAt(offset)),
|
||||
dynamic_field_names);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool
|
||||
SegmentSealedImpl::HasIndex(FieldId field_id) const {
|
||||
std::shared_lock lck(mutex_);
|
||||
|
|
|
@ -153,6 +153,13 @@ class SegmentSealedImpl : public SegmentSealed {
|
|||
const int64_t* seg_offsets,
|
||||
int64_t count) const override;
|
||||
|
||||
std::unique_ptr<DataArray>
|
||||
bulk_subscript(
|
||||
FieldId field_id,
|
||||
const int64_t* seg_offsets,
|
||||
int64_t count,
|
||||
const std::vector<std::string>& dynamic_field_names) const override;
|
||||
|
||||
bool
|
||||
is_mmap_field(FieldId id) const override;
|
||||
|
||||
|
|
|
@ -125,8 +125,8 @@ type MockDataCoord_AlterIndex_Call struct {
|
|||
}
|
||||
|
||||
// AlterIndex is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.AlterIndexRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.AlterIndexRequest
|
||||
func (_e *MockDataCoord_Expecter) AlterIndex(_a0 interface{}, _a1 interface{}) *MockDataCoord_AlterIndex_Call {
|
||||
return &MockDataCoord_AlterIndex_Call{Call: _e.mock.On("AlterIndex", _a0, _a1)}
|
||||
}
|
||||
|
@ -180,8 +180,8 @@ type MockDataCoord_AssignSegmentID_Call struct {
|
|||
}
|
||||
|
||||
// AssignSegmentID is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.AssignSegmentIDRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.AssignSegmentIDRequest
|
||||
func (_e *MockDataCoord_Expecter) AssignSegmentID(_a0 interface{}, _a1 interface{}) *MockDataCoord_AssignSegmentID_Call {
|
||||
return &MockDataCoord_AssignSegmentID_Call{Call: _e.mock.On("AssignSegmentID", _a0, _a1)}
|
||||
}
|
||||
|
@ -235,8 +235,8 @@ type MockDataCoord_BroadcastAlteredCollection_Call struct {
|
|||
}
|
||||
|
||||
// BroadcastAlteredCollection is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.AlterCollectionRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.AlterCollectionRequest
|
||||
func (_e *MockDataCoord_Expecter) BroadcastAlteredCollection(_a0 interface{}, _a1 interface{}) *MockDataCoord_BroadcastAlteredCollection_Call {
|
||||
return &MockDataCoord_BroadcastAlteredCollection_Call{Call: _e.mock.On("BroadcastAlteredCollection", _a0, _a1)}
|
||||
}
|
||||
|
@ -290,8 +290,8 @@ type MockDataCoord_CheckHealth_Call struct {
|
|||
}
|
||||
|
||||
// CheckHealth is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *milvuspb.CheckHealthRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *milvuspb.CheckHealthRequest
|
||||
func (_e *MockDataCoord_Expecter) CheckHealth(_a0 interface{}, _a1 interface{}) *MockDataCoord_CheckHealth_Call {
|
||||
return &MockDataCoord_CheckHealth_Call{Call: _e.mock.On("CheckHealth", _a0, _a1)}
|
||||
}
|
||||
|
@ -345,8 +345,8 @@ type MockDataCoord_CreateIndex_Call struct {
|
|||
}
|
||||
|
||||
// CreateIndex is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.CreateIndexRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.CreateIndexRequest
|
||||
func (_e *MockDataCoord_Expecter) CreateIndex(_a0 interface{}, _a1 interface{}) *MockDataCoord_CreateIndex_Call {
|
||||
return &MockDataCoord_CreateIndex_Call{Call: _e.mock.On("CreateIndex", _a0, _a1)}
|
||||
}
|
||||
|
@ -400,8 +400,8 @@ type MockDataCoord_DescribeIndex_Call struct {
|
|||
}
|
||||
|
||||
// DescribeIndex is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.DescribeIndexRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.DescribeIndexRequest
|
||||
func (_e *MockDataCoord_Expecter) DescribeIndex(_a0 interface{}, _a1 interface{}) *MockDataCoord_DescribeIndex_Call {
|
||||
return &MockDataCoord_DescribeIndex_Call{Call: _e.mock.On("DescribeIndex", _a0, _a1)}
|
||||
}
|
||||
|
@ -455,8 +455,8 @@ type MockDataCoord_DropIndex_Call struct {
|
|||
}
|
||||
|
||||
// DropIndex is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.DropIndexRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.DropIndexRequest
|
||||
func (_e *MockDataCoord_Expecter) DropIndex(_a0 interface{}, _a1 interface{}) *MockDataCoord_DropIndex_Call {
|
||||
return &MockDataCoord_DropIndex_Call{Call: _e.mock.On("DropIndex", _a0, _a1)}
|
||||
}
|
||||
|
@ -510,8 +510,8 @@ type MockDataCoord_DropVirtualChannel_Call struct {
|
|||
}
|
||||
|
||||
// DropVirtualChannel is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.DropVirtualChannelRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.DropVirtualChannelRequest
|
||||
func (_e *MockDataCoord_Expecter) DropVirtualChannel(_a0 interface{}, _a1 interface{}) *MockDataCoord_DropVirtualChannel_Call {
|
||||
return &MockDataCoord_DropVirtualChannel_Call{Call: _e.mock.On("DropVirtualChannel", _a0, _a1)}
|
||||
}
|
||||
|
@ -565,8 +565,8 @@ type MockDataCoord_Flush_Call struct {
|
|||
}
|
||||
|
||||
// Flush is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.FlushRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.FlushRequest
|
||||
func (_e *MockDataCoord_Expecter) Flush(_a0 interface{}, _a1 interface{}) *MockDataCoord_Flush_Call {
|
||||
return &MockDataCoord_Flush_Call{Call: _e.mock.On("Flush", _a0, _a1)}
|
||||
}
|
||||
|
@ -620,8 +620,8 @@ type MockDataCoord_GcConfirm_Call struct {
|
|||
}
|
||||
|
||||
// GcConfirm is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GcConfirmRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GcConfirmRequest
|
||||
func (_e *MockDataCoord_Expecter) GcConfirm(_a0 interface{}, _a1 interface{}) *MockDataCoord_GcConfirm_Call {
|
||||
return &MockDataCoord_GcConfirm_Call{Call: _e.mock.On("GcConfirm", _a0, _a1)}
|
||||
}
|
||||
|
@ -675,8 +675,8 @@ type MockDataCoord_GcControl_Call struct {
|
|||
}
|
||||
|
||||
// GcControl is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GcControlRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GcControlRequest
|
||||
func (_e *MockDataCoord_Expecter) GcControl(_a0 interface{}, _a1 interface{}) *MockDataCoord_GcControl_Call {
|
||||
return &MockDataCoord_GcControl_Call{Call: _e.mock.On("GcControl", _a0, _a1)}
|
||||
}
|
||||
|
@ -730,8 +730,8 @@ type MockDataCoord_GetChannelRecoveryInfo_Call struct {
|
|||
}
|
||||
|
||||
// GetChannelRecoveryInfo is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetChannelRecoveryInfoRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetChannelRecoveryInfoRequest
|
||||
func (_e *MockDataCoord_Expecter) GetChannelRecoveryInfo(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetChannelRecoveryInfo_Call {
|
||||
return &MockDataCoord_GetChannelRecoveryInfo_Call{Call: _e.mock.On("GetChannelRecoveryInfo", _a0, _a1)}
|
||||
}
|
||||
|
@ -785,8 +785,8 @@ type MockDataCoord_GetCollectionStatistics_Call struct {
|
|||
}
|
||||
|
||||
// GetCollectionStatistics is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetCollectionStatisticsRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetCollectionStatisticsRequest
|
||||
func (_e *MockDataCoord_Expecter) GetCollectionStatistics(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetCollectionStatistics_Call {
|
||||
return &MockDataCoord_GetCollectionStatistics_Call{Call: _e.mock.On("GetCollectionStatistics", _a0, _a1)}
|
||||
}
|
||||
|
@ -840,8 +840,8 @@ type MockDataCoord_GetCompactionState_Call struct {
|
|||
}
|
||||
|
||||
// GetCompactionState is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *milvuspb.GetCompactionStateRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *milvuspb.GetCompactionStateRequest
|
||||
func (_e *MockDataCoord_Expecter) GetCompactionState(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetCompactionState_Call {
|
||||
return &MockDataCoord_GetCompactionState_Call{Call: _e.mock.On("GetCompactionState", _a0, _a1)}
|
||||
}
|
||||
|
@ -895,8 +895,8 @@ type MockDataCoord_GetCompactionStateWithPlans_Call struct {
|
|||
}
|
||||
|
||||
// GetCompactionStateWithPlans is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *milvuspb.GetCompactionPlansRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *milvuspb.GetCompactionPlansRequest
|
||||
func (_e *MockDataCoord_Expecter) GetCompactionStateWithPlans(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetCompactionStateWithPlans_Call {
|
||||
return &MockDataCoord_GetCompactionStateWithPlans_Call{Call: _e.mock.On("GetCompactionStateWithPlans", _a0, _a1)}
|
||||
}
|
||||
|
@ -950,8 +950,8 @@ type MockDataCoord_GetComponentStates_Call struct {
|
|||
}
|
||||
|
||||
// GetComponentStates is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *milvuspb.GetComponentStatesRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *milvuspb.GetComponentStatesRequest
|
||||
func (_e *MockDataCoord_Expecter) GetComponentStates(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetComponentStates_Call {
|
||||
return &MockDataCoord_GetComponentStates_Call{Call: _e.mock.On("GetComponentStates", _a0, _a1)}
|
||||
}
|
||||
|
@ -1005,8 +1005,8 @@ type MockDataCoord_GetFlushAllState_Call struct {
|
|||
}
|
||||
|
||||
// GetFlushAllState is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *milvuspb.GetFlushAllStateRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *milvuspb.GetFlushAllStateRequest
|
||||
func (_e *MockDataCoord_Expecter) GetFlushAllState(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetFlushAllState_Call {
|
||||
return &MockDataCoord_GetFlushAllState_Call{Call: _e.mock.On("GetFlushAllState", _a0, _a1)}
|
||||
}
|
||||
|
@ -1060,8 +1060,8 @@ type MockDataCoord_GetFlushState_Call struct {
|
|||
}
|
||||
|
||||
// GetFlushState is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetFlushStateRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetFlushStateRequest
|
||||
func (_e *MockDataCoord_Expecter) GetFlushState(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetFlushState_Call {
|
||||
return &MockDataCoord_GetFlushState_Call{Call: _e.mock.On("GetFlushState", _a0, _a1)}
|
||||
}
|
||||
|
@ -1115,8 +1115,8 @@ type MockDataCoord_GetFlushedSegments_Call struct {
|
|||
}
|
||||
|
||||
// GetFlushedSegments is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetFlushedSegmentsRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetFlushedSegmentsRequest
|
||||
func (_e *MockDataCoord_Expecter) GetFlushedSegments(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetFlushedSegments_Call {
|
||||
return &MockDataCoord_GetFlushedSegments_Call{Call: _e.mock.On("GetFlushedSegments", _a0, _a1)}
|
||||
}
|
||||
|
@ -1170,8 +1170,8 @@ type MockDataCoord_GetImportProgress_Call struct {
|
|||
}
|
||||
|
||||
// GetImportProgress is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *internalpb.GetImportProgressRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *internalpb.GetImportProgressRequest
|
||||
func (_e *MockDataCoord_Expecter) GetImportProgress(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetImportProgress_Call {
|
||||
return &MockDataCoord_GetImportProgress_Call{Call: _e.mock.On("GetImportProgress", _a0, _a1)}
|
||||
}
|
||||
|
@ -1225,8 +1225,8 @@ type MockDataCoord_GetIndexBuildProgress_Call struct {
|
|||
}
|
||||
|
||||
// GetIndexBuildProgress is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.GetIndexBuildProgressRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.GetIndexBuildProgressRequest
|
||||
func (_e *MockDataCoord_Expecter) GetIndexBuildProgress(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetIndexBuildProgress_Call {
|
||||
return &MockDataCoord_GetIndexBuildProgress_Call{Call: _e.mock.On("GetIndexBuildProgress", _a0, _a1)}
|
||||
}
|
||||
|
@ -1280,8 +1280,8 @@ type MockDataCoord_GetIndexInfos_Call struct {
|
|||
}
|
||||
|
||||
// GetIndexInfos is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.GetIndexInfoRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.GetIndexInfoRequest
|
||||
func (_e *MockDataCoord_Expecter) GetIndexInfos(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetIndexInfos_Call {
|
||||
return &MockDataCoord_GetIndexInfos_Call{Call: _e.mock.On("GetIndexInfos", _a0, _a1)}
|
||||
}
|
||||
|
@ -1335,8 +1335,8 @@ type MockDataCoord_GetIndexState_Call struct {
|
|||
}
|
||||
|
||||
// GetIndexState is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.GetIndexStateRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.GetIndexStateRequest
|
||||
func (_e *MockDataCoord_Expecter) GetIndexState(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetIndexState_Call {
|
||||
return &MockDataCoord_GetIndexState_Call{Call: _e.mock.On("GetIndexState", _a0, _a1)}
|
||||
}
|
||||
|
@ -1390,8 +1390,8 @@ type MockDataCoord_GetIndexStatistics_Call struct {
|
|||
}
|
||||
|
||||
// GetIndexStatistics is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.GetIndexStatisticsRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.GetIndexStatisticsRequest
|
||||
func (_e *MockDataCoord_Expecter) GetIndexStatistics(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetIndexStatistics_Call {
|
||||
return &MockDataCoord_GetIndexStatistics_Call{Call: _e.mock.On("GetIndexStatistics", _a0, _a1)}
|
||||
}
|
||||
|
@ -1445,8 +1445,8 @@ type MockDataCoord_GetInsertBinlogPaths_Call struct {
|
|||
}
|
||||
|
||||
// GetInsertBinlogPaths is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetInsertBinlogPathsRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetInsertBinlogPathsRequest
|
||||
func (_e *MockDataCoord_Expecter) GetInsertBinlogPaths(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetInsertBinlogPaths_Call {
|
||||
return &MockDataCoord_GetInsertBinlogPaths_Call{Call: _e.mock.On("GetInsertBinlogPaths", _a0, _a1)}
|
||||
}
|
||||
|
@ -1500,8 +1500,8 @@ type MockDataCoord_GetMetrics_Call struct {
|
|||
}
|
||||
|
||||
// GetMetrics is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *milvuspb.GetMetricsRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *milvuspb.GetMetricsRequest
|
||||
func (_e *MockDataCoord_Expecter) GetMetrics(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetMetrics_Call {
|
||||
return &MockDataCoord_GetMetrics_Call{Call: _e.mock.On("GetMetrics", _a0, _a1)}
|
||||
}
|
||||
|
@ -1555,8 +1555,8 @@ type MockDataCoord_GetPartitionStatistics_Call struct {
|
|||
}
|
||||
|
||||
// GetPartitionStatistics is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetPartitionStatisticsRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetPartitionStatisticsRequest
|
||||
func (_e *MockDataCoord_Expecter) GetPartitionStatistics(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetPartitionStatistics_Call {
|
||||
return &MockDataCoord_GetPartitionStatistics_Call{Call: _e.mock.On("GetPartitionStatistics", _a0, _a1)}
|
||||
}
|
||||
|
@ -1610,8 +1610,8 @@ type MockDataCoord_GetRecoveryInfo_Call struct {
|
|||
}
|
||||
|
||||
// GetRecoveryInfo is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetRecoveryInfoRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetRecoveryInfoRequest
|
||||
func (_e *MockDataCoord_Expecter) GetRecoveryInfo(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetRecoveryInfo_Call {
|
||||
return &MockDataCoord_GetRecoveryInfo_Call{Call: _e.mock.On("GetRecoveryInfo", _a0, _a1)}
|
||||
}
|
||||
|
@ -1665,8 +1665,8 @@ type MockDataCoord_GetRecoveryInfoV2_Call struct {
|
|||
}
|
||||
|
||||
// GetRecoveryInfoV2 is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetRecoveryInfoRequestV2
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetRecoveryInfoRequestV2
|
||||
func (_e *MockDataCoord_Expecter) GetRecoveryInfoV2(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetRecoveryInfoV2_Call {
|
||||
return &MockDataCoord_GetRecoveryInfoV2_Call{Call: _e.mock.On("GetRecoveryInfoV2", _a0, _a1)}
|
||||
}
|
||||
|
@ -1720,8 +1720,8 @@ type MockDataCoord_GetSegmentIndexState_Call struct {
|
|||
}
|
||||
|
||||
// GetSegmentIndexState is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.GetSegmentIndexStateRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.GetSegmentIndexStateRequest
|
||||
func (_e *MockDataCoord_Expecter) GetSegmentIndexState(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetSegmentIndexState_Call {
|
||||
return &MockDataCoord_GetSegmentIndexState_Call{Call: _e.mock.On("GetSegmentIndexState", _a0, _a1)}
|
||||
}
|
||||
|
@ -1775,8 +1775,8 @@ type MockDataCoord_GetSegmentInfo_Call struct {
|
|||
}
|
||||
|
||||
// GetSegmentInfo is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetSegmentInfoRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetSegmentInfoRequest
|
||||
func (_e *MockDataCoord_Expecter) GetSegmentInfo(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetSegmentInfo_Call {
|
||||
return &MockDataCoord_GetSegmentInfo_Call{Call: _e.mock.On("GetSegmentInfo", _a0, _a1)}
|
||||
}
|
||||
|
@ -1830,8 +1830,8 @@ type MockDataCoord_GetSegmentInfoChannel_Call struct {
|
|||
}
|
||||
|
||||
// GetSegmentInfoChannel is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetSegmentInfoChannelRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetSegmentInfoChannelRequest
|
||||
func (_e *MockDataCoord_Expecter) GetSegmentInfoChannel(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetSegmentInfoChannel_Call {
|
||||
return &MockDataCoord_GetSegmentInfoChannel_Call{Call: _e.mock.On("GetSegmentInfoChannel", _a0, _a1)}
|
||||
}
|
||||
|
@ -1885,8 +1885,8 @@ type MockDataCoord_GetSegmentStates_Call struct {
|
|||
}
|
||||
|
||||
// GetSegmentStates is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetSegmentStatesRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetSegmentStatesRequest
|
||||
func (_e *MockDataCoord_Expecter) GetSegmentStates(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetSegmentStates_Call {
|
||||
return &MockDataCoord_GetSegmentStates_Call{Call: _e.mock.On("GetSegmentStates", _a0, _a1)}
|
||||
}
|
||||
|
@ -1940,8 +1940,8 @@ type MockDataCoord_GetSegmentsByStates_Call struct {
|
|||
}
|
||||
|
||||
// GetSegmentsByStates is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetSegmentsByStatesRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.GetSegmentsByStatesRequest
|
||||
func (_e *MockDataCoord_Expecter) GetSegmentsByStates(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetSegmentsByStates_Call {
|
||||
return &MockDataCoord_GetSegmentsByStates_Call{Call: _e.mock.On("GetSegmentsByStates", _a0, _a1)}
|
||||
}
|
||||
|
@ -1995,8 +1995,8 @@ type MockDataCoord_GetStatisticsChannel_Call struct {
|
|||
}
|
||||
|
||||
// GetStatisticsChannel is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *internalpb.GetStatisticsChannelRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *internalpb.GetStatisticsChannelRequest
|
||||
func (_e *MockDataCoord_Expecter) GetStatisticsChannel(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetStatisticsChannel_Call {
|
||||
return &MockDataCoord_GetStatisticsChannel_Call{Call: _e.mock.On("GetStatisticsChannel", _a0, _a1)}
|
||||
}
|
||||
|
@ -2050,8 +2050,8 @@ type MockDataCoord_GetTimeTickChannel_Call struct {
|
|||
}
|
||||
|
||||
// GetTimeTickChannel is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *internalpb.GetTimeTickChannelRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *internalpb.GetTimeTickChannelRequest
|
||||
func (_e *MockDataCoord_Expecter) GetTimeTickChannel(_a0 interface{}, _a1 interface{}) *MockDataCoord_GetTimeTickChannel_Call {
|
||||
return &MockDataCoord_GetTimeTickChannel_Call{Call: _e.mock.On("GetTimeTickChannel", _a0, _a1)}
|
||||
}
|
||||
|
@ -2105,8 +2105,8 @@ type MockDataCoord_ImportV2_Call struct {
|
|||
}
|
||||
|
||||
// ImportV2 is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *internalpb.ImportRequestInternal
|
||||
// - _a0 context.Context
|
||||
// - _a1 *internalpb.ImportRequestInternal
|
||||
func (_e *MockDataCoord_Expecter) ImportV2(_a0 interface{}, _a1 interface{}) *MockDataCoord_ImportV2_Call {
|
||||
return &MockDataCoord_ImportV2_Call{Call: _e.mock.On("ImportV2", _a0, _a1)}
|
||||
}
|
||||
|
@ -2201,8 +2201,8 @@ type MockDataCoord_ListImports_Call struct {
|
|||
}
|
||||
|
||||
// ListImports is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *internalpb.ListImportsRequestInternal
|
||||
// - _a0 context.Context
|
||||
// - _a1 *internalpb.ListImportsRequestInternal
|
||||
func (_e *MockDataCoord_Expecter) ListImports(_a0 interface{}, _a1 interface{}) *MockDataCoord_ListImports_Call {
|
||||
return &MockDataCoord_ListImports_Call{Call: _e.mock.On("ListImports", _a0, _a1)}
|
||||
}
|
||||
|
@ -2256,8 +2256,8 @@ type MockDataCoord_ListIndexes_Call struct {
|
|||
}
|
||||
|
||||
// ListIndexes is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.ListIndexesRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *indexpb.ListIndexesRequest
|
||||
func (_e *MockDataCoord_Expecter) ListIndexes(_a0 interface{}, _a1 interface{}) *MockDataCoord_ListIndexes_Call {
|
||||
return &MockDataCoord_ListIndexes_Call{Call: _e.mock.On("ListIndexes", _a0, _a1)}
|
||||
}
|
||||
|
@ -2311,8 +2311,8 @@ type MockDataCoord_ManualCompaction_Call struct {
|
|||
}
|
||||
|
||||
// ManualCompaction is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *milvuspb.ManualCompactionRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *milvuspb.ManualCompactionRequest
|
||||
func (_e *MockDataCoord_Expecter) ManualCompaction(_a0 interface{}, _a1 interface{}) *MockDataCoord_ManualCompaction_Call {
|
||||
return &MockDataCoord_ManualCompaction_Call{Call: _e.mock.On("ManualCompaction", _a0, _a1)}
|
||||
}
|
||||
|
@ -2366,8 +2366,8 @@ type MockDataCoord_MarkSegmentsDropped_Call struct {
|
|||
}
|
||||
|
||||
// MarkSegmentsDropped is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.MarkSegmentsDroppedRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.MarkSegmentsDroppedRequest
|
||||
func (_e *MockDataCoord_Expecter) MarkSegmentsDropped(_a0 interface{}, _a1 interface{}) *MockDataCoord_MarkSegmentsDropped_Call {
|
||||
return &MockDataCoord_MarkSegmentsDropped_Call{Call: _e.mock.On("MarkSegmentsDropped", _a0, _a1)}
|
||||
}
|
||||
|
@ -2495,8 +2495,8 @@ type MockDataCoord_ReportDataNodeTtMsgs_Call struct {
|
|||
}
|
||||
|
||||
// ReportDataNodeTtMsgs is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.ReportDataNodeTtMsgsRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.ReportDataNodeTtMsgsRequest
|
||||
func (_e *MockDataCoord_Expecter) ReportDataNodeTtMsgs(_a0 interface{}, _a1 interface{}) *MockDataCoord_ReportDataNodeTtMsgs_Call {
|
||||
return &MockDataCoord_ReportDataNodeTtMsgs_Call{Call: _e.mock.On("ReportDataNodeTtMsgs", _a0, _a1)}
|
||||
}
|
||||
|
@ -2550,8 +2550,8 @@ type MockDataCoord_SaveBinlogPaths_Call struct {
|
|||
}
|
||||
|
||||
// SaveBinlogPaths is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.SaveBinlogPathsRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.SaveBinlogPathsRequest
|
||||
func (_e *MockDataCoord_Expecter) SaveBinlogPaths(_a0 interface{}, _a1 interface{}) *MockDataCoord_SaveBinlogPaths_Call {
|
||||
return &MockDataCoord_SaveBinlogPaths_Call{Call: _e.mock.On("SaveBinlogPaths", _a0, _a1)}
|
||||
}
|
||||
|
@ -2584,7 +2584,7 @@ type MockDataCoord_SetAddress_Call struct {
|
|||
}
|
||||
|
||||
// SetAddress is a helper method to define mock.On call
|
||||
// - address string
|
||||
// - address string
|
||||
func (_e *MockDataCoord_Expecter) SetAddress(address interface{}) *MockDataCoord_SetAddress_Call {
|
||||
return &MockDataCoord_SetAddress_Call{Call: _e.mock.On("SetAddress", address)}
|
||||
}
|
||||
|
@ -2617,7 +2617,7 @@ type MockDataCoord_SetDataNodeCreator_Call struct {
|
|||
}
|
||||
|
||||
// SetDataNodeCreator is a helper method to define mock.On call
|
||||
// - _a0 func(context.Context , string , int64)(types.DataNodeClient , error)
|
||||
// - _a0 func(context.Context , string , int64)(types.DataNodeClient , error)
|
||||
func (_e *MockDataCoord_Expecter) SetDataNodeCreator(_a0 interface{}) *MockDataCoord_SetDataNodeCreator_Call {
|
||||
return &MockDataCoord_SetDataNodeCreator_Call{Call: _e.mock.On("SetDataNodeCreator", _a0)}
|
||||
}
|
||||
|
@ -2650,7 +2650,7 @@ type MockDataCoord_SetEtcdClient_Call struct {
|
|||
}
|
||||
|
||||
// SetEtcdClient is a helper method to define mock.On call
|
||||
// - etcdClient *clientv3.Client
|
||||
// - etcdClient *clientv3.Client
|
||||
func (_e *MockDataCoord_Expecter) SetEtcdClient(etcdClient interface{}) *MockDataCoord_SetEtcdClient_Call {
|
||||
return &MockDataCoord_SetEtcdClient_Call{Call: _e.mock.On("SetEtcdClient", etcdClient)}
|
||||
}
|
||||
|
@ -2683,7 +2683,7 @@ type MockDataCoord_SetIndexNodeCreator_Call struct {
|
|||
}
|
||||
|
||||
// SetIndexNodeCreator is a helper method to define mock.On call
|
||||
// - _a0 func(context.Context , string , int64)(types.IndexNodeClient , error)
|
||||
// - _a0 func(context.Context , string , int64)(types.IndexNodeClient , error)
|
||||
func (_e *MockDataCoord_Expecter) SetIndexNodeCreator(_a0 interface{}) *MockDataCoord_SetIndexNodeCreator_Call {
|
||||
return &MockDataCoord_SetIndexNodeCreator_Call{Call: _e.mock.On("SetIndexNodeCreator", _a0)}
|
||||
}
|
||||
|
@ -2716,7 +2716,7 @@ type MockDataCoord_SetRootCoordClient_Call struct {
|
|||
}
|
||||
|
||||
// SetRootCoordClient is a helper method to define mock.On call
|
||||
// - rootCoord types.RootCoordClient
|
||||
// - rootCoord types.RootCoordClient
|
||||
func (_e *MockDataCoord_Expecter) SetRootCoordClient(rootCoord interface{}) *MockDataCoord_SetRootCoordClient_Call {
|
||||
return &MockDataCoord_SetRootCoordClient_Call{Call: _e.mock.On("SetRootCoordClient", rootCoord)}
|
||||
}
|
||||
|
@ -2770,8 +2770,8 @@ type MockDataCoord_SetSegmentState_Call struct {
|
|||
}
|
||||
|
||||
// SetSegmentState is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.SetSegmentStateRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.SetSegmentStateRequest
|
||||
func (_e *MockDataCoord_Expecter) SetSegmentState(_a0 interface{}, _a1 interface{}) *MockDataCoord_SetSegmentState_Call {
|
||||
return &MockDataCoord_SetSegmentState_Call{Call: _e.mock.On("SetSegmentState", _a0, _a1)}
|
||||
}
|
||||
|
@ -2804,7 +2804,7 @@ type MockDataCoord_SetTiKVClient_Call struct {
|
|||
}
|
||||
|
||||
// SetTiKVClient is a helper method to define mock.On call
|
||||
// - client *txnkv.Client
|
||||
// - client *txnkv.Client
|
||||
func (_e *MockDataCoord_Expecter) SetTiKVClient(client interface{}) *MockDataCoord_SetTiKVClient_Call {
|
||||
return &MockDataCoord_SetTiKVClient_Call{Call: _e.mock.On("SetTiKVClient", client)}
|
||||
}
|
||||
|
@ -2858,8 +2858,8 @@ type MockDataCoord_ShowConfigurations_Call struct {
|
|||
}
|
||||
|
||||
// ShowConfigurations is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *internalpb.ShowConfigurationsRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *internalpb.ShowConfigurationsRequest
|
||||
func (_e *MockDataCoord_Expecter) ShowConfigurations(_a0 interface{}, _a1 interface{}) *MockDataCoord_ShowConfigurations_Call {
|
||||
return &MockDataCoord_ShowConfigurations_Call{Call: _e.mock.On("ShowConfigurations", _a0, _a1)}
|
||||
}
|
||||
|
@ -2995,8 +2995,8 @@ type MockDataCoord_UpdateChannelCheckpoint_Call struct {
|
|||
}
|
||||
|
||||
// UpdateChannelCheckpoint is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.UpdateChannelCheckpointRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.UpdateChannelCheckpointRequest
|
||||
func (_e *MockDataCoord_Expecter) UpdateChannelCheckpoint(_a0 interface{}, _a1 interface{}) *MockDataCoord_UpdateChannelCheckpoint_Call {
|
||||
return &MockDataCoord_UpdateChannelCheckpoint_Call{Call: _e.mock.On("UpdateChannelCheckpoint", _a0, _a1)}
|
||||
}
|
||||
|
@ -3050,8 +3050,8 @@ type MockDataCoord_UpdateSegmentStatistics_Call struct {
|
|||
}
|
||||
|
||||
// UpdateSegmentStatistics is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.UpdateSegmentStatisticsRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.UpdateSegmentStatisticsRequest
|
||||
func (_e *MockDataCoord_Expecter) UpdateSegmentStatistics(_a0 interface{}, _a1 interface{}) *MockDataCoord_UpdateSegmentStatistics_Call {
|
||||
return &MockDataCoord_UpdateSegmentStatistics_Call{Call: _e.mock.On("UpdateSegmentStatistics", _a0, _a1)}
|
||||
}
|
||||
|
@ -3105,8 +3105,8 @@ type MockDataCoord_WatchChannels_Call struct {
|
|||
}
|
||||
|
||||
// WatchChannels is a helper method to define mock.On call
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.WatchChannelsRequest
|
||||
// - _a0 context.Context
|
||||
// - _a1 *datapb.WatchChannelsRequest
|
||||
func (_e *MockDataCoord_Expecter) WatchChannels(_a0 interface{}, _a1 interface{}) *MockDataCoord_WatchChannels_Call {
|
||||
return &MockDataCoord_WatchChannels_Call{Call: _e.mock.On("WatchChannels", _a0, _a1)}
|
||||
}
|
||||
|
|
|
@ -142,9 +142,9 @@ type MockDataCoordClient_AlterIndex_Call struct {
|
|||
}
|
||||
|
||||
// AlterIndex is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.AlterIndexRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.AlterIndexRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) AlterIndex(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_AlterIndex_Call {
|
||||
return &MockDataCoordClient_AlterIndex_Call{Call: _e.mock.On("AlterIndex",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -212,9 +212,9 @@ type MockDataCoordClient_AssignSegmentID_Call struct {
|
|||
}
|
||||
|
||||
// AssignSegmentID is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.AssignSegmentIDRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.AssignSegmentIDRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) AssignSegmentID(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_AssignSegmentID_Call {
|
||||
return &MockDataCoordClient_AssignSegmentID_Call{Call: _e.mock.On("AssignSegmentID",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -282,9 +282,9 @@ type MockDataCoordClient_BroadcastAlteredCollection_Call struct {
|
|||
}
|
||||
|
||||
// BroadcastAlteredCollection is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.AlterCollectionRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.AlterCollectionRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) BroadcastAlteredCollection(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_BroadcastAlteredCollection_Call {
|
||||
return &MockDataCoordClient_BroadcastAlteredCollection_Call{Call: _e.mock.On("BroadcastAlteredCollection",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -352,9 +352,9 @@ type MockDataCoordClient_CheckHealth_Call struct {
|
|||
}
|
||||
|
||||
// CheckHealth is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *milvuspb.CheckHealthRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *milvuspb.CheckHealthRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) CheckHealth(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_CheckHealth_Call {
|
||||
return &MockDataCoordClient_CheckHealth_Call{Call: _e.mock.On("CheckHealth",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -463,9 +463,9 @@ type MockDataCoordClient_CreateIndex_Call struct {
|
|||
}
|
||||
|
||||
// CreateIndex is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.CreateIndexRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.CreateIndexRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) CreateIndex(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_CreateIndex_Call {
|
||||
return &MockDataCoordClient_CreateIndex_Call{Call: _e.mock.On("CreateIndex",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -533,9 +533,9 @@ type MockDataCoordClient_DescribeIndex_Call struct {
|
|||
}
|
||||
|
||||
// DescribeIndex is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.DescribeIndexRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.DescribeIndexRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) DescribeIndex(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_DescribeIndex_Call {
|
||||
return &MockDataCoordClient_DescribeIndex_Call{Call: _e.mock.On("DescribeIndex",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -603,9 +603,9 @@ type MockDataCoordClient_DropIndex_Call struct {
|
|||
}
|
||||
|
||||
// DropIndex is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.DropIndexRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.DropIndexRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) DropIndex(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_DropIndex_Call {
|
||||
return &MockDataCoordClient_DropIndex_Call{Call: _e.mock.On("DropIndex",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -673,9 +673,9 @@ type MockDataCoordClient_DropVirtualChannel_Call struct {
|
|||
}
|
||||
|
||||
// DropVirtualChannel is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.DropVirtualChannelRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.DropVirtualChannelRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) DropVirtualChannel(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_DropVirtualChannel_Call {
|
||||
return &MockDataCoordClient_DropVirtualChannel_Call{Call: _e.mock.On("DropVirtualChannel",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -743,9 +743,9 @@ type MockDataCoordClient_Flush_Call struct {
|
|||
}
|
||||
|
||||
// Flush is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.FlushRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.FlushRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) Flush(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_Flush_Call {
|
||||
return &MockDataCoordClient_Flush_Call{Call: _e.mock.On("Flush",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -813,9 +813,9 @@ type MockDataCoordClient_GcConfirm_Call struct {
|
|||
}
|
||||
|
||||
// GcConfirm is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GcConfirmRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GcConfirmRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GcConfirm(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GcConfirm_Call {
|
||||
return &MockDataCoordClient_GcConfirm_Call{Call: _e.mock.On("GcConfirm",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -883,9 +883,9 @@ type MockDataCoordClient_GcControl_Call struct {
|
|||
}
|
||||
|
||||
// GcControl is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GcControlRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GcControlRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GcControl(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GcControl_Call {
|
||||
return &MockDataCoordClient_GcControl_Call{Call: _e.mock.On("GcControl",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -953,9 +953,9 @@ type MockDataCoordClient_GetChannelRecoveryInfo_Call struct {
|
|||
}
|
||||
|
||||
// GetChannelRecoveryInfo is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetChannelRecoveryInfoRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetChannelRecoveryInfoRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetChannelRecoveryInfo(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetChannelRecoveryInfo_Call {
|
||||
return &MockDataCoordClient_GetChannelRecoveryInfo_Call{Call: _e.mock.On("GetChannelRecoveryInfo",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -1023,9 +1023,9 @@ type MockDataCoordClient_GetCollectionStatistics_Call struct {
|
|||
}
|
||||
|
||||
// GetCollectionStatistics is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetCollectionStatisticsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetCollectionStatisticsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetCollectionStatistics(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetCollectionStatistics_Call {
|
||||
return &MockDataCoordClient_GetCollectionStatistics_Call{Call: _e.mock.On("GetCollectionStatistics",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -1093,9 +1093,9 @@ type MockDataCoordClient_GetCompactionState_Call struct {
|
|||
}
|
||||
|
||||
// GetCompactionState is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *milvuspb.GetCompactionStateRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *milvuspb.GetCompactionStateRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetCompactionState(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetCompactionState_Call {
|
||||
return &MockDataCoordClient_GetCompactionState_Call{Call: _e.mock.On("GetCompactionState",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -1163,9 +1163,9 @@ type MockDataCoordClient_GetCompactionStateWithPlans_Call struct {
|
|||
}
|
||||
|
||||
// GetCompactionStateWithPlans is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *milvuspb.GetCompactionPlansRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *milvuspb.GetCompactionPlansRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetCompactionStateWithPlans(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetCompactionStateWithPlans_Call {
|
||||
return &MockDataCoordClient_GetCompactionStateWithPlans_Call{Call: _e.mock.On("GetCompactionStateWithPlans",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -1233,9 +1233,9 @@ type MockDataCoordClient_GetComponentStates_Call struct {
|
|||
}
|
||||
|
||||
// GetComponentStates is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *milvuspb.GetComponentStatesRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *milvuspb.GetComponentStatesRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetComponentStates(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetComponentStates_Call {
|
||||
return &MockDataCoordClient_GetComponentStates_Call{Call: _e.mock.On("GetComponentStates",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -1303,9 +1303,9 @@ type MockDataCoordClient_GetFlushAllState_Call struct {
|
|||
}
|
||||
|
||||
// GetFlushAllState is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *milvuspb.GetFlushAllStateRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *milvuspb.GetFlushAllStateRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetFlushAllState(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetFlushAllState_Call {
|
||||
return &MockDataCoordClient_GetFlushAllState_Call{Call: _e.mock.On("GetFlushAllState",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -1373,9 +1373,9 @@ type MockDataCoordClient_GetFlushState_Call struct {
|
|||
}
|
||||
|
||||
// GetFlushState is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetFlushStateRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetFlushStateRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetFlushState(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetFlushState_Call {
|
||||
return &MockDataCoordClient_GetFlushState_Call{Call: _e.mock.On("GetFlushState",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -1443,9 +1443,9 @@ type MockDataCoordClient_GetFlushedSegments_Call struct {
|
|||
}
|
||||
|
||||
// GetFlushedSegments is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetFlushedSegmentsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetFlushedSegmentsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetFlushedSegments(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetFlushedSegments_Call {
|
||||
return &MockDataCoordClient_GetFlushedSegments_Call{Call: _e.mock.On("GetFlushedSegments",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -1513,9 +1513,9 @@ type MockDataCoordClient_GetImportProgress_Call struct {
|
|||
}
|
||||
|
||||
// GetImportProgress is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *internalpb.GetImportProgressRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *internalpb.GetImportProgressRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetImportProgress(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetImportProgress_Call {
|
||||
return &MockDataCoordClient_GetImportProgress_Call{Call: _e.mock.On("GetImportProgress",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -1583,9 +1583,9 @@ type MockDataCoordClient_GetIndexBuildProgress_Call struct {
|
|||
}
|
||||
|
||||
// GetIndexBuildProgress is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.GetIndexBuildProgressRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.GetIndexBuildProgressRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetIndexBuildProgress(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetIndexBuildProgress_Call {
|
||||
return &MockDataCoordClient_GetIndexBuildProgress_Call{Call: _e.mock.On("GetIndexBuildProgress",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -1653,9 +1653,9 @@ type MockDataCoordClient_GetIndexInfos_Call struct {
|
|||
}
|
||||
|
||||
// GetIndexInfos is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.GetIndexInfoRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.GetIndexInfoRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetIndexInfos(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetIndexInfos_Call {
|
||||
return &MockDataCoordClient_GetIndexInfos_Call{Call: _e.mock.On("GetIndexInfos",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -1723,9 +1723,9 @@ type MockDataCoordClient_GetIndexState_Call struct {
|
|||
}
|
||||
|
||||
// GetIndexState is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.GetIndexStateRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.GetIndexStateRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetIndexState(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetIndexState_Call {
|
||||
return &MockDataCoordClient_GetIndexState_Call{Call: _e.mock.On("GetIndexState",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -1793,9 +1793,9 @@ type MockDataCoordClient_GetIndexStatistics_Call struct {
|
|||
}
|
||||
|
||||
// GetIndexStatistics is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.GetIndexStatisticsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.GetIndexStatisticsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetIndexStatistics(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetIndexStatistics_Call {
|
||||
return &MockDataCoordClient_GetIndexStatistics_Call{Call: _e.mock.On("GetIndexStatistics",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -1863,9 +1863,9 @@ type MockDataCoordClient_GetInsertBinlogPaths_Call struct {
|
|||
}
|
||||
|
||||
// GetInsertBinlogPaths is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetInsertBinlogPathsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetInsertBinlogPathsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetInsertBinlogPaths(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetInsertBinlogPaths_Call {
|
||||
return &MockDataCoordClient_GetInsertBinlogPaths_Call{Call: _e.mock.On("GetInsertBinlogPaths",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -1933,9 +1933,9 @@ type MockDataCoordClient_GetMetrics_Call struct {
|
|||
}
|
||||
|
||||
// GetMetrics is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *milvuspb.GetMetricsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *milvuspb.GetMetricsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetMetrics(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetMetrics_Call {
|
||||
return &MockDataCoordClient_GetMetrics_Call{Call: _e.mock.On("GetMetrics",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2003,9 +2003,9 @@ type MockDataCoordClient_GetPartitionStatistics_Call struct {
|
|||
}
|
||||
|
||||
// GetPartitionStatistics is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetPartitionStatisticsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetPartitionStatisticsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetPartitionStatistics(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetPartitionStatistics_Call {
|
||||
return &MockDataCoordClient_GetPartitionStatistics_Call{Call: _e.mock.On("GetPartitionStatistics",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2073,9 +2073,9 @@ type MockDataCoordClient_GetRecoveryInfo_Call struct {
|
|||
}
|
||||
|
||||
// GetRecoveryInfo is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetRecoveryInfoRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetRecoveryInfoRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetRecoveryInfo(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetRecoveryInfo_Call {
|
||||
return &MockDataCoordClient_GetRecoveryInfo_Call{Call: _e.mock.On("GetRecoveryInfo",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2143,9 +2143,9 @@ type MockDataCoordClient_GetRecoveryInfoV2_Call struct {
|
|||
}
|
||||
|
||||
// GetRecoveryInfoV2 is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetRecoveryInfoRequestV2
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetRecoveryInfoRequestV2
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetRecoveryInfoV2(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetRecoveryInfoV2_Call {
|
||||
return &MockDataCoordClient_GetRecoveryInfoV2_Call{Call: _e.mock.On("GetRecoveryInfoV2",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2213,9 +2213,9 @@ type MockDataCoordClient_GetSegmentIndexState_Call struct {
|
|||
}
|
||||
|
||||
// GetSegmentIndexState is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.GetSegmentIndexStateRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.GetSegmentIndexStateRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetSegmentIndexState(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetSegmentIndexState_Call {
|
||||
return &MockDataCoordClient_GetSegmentIndexState_Call{Call: _e.mock.On("GetSegmentIndexState",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2283,9 +2283,9 @@ type MockDataCoordClient_GetSegmentInfo_Call struct {
|
|||
}
|
||||
|
||||
// GetSegmentInfo is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetSegmentInfoRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetSegmentInfoRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetSegmentInfo(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetSegmentInfo_Call {
|
||||
return &MockDataCoordClient_GetSegmentInfo_Call{Call: _e.mock.On("GetSegmentInfo",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2353,9 +2353,9 @@ type MockDataCoordClient_GetSegmentInfoChannel_Call struct {
|
|||
}
|
||||
|
||||
// GetSegmentInfoChannel is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetSegmentInfoChannelRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetSegmentInfoChannelRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetSegmentInfoChannel(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetSegmentInfoChannel_Call {
|
||||
return &MockDataCoordClient_GetSegmentInfoChannel_Call{Call: _e.mock.On("GetSegmentInfoChannel",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2423,9 +2423,9 @@ type MockDataCoordClient_GetSegmentStates_Call struct {
|
|||
}
|
||||
|
||||
// GetSegmentStates is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetSegmentStatesRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetSegmentStatesRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetSegmentStates(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetSegmentStates_Call {
|
||||
return &MockDataCoordClient_GetSegmentStates_Call{Call: _e.mock.On("GetSegmentStates",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2493,9 +2493,9 @@ type MockDataCoordClient_GetSegmentsByStates_Call struct {
|
|||
}
|
||||
|
||||
// GetSegmentsByStates is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetSegmentsByStatesRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.GetSegmentsByStatesRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetSegmentsByStates(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetSegmentsByStates_Call {
|
||||
return &MockDataCoordClient_GetSegmentsByStates_Call{Call: _e.mock.On("GetSegmentsByStates",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2563,9 +2563,9 @@ type MockDataCoordClient_GetStatisticsChannel_Call struct {
|
|||
}
|
||||
|
||||
// GetStatisticsChannel is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *internalpb.GetStatisticsChannelRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *internalpb.GetStatisticsChannelRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetStatisticsChannel(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetStatisticsChannel_Call {
|
||||
return &MockDataCoordClient_GetStatisticsChannel_Call{Call: _e.mock.On("GetStatisticsChannel",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2633,9 +2633,9 @@ type MockDataCoordClient_GetTimeTickChannel_Call struct {
|
|||
}
|
||||
|
||||
// GetTimeTickChannel is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *internalpb.GetTimeTickChannelRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *internalpb.GetTimeTickChannelRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) GetTimeTickChannel(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_GetTimeTickChannel_Call {
|
||||
return &MockDataCoordClient_GetTimeTickChannel_Call{Call: _e.mock.On("GetTimeTickChannel",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2703,9 +2703,9 @@ type MockDataCoordClient_ImportV2_Call struct {
|
|||
}
|
||||
|
||||
// ImportV2 is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *internalpb.ImportRequestInternal
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *internalpb.ImportRequestInternal
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) ImportV2(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_ImportV2_Call {
|
||||
return &MockDataCoordClient_ImportV2_Call{Call: _e.mock.On("ImportV2",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2773,9 +2773,9 @@ type MockDataCoordClient_ListImports_Call struct {
|
|||
}
|
||||
|
||||
// ListImports is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *internalpb.ListImportsRequestInternal
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *internalpb.ListImportsRequestInternal
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) ListImports(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_ListImports_Call {
|
||||
return &MockDataCoordClient_ListImports_Call{Call: _e.mock.On("ListImports",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2843,9 +2843,9 @@ type MockDataCoordClient_ListIndexes_Call struct {
|
|||
}
|
||||
|
||||
// ListIndexes is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.ListIndexesRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *indexpb.ListIndexesRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) ListIndexes(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_ListIndexes_Call {
|
||||
return &MockDataCoordClient_ListIndexes_Call{Call: _e.mock.On("ListIndexes",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2913,9 +2913,9 @@ type MockDataCoordClient_ManualCompaction_Call struct {
|
|||
}
|
||||
|
||||
// ManualCompaction is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *milvuspb.ManualCompactionRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *milvuspb.ManualCompactionRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) ManualCompaction(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_ManualCompaction_Call {
|
||||
return &MockDataCoordClient_ManualCompaction_Call{Call: _e.mock.On("ManualCompaction",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -2983,9 +2983,9 @@ type MockDataCoordClient_MarkSegmentsDropped_Call struct {
|
|||
}
|
||||
|
||||
// MarkSegmentsDropped is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.MarkSegmentsDroppedRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.MarkSegmentsDroppedRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) MarkSegmentsDropped(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_MarkSegmentsDropped_Call {
|
||||
return &MockDataCoordClient_MarkSegmentsDropped_Call{Call: _e.mock.On("MarkSegmentsDropped",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -3053,9 +3053,9 @@ type MockDataCoordClient_ReportDataNodeTtMsgs_Call struct {
|
|||
}
|
||||
|
||||
// ReportDataNodeTtMsgs is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.ReportDataNodeTtMsgsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.ReportDataNodeTtMsgsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) ReportDataNodeTtMsgs(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_ReportDataNodeTtMsgs_Call {
|
||||
return &MockDataCoordClient_ReportDataNodeTtMsgs_Call{Call: _e.mock.On("ReportDataNodeTtMsgs",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -3123,9 +3123,9 @@ type MockDataCoordClient_SaveBinlogPaths_Call struct {
|
|||
}
|
||||
|
||||
// SaveBinlogPaths is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.SaveBinlogPathsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.SaveBinlogPathsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) SaveBinlogPaths(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_SaveBinlogPaths_Call {
|
||||
return &MockDataCoordClient_SaveBinlogPaths_Call{Call: _e.mock.On("SaveBinlogPaths",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -3193,9 +3193,9 @@ type MockDataCoordClient_SetSegmentState_Call struct {
|
|||
}
|
||||
|
||||
// SetSegmentState is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.SetSegmentStateRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.SetSegmentStateRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) SetSegmentState(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_SetSegmentState_Call {
|
||||
return &MockDataCoordClient_SetSegmentState_Call{Call: _e.mock.On("SetSegmentState",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -3263,9 +3263,9 @@ type MockDataCoordClient_ShowConfigurations_Call struct {
|
|||
}
|
||||
|
||||
// ShowConfigurations is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *internalpb.ShowConfigurationsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *internalpb.ShowConfigurationsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) ShowConfigurations(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_ShowConfigurations_Call {
|
||||
return &MockDataCoordClient_ShowConfigurations_Call{Call: _e.mock.On("ShowConfigurations",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -3333,9 +3333,9 @@ type MockDataCoordClient_UpdateChannelCheckpoint_Call struct {
|
|||
}
|
||||
|
||||
// UpdateChannelCheckpoint is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.UpdateChannelCheckpointRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.UpdateChannelCheckpointRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) UpdateChannelCheckpoint(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_UpdateChannelCheckpoint_Call {
|
||||
return &MockDataCoordClient_UpdateChannelCheckpoint_Call{Call: _e.mock.On("UpdateChannelCheckpoint",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -3403,9 +3403,9 @@ type MockDataCoordClient_UpdateSegmentStatistics_Call struct {
|
|||
}
|
||||
|
||||
// UpdateSegmentStatistics is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.UpdateSegmentStatisticsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.UpdateSegmentStatisticsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) UpdateSegmentStatistics(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_UpdateSegmentStatistics_Call {
|
||||
return &MockDataCoordClient_UpdateSegmentStatistics_Call{Call: _e.mock.On("UpdateSegmentStatistics",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
@ -3473,9 +3473,9 @@ type MockDataCoordClient_WatchChannels_Call struct {
|
|||
}
|
||||
|
||||
// WatchChannels is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - in *datapb.WatchChannelsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
// - ctx context.Context
|
||||
// - in *datapb.WatchChannelsRequest
|
||||
// - opts ...grpc.CallOption
|
||||
func (_e *MockDataCoordClient_Expecter) WatchChannels(ctx interface{}, in interface{}, opts ...interface{}) *MockDataCoordClient_WatchChannels_Call {
|
||||
return &MockDataCoordClient_WatchChannels_Call{Call: _e.mock.On("WatchChannels",
|
||||
append([]interface{}{ctx, in}, opts...)...)}
|
||||
|
|
|
@ -211,4 +211,5 @@ message PlanNode {
|
|||
QueryPlanNode query = 4;
|
||||
}
|
||||
repeated int64 output_field_ids = 3;
|
||||
repeated string dynamic_fields = 5;
|
||||
}
|
||||
|
|
|
@ -57,7 +57,8 @@ type queryTask struct {
|
|||
queryParams *queryParams
|
||||
schema *schemaInfo
|
||||
|
||||
userOutputFields []string
|
||||
userOutputFields []string
|
||||
userDynamicFields []string
|
||||
|
||||
resultBuf *typeutil.ConcurrentSet[*internalpb.RetrieveResults]
|
||||
|
||||
|
@ -229,7 +230,7 @@ func (t *queryTask) createPlan(ctx context.Context) error {
|
|||
}
|
||||
}
|
||||
|
||||
t.request.OutputFields, t.userOutputFields, err = translateOutputFields(t.request.OutputFields, t.schema, true)
|
||||
t.request.OutputFields, t.userOutputFields, t.userDynamicFields, err = translateOutputFields(t.request.OutputFields, t.schema, true)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -241,6 +242,7 @@ func (t *queryTask) createPlan(ctx context.Context) error {
|
|||
outputFieldIDs = append(outputFieldIDs, common.TimeStampField)
|
||||
t.RetrieveRequest.OutputFieldsId = outputFieldIDs
|
||||
t.plan.OutputFieldIds = outputFieldIDs
|
||||
t.plan.DynamicFields = t.userDynamicFields
|
||||
log.Ctx(ctx).Debug("translate output fields to field ids",
|
||||
zap.Int64s("OutputFieldsID", t.OutputFieldsId),
|
||||
zap.String("requestType", "query"))
|
||||
|
|
|
@ -62,7 +62,8 @@ type searchTask struct {
|
|||
enableMaterializedView bool
|
||||
mustUsePartitionKey bool
|
||||
|
||||
userOutputFields []string
|
||||
userOutputFields []string
|
||||
userDynamicFields []string
|
||||
|
||||
resultBuf *typeutil.ConcurrentSet[*internalpb.SearchResults]
|
||||
|
||||
|
@ -153,7 +154,7 @@ func (t *searchTask) PreExecute(ctx context.Context) error {
|
|||
}
|
||||
}
|
||||
|
||||
t.request.OutputFields, t.userOutputFields, err = translateOutputFields(t.request.OutputFields, t.schema, false)
|
||||
t.request.OutputFields, t.userOutputFields, t.userDynamicFields, err = translateOutputFields(t.request.OutputFields, t.schema, false)
|
||||
if err != nil {
|
||||
log.Warn("translate output fields failed", zap.Error(err))
|
||||
return err
|
||||
|
@ -386,8 +387,10 @@ func (t *searchTask) initAdvancedSearchRequest(ctx context.Context) error {
|
|||
|
||||
if t.requery {
|
||||
plan.OutputFieldIds = nil
|
||||
plan.DynamicFields = nil
|
||||
} else {
|
||||
plan.OutputFieldIds = t.SearchRequest.OutputFieldsId
|
||||
plan.DynamicFields = t.userDynamicFields
|
||||
}
|
||||
|
||||
internalSubReq.SerializedExprPlan, err = proto.Marshal(plan)
|
||||
|
@ -446,6 +449,7 @@ func (t *searchTask) initSearchRequest(ctx context.Context) error {
|
|||
plan.OutputFieldIds = nil
|
||||
} else {
|
||||
plan.OutputFieldIds = t.SearchRequest.OutputFieldsId
|
||||
plan.DynamicFields = t.userDynamicFields
|
||||
}
|
||||
|
||||
t.SearchRequest.SerializedExprPlan, err = proto.Marshal(plan)
|
||||
|
@ -776,7 +780,83 @@ func (t *searchTask) Requery() error {
|
|||
UseDefaultConsistency: false,
|
||||
GuaranteeTimestamp: t.SearchRequest.GuaranteeTimestamp,
|
||||
}
|
||||
return doRequery(t.ctx, t.GetCollectionID(), t.node, t.schema.CollectionSchema, queryReq, t.result, t.queryChannelsTs, t.GetPartitionIDs())
|
||||
pkField, err := typeutil.GetPrimaryFieldSchema(t.schema.CollectionSchema)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
ids := t.result.GetResults().GetIds()
|
||||
plan := planparserv2.CreateRequeryPlan(pkField, ids)
|
||||
channelsMvcc := make(map[string]Timestamp)
|
||||
for k, v := range t.queryChannelsTs {
|
||||
channelsMvcc[k] = v
|
||||
}
|
||||
qt := &queryTask{
|
||||
ctx: t.ctx,
|
||||
Condition: NewTaskCondition(t.ctx),
|
||||
RetrieveRequest: &internalpb.RetrieveRequest{
|
||||
Base: commonpbutil.NewMsgBase(
|
||||
commonpbutil.WithMsgType(commonpb.MsgType_Retrieve),
|
||||
commonpbutil.WithSourceID(paramtable.GetNodeID()),
|
||||
),
|
||||
ReqID: paramtable.GetNodeID(),
|
||||
PartitionIDs: t.GetPartitionIDs(), // use search partitionIDs
|
||||
},
|
||||
request: queryReq,
|
||||
plan: plan,
|
||||
qc: t.node.(*Proxy).queryCoord,
|
||||
lb: t.node.(*Proxy).lbPolicy,
|
||||
channelsMvcc: channelsMvcc,
|
||||
fastSkip: true,
|
||||
reQuery: true,
|
||||
}
|
||||
queryResult, err := t.node.(*Proxy).query(t.ctx, qt)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if queryResult.GetStatus().GetErrorCode() != commonpb.ErrorCode_Success {
|
||||
return merr.Error(queryResult.GetStatus())
|
||||
}
|
||||
// Reorganize Results. The order of query result ids will be altered and differ from queried ids.
|
||||
// We should reorganize query results to keep the order of original queried ids. For example:
|
||||
// ===========================================
|
||||
// 3 2 5 4 1 (query ids)
|
||||
// ||
|
||||
// || (query)
|
||||
// \/
|
||||
// 4 3 5 1 2 (result ids)
|
||||
// v4 v3 v5 v1 v2 (result vectors)
|
||||
// ||
|
||||
// || (reorganize)
|
||||
// \/
|
||||
// 3 2 5 4 1 (result ids)
|
||||
// v3 v2 v5 v4 v1 (result vectors)
|
||||
// ===========================================
|
||||
_, sp := otel.Tracer(typeutil.ProxyRole).Start(t.ctx, "reorganizeRequeryResults")
|
||||
defer sp.End()
|
||||
pkFieldData, err := typeutil.GetPrimaryFieldData(queryResult.GetFieldsData(), pkField)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
offsets := make(map[any]int)
|
||||
for i := 0; i < typeutil.GetPKSize(pkFieldData); i++ {
|
||||
pk := typeutil.GetData(pkFieldData, i)
|
||||
offsets[pk] = i
|
||||
}
|
||||
|
||||
t.result.Results.FieldsData = make([]*schemapb.FieldData, len(queryResult.GetFieldsData()))
|
||||
for i := 0; i < typeutil.GetSizeOfIDs(ids); i++ {
|
||||
id := typeutil.GetPK(ids, int64(i))
|
||||
if _, ok := offsets[id]; !ok {
|
||||
return merr.WrapErrInconsistentRequery(fmt.Sprintf("incomplete query result, missing id %s, len(searchIDs) = %d, len(queryIDs) = %d, collection=%d",
|
||||
id, typeutil.GetSizeOfIDs(ids), len(offsets), t.GetCollectionID()))
|
||||
}
|
||||
typeutil.AppendFieldData(t.result.Results.FieldsData, queryResult.GetFieldsData(), int64(offsets[id]))
|
||||
}
|
||||
|
||||
t.result.Results.FieldsData = lo.Filter(t.result.Results.FieldsData, func(fieldData *schemapb.FieldData, i int) bool {
|
||||
return lo.Contains(t.request.GetOutputFields(), fieldData.GetFieldName())
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
func (t *searchTask) fillInFieldInfo() {
|
||||
|
@ -812,97 +892,6 @@ func (t *searchTask) collectSearchResults(ctx context.Context) ([]*internalpb.Se
|
|||
}
|
||||
}
|
||||
|
||||
func doRequery(ctx context.Context,
|
||||
collectionID int64,
|
||||
node types.ProxyComponent,
|
||||
schema *schemapb.CollectionSchema,
|
||||
request *milvuspb.QueryRequest,
|
||||
result *milvuspb.SearchResults,
|
||||
queryChannelsTs map[string]Timestamp,
|
||||
partitionIDs []int64,
|
||||
) error {
|
||||
outputFields := request.GetOutputFields()
|
||||
pkField, err := typeutil.GetPrimaryFieldSchema(schema)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
ids := result.GetResults().GetIds()
|
||||
plan := planparserv2.CreateRequeryPlan(pkField, ids)
|
||||
channelsMvcc := make(map[string]Timestamp)
|
||||
for k, v := range queryChannelsTs {
|
||||
channelsMvcc[k] = v
|
||||
}
|
||||
qt := &queryTask{
|
||||
ctx: ctx,
|
||||
Condition: NewTaskCondition(ctx),
|
||||
RetrieveRequest: &internalpb.RetrieveRequest{
|
||||
Base: commonpbutil.NewMsgBase(
|
||||
commonpbutil.WithMsgType(commonpb.MsgType_Retrieve),
|
||||
commonpbutil.WithSourceID(paramtable.GetNodeID()),
|
||||
),
|
||||
ReqID: paramtable.GetNodeID(),
|
||||
PartitionIDs: partitionIDs, // use search partitionIDs
|
||||
},
|
||||
request: request,
|
||||
plan: plan,
|
||||
qc: node.(*Proxy).queryCoord,
|
||||
lb: node.(*Proxy).lbPolicy,
|
||||
channelsMvcc: channelsMvcc,
|
||||
fastSkip: true,
|
||||
reQuery: true,
|
||||
}
|
||||
queryResult, err := node.(*Proxy).query(ctx, qt)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if queryResult.GetStatus().GetErrorCode() != commonpb.ErrorCode_Success {
|
||||
return merr.Error(queryResult.GetStatus())
|
||||
}
|
||||
// Reorganize Results. The order of query result ids will be altered and differ from queried ids.
|
||||
// We should reorganize query results to keep the order of original queried ids. For example:
|
||||
// ===========================================
|
||||
// 3 2 5 4 1 (query ids)
|
||||
// ||
|
||||
// || (query)
|
||||
// \/
|
||||
// 4 3 5 1 2 (result ids)
|
||||
// v4 v3 v5 v1 v2 (result vectors)
|
||||
// ||
|
||||
// || (reorganize)
|
||||
// \/
|
||||
// 3 2 5 4 1 (result ids)
|
||||
// v3 v2 v5 v4 v1 (result vectors)
|
||||
// ===========================================
|
||||
_, sp := otel.Tracer(typeutil.ProxyRole).Start(ctx, "reorganizeRequeryResults")
|
||||
defer sp.End()
|
||||
pkFieldData, err := typeutil.GetPrimaryFieldData(queryResult.GetFieldsData(), pkField)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
offsets := make(map[any]int)
|
||||
for i := 0; i < typeutil.GetPKSize(pkFieldData); i++ {
|
||||
pk := typeutil.GetData(pkFieldData, i)
|
||||
offsets[pk] = i
|
||||
}
|
||||
|
||||
result.Results.FieldsData = make([]*schemapb.FieldData, len(queryResult.GetFieldsData()))
|
||||
for i := 0; i < typeutil.GetSizeOfIDs(ids); i++ {
|
||||
id := typeutil.GetPK(ids, int64(i))
|
||||
if _, ok := offsets[id]; !ok {
|
||||
return merr.WrapErrInconsistentRequery(fmt.Sprintf("incomplete query result, missing id %s, len(searchIDs) = %d, len(queryIDs) = %d, collection=%d",
|
||||
id, typeutil.GetSizeOfIDs(ids), len(offsets), collectionID))
|
||||
}
|
||||
typeutil.AppendFieldData(result.Results.FieldsData, queryResult.GetFieldsData(), int64(offsets[id]))
|
||||
}
|
||||
|
||||
// filter id field out if it is not specified as output
|
||||
result.Results.FieldsData = lo.Filter(result.Results.FieldsData, func(fieldData *schemapb.FieldData, i int) bool {
|
||||
return lo.Contains(outputFields, fieldData.GetFieldName())
|
||||
})
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func decodeSearchResults(ctx context.Context, searchResults []*internalpb.SearchResults) ([]*schemapb.SearchResultData, error) {
|
||||
ctx, sp := otel.Tracer(typeutil.ProxyRole).Start(ctx, "decodeSearchResults")
|
||||
defer sp.End()
|
||||
|
|
|
@ -469,6 +469,7 @@ func TestTranslateOutputFields(t *testing.T) {
|
|||
)
|
||||
var outputFields []string
|
||||
var userOutputFields []string
|
||||
var userDynamicFields []string
|
||||
var err error
|
||||
|
||||
collSchema := &schemapb.CollectionSchema{
|
||||
|
@ -486,83 +487,98 @@ func TestTranslateOutputFields(t *testing.T) {
|
|||
}
|
||||
schema := newSchemaInfo(collSchema)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{}, schema, false)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{}, schema, false)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{}, outputFields)
|
||||
assert.ElementsMatch(t, []string{}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{idFieldName}, schema, false)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{idFieldName}, schema, false)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{idFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{idFieldName}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{idFieldName, tsFieldName}, schema, false)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{idFieldName, tsFieldName}, schema, false)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{idFieldName, tsFieldName, floatVectorFieldName}, schema, false)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{idFieldName, tsFieldName, floatVectorFieldName}, schema, false)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{"*"}, schema, false)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{"*"}, schema, false)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName, binaryVectorFieldName, float16VectorFieldName, bfloat16VectorFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName, binaryVectorFieldName, float16VectorFieldName, bfloat16VectorFieldName}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{" * "}, schema, false)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{" * "}, schema, false)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName, binaryVectorFieldName, float16VectorFieldName, bfloat16VectorFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName, binaryVectorFieldName, float16VectorFieldName, bfloat16VectorFieldName}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{"*", tsFieldName}, schema, false)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{"*", tsFieldName}, schema, false)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName, binaryVectorFieldName, float16VectorFieldName, bfloat16VectorFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName, binaryVectorFieldName, float16VectorFieldName, bfloat16VectorFieldName}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{"*", floatVectorFieldName}, schema, false)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{"*", floatVectorFieldName}, schema, false)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName, binaryVectorFieldName, float16VectorFieldName, bfloat16VectorFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName, binaryVectorFieldName, float16VectorFieldName, bfloat16VectorFieldName}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
//=========================================================================
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{}, schema, true)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{idFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{idFieldName}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{idFieldName}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{idFieldName}, schema, true)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{idFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{idFieldName}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{idFieldName, tsFieldName}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{idFieldName, tsFieldName}, schema, true)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{idFieldName, tsFieldName, floatVectorFieldName}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{idFieldName, tsFieldName, floatVectorFieldName}, schema, true)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{"*"}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{"*"}, schema, true)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName, binaryVectorFieldName, float16VectorFieldName, bfloat16VectorFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName, binaryVectorFieldName, float16VectorFieldName, bfloat16VectorFieldName}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{"*", tsFieldName}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{"*", tsFieldName}, schema, true)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName, binaryVectorFieldName, float16VectorFieldName, bfloat16VectorFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName, binaryVectorFieldName, float16VectorFieldName, bfloat16VectorFieldName}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{"*", floatVectorFieldName}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{"*", floatVectorFieldName}, schema, true)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName, binaryVectorFieldName, float16VectorFieldName, bfloat16VectorFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{idFieldName, tsFieldName, floatVectorFieldName, binaryVectorFieldName, float16VectorFieldName, bfloat16VectorFieldName}, userOutputFields)
|
||||
assert.ElementsMatch(t, []string{}, userDynamicFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{"A"}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{"A"}, schema, true)
|
||||
assert.Error(t, err)
|
||||
|
||||
t.Run("enable dynamic schema", func(t *testing.T) {
|
||||
|
@ -581,30 +597,30 @@ func TestTranslateOutputFields(t *testing.T) {
|
|||
}
|
||||
schema := newSchemaInfo(collSchema)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{"A", idFieldName}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{"A", idFieldName}, schema, true)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.ElementsMatch(t, []string{common.MetaFieldName, idFieldName}, outputFields)
|
||||
assert.ElementsMatch(t, []string{"A", idFieldName}, userOutputFields)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{idFieldName, floatVectorFieldName, "$meta[\"A\"]"}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{idFieldName, floatVectorFieldName, "$meta[\"A\"]"}, schema, true)
|
||||
assert.Error(t, err)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{idFieldName, floatVectorFieldName, "$meta[]"}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{idFieldName, floatVectorFieldName, "$meta[]"}, schema, true)
|
||||
assert.Error(t, err)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{idFieldName, floatVectorFieldName, "$meta[\"\"]"}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{idFieldName, floatVectorFieldName, "$meta[\"\"]"}, schema, true)
|
||||
assert.Error(t, err)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{idFieldName, floatVectorFieldName, "$meta["}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{idFieldName, floatVectorFieldName, "$meta["}, schema, true)
|
||||
assert.Error(t, err)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{idFieldName, floatVectorFieldName, "[]"}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{idFieldName, floatVectorFieldName, "[]"}, schema, true)
|
||||
assert.Error(t, err)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{idFieldName, floatVectorFieldName, "A > 1"}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{idFieldName, floatVectorFieldName, "A > 1"}, schema, true)
|
||||
assert.Error(t, err)
|
||||
|
||||
outputFields, userOutputFields, err = translateOutputFields([]string{idFieldName, floatVectorFieldName, ""}, schema, true)
|
||||
outputFields, userOutputFields, userDynamicFields, err = translateOutputFields([]string{idFieldName, floatVectorFieldName, ""}, schema, true)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
}
|
||||
|
|
|
@ -986,7 +986,7 @@ func translatePkOutputFields(schema *schemapb.CollectionSchema) ([]string, []int
|
|||
// output_fields=["*"] ==> [A,B,C,D]
|
||||
// output_fields=["*",A] ==> [A,B,C,D]
|
||||
// output_fields=["*",C] ==> [A,B,C,D]
|
||||
func translateOutputFields(outputFields []string, schema *schemaInfo, addPrimary bool) ([]string, []string, error) {
|
||||
func translateOutputFields(outputFields []string, schema *schemaInfo, addPrimary bool) ([]string, []string, []string, error) {
|
||||
var primaryFieldName string
|
||||
var dynamicField *schemapb.FieldSchema
|
||||
allFieldNameMap := make(map[string]int64)
|
||||
|
@ -994,7 +994,9 @@ func translateOutputFields(outputFields []string, schema *schemaInfo, addPrimary
|
|||
resultFieldNames := make([]string, 0)
|
||||
userOutputFieldsMap := make(map[string]bool)
|
||||
userOutputFields := make([]string, 0)
|
||||
|
||||
userDynamicFieldsMap := make(map[string]bool)
|
||||
userDynamicFields := make([]string, 0)
|
||||
useAllDyncamicFields := false
|
||||
for _, field := range schema.Fields {
|
||||
if field.IsPrimaryKey {
|
||||
primaryFieldName = field.Name
|
||||
|
@ -1015,20 +1017,21 @@ func translateOutputFields(outputFields []string, schema *schemaInfo, addPrimary
|
|||
userOutputFieldsMap[fieldName] = true
|
||||
}
|
||||
}
|
||||
useAllDyncamicFields = true
|
||||
} else {
|
||||
if fieldID, ok := allFieldNameMap[outputFieldName]; ok {
|
||||
if schema.IsFieldLoaded(fieldID) {
|
||||
resultFieldNameMap[outputFieldName] = true
|
||||
userOutputFieldsMap[outputFieldName] = true
|
||||
} else {
|
||||
return nil, nil, fmt.Errorf("field %s is not loaded", outputFieldName)
|
||||
return nil, nil, nil, fmt.Errorf("field %s is not loaded", outputFieldName)
|
||||
}
|
||||
} else {
|
||||
if schema.EnableDynamicField {
|
||||
if schema.IsFieldLoaded(dynamicField.GetFieldID()) {
|
||||
schemaH, err := typeutil.CreateSchemaHelper(schema.CollectionSchema)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
return nil, nil, nil, err
|
||||
}
|
||||
err = planparserv2.ParseIdentifier(schemaH, outputFieldName, func(expr *planpb.Expr) error {
|
||||
if len(expr.GetColumnExpr().GetInfo().GetNestedPath()) == 1 &&
|
||||
|
@ -1039,16 +1042,17 @@ func translateOutputFields(outputFields []string, schema *schemaInfo, addPrimary
|
|||
})
|
||||
if err != nil {
|
||||
log.Info("parse output field name failed", zap.String("field name", outputFieldName))
|
||||
return nil, nil, fmt.Errorf("parse output field name failed: %s", outputFieldName)
|
||||
return nil, nil, nil, fmt.Errorf("parse output field name failed: %s", outputFieldName)
|
||||
}
|
||||
resultFieldNameMap[common.MetaFieldName] = true
|
||||
userOutputFieldsMap[outputFieldName] = true
|
||||
userDynamicFieldsMap[outputFieldName] = true
|
||||
} else {
|
||||
// TODO after cold field be able to fetched with chunk cache, this check shall be removed
|
||||
return nil, nil, fmt.Errorf("field %s cannot be returned since dynamic field not loaded", outputFieldName)
|
||||
return nil, nil, nil, fmt.Errorf("field %s cannot be returned since dynamic field not loaded", outputFieldName)
|
||||
}
|
||||
} else {
|
||||
return nil, nil, fmt.Errorf("field %s not exist ", outputFieldName)
|
||||
return nil, nil, nil, fmt.Errorf("field %s not exist", outputFieldName)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1065,7 +1069,13 @@ func translateOutputFields(outputFields []string, schema *schemaInfo, addPrimary
|
|||
for fieldName := range userOutputFieldsMap {
|
||||
userOutputFields = append(userOutputFields, fieldName)
|
||||
}
|
||||
return resultFieldNames, userOutputFields, nil
|
||||
if !useAllDyncamicFields {
|
||||
for fieldName := range userDynamicFieldsMap {
|
||||
userDynamicFields = append(userDynamicFields, fieldName)
|
||||
}
|
||||
}
|
||||
|
||||
return resultFieldNames, userOutputFields, userDynamicFields, nil
|
||||
}
|
||||
|
||||
func validateIndexName(indexName string) error {
|
||||
|
|
|
@ -52,8 +52,8 @@ type GarbageCollector_GcCollectionData_Call struct {
|
|||
}
|
||||
|
||||
// GcCollectionData is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - coll *model.Collection
|
||||
// - ctx context.Context
|
||||
// - coll *model.Collection
|
||||
func (_e *GarbageCollector_Expecter) GcCollectionData(ctx interface{}, coll interface{}) *GarbageCollector_GcCollectionData_Call {
|
||||
return &GarbageCollector_GcCollectionData_Call{Call: _e.mock.On("GcCollectionData", ctx, coll)}
|
||||
}
|
||||
|
@ -105,10 +105,10 @@ type GarbageCollector_GcPartitionData_Call struct {
|
|||
}
|
||||
|
||||
// GcPartitionData is a helper method to define mock.On call
|
||||
// - ctx context.Context
|
||||
// - pChannels []string
|
||||
// - vchannels []string
|
||||
// - partition *model.Partition
|
||||
// - ctx context.Context
|
||||
// - pChannels []string
|
||||
// - vchannels []string
|
||||
// - partition *model.Partition
|
||||
func (_e *GarbageCollector_Expecter) GcPartitionData(ctx interface{}, pChannels interface{}, vchannels interface{}, partition interface{}) *GarbageCollector_GcPartitionData_Call {
|
||||
return &GarbageCollector_GcPartitionData_Call{Call: _e.mock.On("GcPartitionData", ctx, pChannels, vchannels, partition)}
|
||||
}
|
||||
|
@ -141,8 +141,8 @@ type GarbageCollector_ReDropCollection_Call struct {
|
|||
}
|
||||
|
||||
// ReDropCollection is a helper method to define mock.On call
|
||||
// - collMeta *model.Collection
|
||||
// - ts uint64
|
||||
// - collMeta *model.Collection
|
||||
// - ts uint64
|
||||
func (_e *GarbageCollector_Expecter) ReDropCollection(collMeta interface{}, ts interface{}) *GarbageCollector_ReDropCollection_Call {
|
||||
return &GarbageCollector_ReDropCollection_Call{Call: _e.mock.On("ReDropCollection", collMeta, ts)}
|
||||
}
|
||||
|
@ -175,11 +175,11 @@ type GarbageCollector_ReDropPartition_Call struct {
|
|||
}
|
||||
|
||||
// ReDropPartition is a helper method to define mock.On call
|
||||
// - dbID int64
|
||||
// - pChannels []string
|
||||
// - vchannels []string
|
||||
// - partition *model.Partition
|
||||
// - ts uint64
|
||||
// - dbID int64
|
||||
// - pChannels []string
|
||||
// - vchannels []string
|
||||
// - partition *model.Partition
|
||||
// - ts uint64
|
||||
func (_e *GarbageCollector_Expecter) ReDropPartition(dbID interface{}, pChannels interface{}, vchannels interface{}, partition interface{}, ts interface{}) *GarbageCollector_ReDropPartition_Call {
|
||||
return &GarbageCollector_ReDropPartition_Call{Call: _e.mock.On("ReDropPartition", dbID, pChannels, vchannels, partition, ts)}
|
||||
}
|
||||
|
@ -212,7 +212,7 @@ type GarbageCollector_RemoveCreatingCollection_Call struct {
|
|||
}
|
||||
|
||||
// RemoveCreatingCollection is a helper method to define mock.On call
|
||||
// - collMeta *model.Collection
|
||||
// - collMeta *model.Collection
|
||||
func (_e *GarbageCollector_Expecter) RemoveCreatingCollection(collMeta interface{}) *GarbageCollector_RemoveCreatingCollection_Call {
|
||||
return &GarbageCollector_RemoveCreatingCollection_Call{Call: _e.mock.On("RemoveCreatingCollection", collMeta)}
|
||||
}
|
||||
|
@ -245,9 +245,9 @@ type GarbageCollector_RemoveCreatingPartition_Call struct {
|
|||
}
|
||||
|
||||
// RemoveCreatingPartition is a helper method to define mock.On call
|
||||
// - dbID int64
|
||||
// - partition *model.Partition
|
||||
// - ts uint64
|
||||
// - dbID int64
|
||||
// - partition *model.Partition
|
||||
// - ts uint64
|
||||
func (_e *GarbageCollector_Expecter) RemoveCreatingPartition(dbID interface{}, partition interface{}, ts interface{}) *GarbageCollector_RemoveCreatingPartition_Call {
|
||||
return &GarbageCollector_RemoveCreatingPartition_Call{Call: _e.mock.On("RemoveCreatingPartition", dbID, partition, ts)}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue