change output_fields to out_fields_id for RetrieveRequest (#6506)

Signed-off-by: yudong.cai <yudong.cai@zilliz.com>
pull/6568/head
Cai Yudong 2021-07-14 13:11:54 +08:00 committed by GitHub
parent e50d39dfe1
commit 1c29b42434
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 261 additions and 291 deletions

View File

@ -111,7 +111,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_segcore_2eproto::offsets[] PRO
~0u, // no _oneof_case_ ~0u, // no _oneof_case_
~0u, // no _weak_field_map_ ~0u, // no _weak_field_map_
PROTOBUF_FIELD_OFFSET(::milvus::proto::segcore::RetrieveRequest, ids_), PROTOBUF_FIELD_OFFSET(::milvus::proto::segcore::RetrieveRequest, ids_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::segcore::RetrieveRequest, output_fields_), PROTOBUF_FIELD_OFFSET(::milvus::proto::segcore::RetrieveRequest, output_fields_id_),
~0u, // no _has_bits_ ~0u, // no _has_bits_
PROTOBUF_FIELD_OFFSET(::milvus::proto::segcore::RetrieveResults, _internal_metadata_), PROTOBUF_FIELD_OFFSET(::milvus::proto::segcore::RetrieveResults, _internal_metadata_),
~0u, // no _extensions_ ~0u, // no _extensions_
@ -151,17 +151,18 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] =
const char descriptor_table_protodef_segcore_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = const char descriptor_table_protodef_segcore_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
"\n\rsegcore.proto\022\024milvus.proto.segcore\032\014s" "\n\rsegcore.proto\022\024milvus.proto.segcore\032\014s"
"chema.proto\"O\n\017RetrieveRequest\022%\n\003ids\030\001 " "chema.proto\"R\n\017RetrieveRequest\022%\n\003ids\030\001 "
"\001(\0132\030.milvus.proto.schema.IDs\022\025\n\routput_" "\001(\0132\030.milvus.proto.schema.IDs\022\030\n\020output_"
"fields\030\002 \003(\t\"m\n\017RetrieveResults\022%\n\003ids\030\001" "fields_id\030\002 \003(\003\"m\n\017RetrieveResults\022%\n\003id"
" \001(\0132\030.milvus.proto.schema.IDs\0223\n\013fields" "s\030\001 \001(\0132\030.milvus.proto.schema.IDs\0223\n\013fie"
"_data\030\002 \003(\0132\036.milvus.proto.schema.FieldD" "lds_data\030\002 \003(\0132\036.milvus.proto.schema.Fie"
"ata\"P\n\rLoadFieldMeta\022\025\n\rmin_timestamp\030\001 " "ldData\"P\n\rLoadFieldMeta\022\025\n\rmin_timestamp"
"\001(\003\022\025\n\rmax_timestamp\030\002 \001(\003\022\021\n\trow_count\030" "\030\001 \001(\003\022\025\n\rmax_timestamp\030\002 \001(\003\022\021\n\trow_cou"
"\003 \001(\003\"Y\n\017LoadSegmentMeta\0222\n\005metas\030\001 \003(\0132" "nt\030\003 \001(\003\"Y\n\017LoadSegmentMeta\0222\n\005metas\030\001 \003"
"#.milvus.proto.segcore.LoadFieldMeta\022\022\n\n" "(\0132#.milvus.proto.segcore.LoadFieldMeta\022"
"total_size\030\002 \001(\003B6Z4github.com/milvus-io" "\022\n\ntotal_size\030\002 \001(\003B6Z4github.com/milvus"
"/milvus/internal/proto/segcorepbb\006proto3" "-io/milvus/internal/proto/segcorepbb\006pro"
"to3"
; ;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_segcore_2eproto_deps[1] = { static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_segcore_2eproto_deps[1] = {
&::descriptor_table_schema_2eproto, &::descriptor_table_schema_2eproto,
@ -175,7 +176,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_seg
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_segcore_2eproto_once; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_segcore_2eproto_once;
static bool descriptor_table_segcore_2eproto_initialized = false; static bool descriptor_table_segcore_2eproto_initialized = false;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_segcore_2eproto = { const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_segcore_2eproto = {
&descriptor_table_segcore_2eproto_initialized, descriptor_table_protodef_segcore_2eproto, "segcore.proto", 480, &descriptor_table_segcore_2eproto_initialized, descriptor_table_protodef_segcore_2eproto, "segcore.proto", 483,
&descriptor_table_segcore_2eproto_once, descriptor_table_segcore_2eproto_sccs, descriptor_table_segcore_2eproto_deps, 4, 1, &descriptor_table_segcore_2eproto_once, descriptor_table_segcore_2eproto_sccs, descriptor_table_segcore_2eproto_deps, 4, 1,
schemas, file_default_instances, TableStruct_segcore_2eproto::offsets, schemas, file_default_instances, TableStruct_segcore_2eproto::offsets,
file_level_metadata_segcore_2eproto, 4, file_level_enum_descriptors_segcore_2eproto, file_level_service_descriptors_segcore_2eproto, file_level_metadata_segcore_2eproto, 4, file_level_enum_descriptors_segcore_2eproto, file_level_service_descriptors_segcore_2eproto,
@ -216,7 +217,7 @@ RetrieveRequest::RetrieveRequest()
RetrieveRequest::RetrieveRequest(const RetrieveRequest& from) RetrieveRequest::RetrieveRequest(const RetrieveRequest& from)
: ::PROTOBUF_NAMESPACE_ID::Message(), : ::PROTOBUF_NAMESPACE_ID::Message(),
_internal_metadata_(nullptr), _internal_metadata_(nullptr),
output_fields_(from.output_fields_) { output_fields_id_(from.output_fields_id_) {
_internal_metadata_.MergeFrom(from._internal_metadata_); _internal_metadata_.MergeFrom(from._internal_metadata_);
if (from.has_ids()) { if (from.has_ids()) {
ids_ = new ::milvus::proto::schema::IDs(*from.ids_); ids_ = new ::milvus::proto::schema::IDs(*from.ids_);
@ -255,7 +256,7 @@ void RetrieveRequest::Clear() {
// Prevent compiler warnings about cached_has_bits being unused // Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits; (void) cached_has_bits;
output_fields_.Clear(); output_fields_id_.Clear();
if (GetArenaNoVirtual() == nullptr && ids_ != nullptr) { if (GetArenaNoVirtual() == nullptr && ids_ != nullptr) {
delete ids_; delete ids_;
} }
@ -278,16 +279,14 @@ const char* RetrieveRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPAC
CHK_(ptr); CHK_(ptr);
} else goto handle_unusual; } else goto handle_unusual;
continue; continue;
// repeated string output_fields = 2; // repeated int64 output_fields_id = 2;
case 2: case 2:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
ptr -= 1; ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_output_fields_id(), ptr, ctx);
do { CHK_(ptr);
ptr += 1; } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_output_fields(), ptr, ctx, "milvus.proto.segcore.RetrieveRequest.output_fields"); add_output_fields_id(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
CHK_(ptr); CHK_(ptr);
if (!ctx->DataAvailable(ptr)) break;
} while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18);
} else goto handle_unusual; } else goto handle_unusual;
continue; continue;
default: { default: {
@ -331,16 +330,16 @@ bool RetrieveRequest::MergePartialFromCodedStream(
break; break;
} }
// repeated string output_fields = 2; // repeated int64 output_fields_id = 2;
case 2: { case 2: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) { if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) {
DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString( DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive<
input, this->add_output_fields())); ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( input, this->mutable_output_fields_id())));
this->output_fields(this->output_fields_size() - 1).data(), } else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) {
static_cast<int>(this->output_fields(this->output_fields_size() - 1).length()), DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
"milvus.proto.segcore.RetrieveRequest.output_fields")); 1, 18u, input, this->mutable_output_fields_id())));
} else { } else {
goto handle_unusual; goto handle_unusual;
} }
@ -380,14 +379,15 @@ void RetrieveRequest::SerializeWithCachedSizes(
1, _Internal::ids(this), output); 1, _Internal::ids(this), output);
} }
// repeated string output_fields = 2; // repeated int64 output_fields_id = 2;
for (int i = 0, n = this->output_fields_size(); i < n; i++) { if (this->output_fields_id_size() > 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(2, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
this->output_fields(i).data(), static_cast<int>(this->output_fields(i).length()), output->WriteVarint32(_output_fields_id_cached_byte_size_.load(
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, std::memory_order_relaxed));
"milvus.proto.segcore.RetrieveRequest.output_fields"); }
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteString( for (int i = 0, n = this->output_fields_id_size(); i < n; i++) {
2, this->output_fields(i), output); ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag(
this->output_fields_id(i), output);
} }
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
@ -410,14 +410,17 @@ void RetrieveRequest::SerializeWithCachedSizes(
1, _Internal::ids(this), target); 1, _Internal::ids(this), target);
} }
// repeated string output_fields = 2; // repeated int64 output_fields_id = 2;
for (int i = 0, n = this->output_fields_size(); i < n; i++) { if (this->output_fields_id_size() > 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray(
this->output_fields(i).data(), static_cast<int>(this->output_fields(i).length()), 2,
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
"milvus.proto.segcore.RetrieveRequest.output_fields"); target);
target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray(
_output_fields_id_cached_byte_size_.load(std::memory_order_relaxed),
target);
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
WriteStringToArray(2, this->output_fields(i), target); WriteInt64NoTagToArray(this->output_fields_id_, target);
} }
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
@ -441,12 +444,19 @@ size_t RetrieveRequest::ByteSizeLong() const {
// Prevent compiler warnings about cached_has_bits being unused // Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits; (void) cached_has_bits;
// repeated string output_fields = 2; // repeated int64 output_fields_id = 2;
total_size += 1 * {
::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->output_fields_size()); size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
for (int i = 0, n = this->output_fields_size(); i < n; i++) { Int64Size(this->output_fields_id_);
total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( if (data_size > 0) {
this->output_fields(i)); total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
}
int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
_output_fields_id_cached_byte_size_.store(cached_size,
std::memory_order_relaxed);
total_size += data_size;
} }
// .milvus.proto.schema.IDs ids = 1; // .milvus.proto.schema.IDs ids = 1;
@ -483,7 +493,7 @@ void RetrieveRequest::MergeFrom(const RetrieveRequest& from) {
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
(void) cached_has_bits; (void) cached_has_bits;
output_fields_.MergeFrom(from.output_fields_); output_fields_id_.MergeFrom(from.output_fields_id_);
if (from.has_ids()) { if (from.has_ids()) {
mutable_ids()->::milvus::proto::schema::IDs::MergeFrom(from.ids()); mutable_ids()->::milvus::proto::schema::IDs::MergeFrom(from.ids());
} }
@ -510,7 +520,7 @@ bool RetrieveRequest::IsInitialized() const {
void RetrieveRequest::InternalSwap(RetrieveRequest* other) { void RetrieveRequest::InternalSwap(RetrieveRequest* other) {
using std::swap; using std::swap;
_internal_metadata_.Swap(&other->_internal_metadata_); _internal_metadata_.Swap(&other->_internal_metadata_);
output_fields_.InternalSwap(CastToBase(&other->output_fields_)); output_fields_id_.InternalSwap(&other->output_fields_id_);
swap(ids_, other->ids_); swap(ids_, other->ids_);
} }

View File

@ -198,25 +198,19 @@ class RetrieveRequest :
// accessors ------------------------------------------------------- // accessors -------------------------------------------------------
enum : int { enum : int {
kOutputFieldsFieldNumber = 2, kOutputFieldsIdFieldNumber = 2,
kIdsFieldNumber = 1, kIdsFieldNumber = 1,
}; };
// repeated string output_fields = 2; // repeated int64 output_fields_id = 2;
int output_fields_size() const; int output_fields_id_size() const;
void clear_output_fields(); void clear_output_fields_id();
const std::string& output_fields(int index) const; ::PROTOBUF_NAMESPACE_ID::int64 output_fields_id(int index) const;
std::string* mutable_output_fields(int index); void set_output_fields_id(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
void set_output_fields(int index, const std::string& value); void add_output_fields_id(::PROTOBUF_NAMESPACE_ID::int64 value);
void set_output_fields(int index, std::string&& value); const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
void set_output_fields(int index, const char* value); output_fields_id() const;
void set_output_fields(int index, const char* value, size_t size); ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
std::string* add_output_fields(); mutable_output_fields_id();
void add_output_fields(const std::string& value);
void add_output_fields(std::string&& value);
void add_output_fields(const char* value);
void add_output_fields(const char* value, size_t size);
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& output_fields() const;
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_output_fields();
// .milvus.proto.schema.IDs ids = 1; // .milvus.proto.schema.IDs ids = 1;
bool has_ids() const; bool has_ids() const;
@ -231,7 +225,8 @@ class RetrieveRequest :
class _Internal; class _Internal;
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> output_fields_; ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > output_fields_id_;
mutable std::atomic<int> _output_fields_id_cached_byte_size_;
::milvus::proto::schema::IDs* ids_; ::milvus::proto::schema::IDs* ids_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
friend struct ::TableStruct_segcore_2eproto; friend struct ::TableStruct_segcore_2eproto;
@ -728,69 +723,34 @@ inline void RetrieveRequest::set_allocated_ids(::milvus::proto::schema::IDs* ids
// @@protoc_insertion_point(field_set_allocated:milvus.proto.segcore.RetrieveRequest.ids) // @@protoc_insertion_point(field_set_allocated:milvus.proto.segcore.RetrieveRequest.ids)
} }
// repeated string output_fields = 2; // repeated int64 output_fields_id = 2;
inline int RetrieveRequest::output_fields_size() const { inline int RetrieveRequest::output_fields_id_size() const {
return output_fields_.size(); return output_fields_id_.size();
} }
inline void RetrieveRequest::clear_output_fields() { inline void RetrieveRequest::clear_output_fields_id() {
output_fields_.Clear(); output_fields_id_.Clear();
} }
inline const std::string& RetrieveRequest::output_fields(int index) const { inline ::PROTOBUF_NAMESPACE_ID::int64 RetrieveRequest::output_fields_id(int index) const {
// @@protoc_insertion_point(field_get:milvus.proto.segcore.RetrieveRequest.output_fields) // @@protoc_insertion_point(field_get:milvus.proto.segcore.RetrieveRequest.output_fields_id)
return output_fields_.Get(index); return output_fields_id_.Get(index);
} }
inline std::string* RetrieveRequest::mutable_output_fields(int index) { inline void RetrieveRequest::set_output_fields_id(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
// @@protoc_insertion_point(field_mutable:milvus.proto.segcore.RetrieveRequest.output_fields) output_fields_id_.Set(index, value);
return output_fields_.Mutable(index); // @@protoc_insertion_point(field_set:milvus.proto.segcore.RetrieveRequest.output_fields_id)
} }
inline void RetrieveRequest::set_output_fields(int index, const std::string& value) { inline void RetrieveRequest::add_output_fields_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
// @@protoc_insertion_point(field_set:milvus.proto.segcore.RetrieveRequest.output_fields) output_fields_id_.Add(value);
output_fields_.Mutable(index)->assign(value); // @@protoc_insertion_point(field_add:milvus.proto.segcore.RetrieveRequest.output_fields_id)
} }
inline void RetrieveRequest::set_output_fields(int index, std::string&& value) { inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
// @@protoc_insertion_point(field_set:milvus.proto.segcore.RetrieveRequest.output_fields) RetrieveRequest::output_fields_id() const {
output_fields_.Mutable(index)->assign(std::move(value)); // @@protoc_insertion_point(field_list:milvus.proto.segcore.RetrieveRequest.output_fields_id)
return output_fields_id_;
} }
inline void RetrieveRequest::set_output_fields(int index, const char* value) { inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
GOOGLE_DCHECK(value != nullptr); RetrieveRequest::mutable_output_fields_id() {
output_fields_.Mutable(index)->assign(value); // @@protoc_insertion_point(field_mutable_list:milvus.proto.segcore.RetrieveRequest.output_fields_id)
// @@protoc_insertion_point(field_set_char:milvus.proto.segcore.RetrieveRequest.output_fields) return &output_fields_id_;
}
inline void RetrieveRequest::set_output_fields(int index, const char* value, size_t size) {
output_fields_.Mutable(index)->assign(
reinterpret_cast<const char*>(value), size);
// @@protoc_insertion_point(field_set_pointer:milvus.proto.segcore.RetrieveRequest.output_fields)
}
inline std::string* RetrieveRequest::add_output_fields() {
// @@protoc_insertion_point(field_add_mutable:milvus.proto.segcore.RetrieveRequest.output_fields)
return output_fields_.Add();
}
inline void RetrieveRequest::add_output_fields(const std::string& value) {
output_fields_.Add()->assign(value);
// @@protoc_insertion_point(field_add:milvus.proto.segcore.RetrieveRequest.output_fields)
}
inline void RetrieveRequest::add_output_fields(std::string&& value) {
output_fields_.Add(std::move(value));
// @@protoc_insertion_point(field_add:milvus.proto.segcore.RetrieveRequest.output_fields)
}
inline void RetrieveRequest::add_output_fields(const char* value) {
GOOGLE_DCHECK(value != nullptr);
output_fields_.Add()->assign(value);
// @@protoc_insertion_point(field_add_char:milvus.proto.segcore.RetrieveRequest.output_fields)
}
inline void RetrieveRequest::add_output_fields(const char* value, size_t size) {
output_fields_.Add()->assign(reinterpret_cast<const char*>(value), size);
// @@protoc_insertion_point(field_add_pointer:milvus.proto.segcore.RetrieveRequest.output_fields)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
RetrieveRequest::output_fields() const {
// @@protoc_insertion_point(field_list:milvus.proto.segcore.RetrieveRequest.output_fields)
return output_fields_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
RetrieveRequest::mutable_output_fields() {
// @@protoc_insertion_point(field_mutable_list:milvus.proto.segcore.RetrieveRequest.output_fields)
return &output_fields_;
} }
// ------------------------------------------------------------------- // -------------------------------------------------------------------

View File

@ -504,8 +504,8 @@ GetNumOfQueries(const PlaceholderGroup* group) {
CreateRetrievePlan(const Schema& schema, proto::segcore::RetrieveRequest&& request) { CreateRetrievePlan(const Schema& schema, proto::segcore::RetrieveRequest&& request) {
auto plan = std::make_unique<RetrievePlan>(); auto plan = std::make_unique<RetrievePlan>();
plan->ids_ = std::unique_ptr<proto::schema::IDs>(request.release_ids()); plan->ids_ = std::unique_ptr<proto::schema::IDs>(request.release_ids());
for (auto& field_name : request.output_fields()) { for (auto& field_id : request.output_fields_id()) {
plan->field_offsets_.push_back(schema.get_offset(FieldName(field_name))); plan->field_offsets_.push_back(schema.get_offset(FieldId(field_id)));
} }
return plan; return plan;
} }

View File

@ -164,7 +164,7 @@ message RetrieveRequest {
int64 collectionID = 4; int64 collectionID = 4;
repeated int64 partitionIDs = 5; repeated int64 partitionIDs = 5;
schema.IDs ids = 6; schema.IDs ids = 6;
repeated string output_fields = 7; repeated int64 output_fields_id = 7;
uint64 travel_timestamp = 8; uint64 travel_timestamp = 8;
uint64 guarantee_timestamp = 9; uint64 guarantee_timestamp = 9;
} }

View File

@ -1306,7 +1306,7 @@ type RetrieveRequest struct {
CollectionID int64 `protobuf:"varint,4,opt,name=collectionID,proto3" json:"collectionID,omitempty"` CollectionID int64 `protobuf:"varint,4,opt,name=collectionID,proto3" json:"collectionID,omitempty"`
PartitionIDs []int64 `protobuf:"varint,5,rep,packed,name=partitionIDs,proto3" json:"partitionIDs,omitempty"` PartitionIDs []int64 `protobuf:"varint,5,rep,packed,name=partitionIDs,proto3" json:"partitionIDs,omitempty"`
Ids *schemapb.IDs `protobuf:"bytes,6,opt,name=ids,proto3" json:"ids,omitempty"` Ids *schemapb.IDs `protobuf:"bytes,6,opt,name=ids,proto3" json:"ids,omitempty"`
OutputFields []string `protobuf:"bytes,7,rep,name=output_fields,json=outputFields,proto3" json:"output_fields,omitempty"` OutputFieldsId []int64 `protobuf:"varint,7,rep,packed,name=output_fields_id,json=outputFieldsId,proto3" json:"output_fields_id,omitempty"`
TravelTimestamp uint64 `protobuf:"varint,8,opt,name=travel_timestamp,json=travelTimestamp,proto3" json:"travel_timestamp,omitempty"` TravelTimestamp uint64 `protobuf:"varint,8,opt,name=travel_timestamp,json=travelTimestamp,proto3" json:"travel_timestamp,omitempty"`
GuaranteeTimestamp uint64 `protobuf:"varint,9,opt,name=guarantee_timestamp,json=guaranteeTimestamp,proto3" json:"guarantee_timestamp,omitempty"` GuaranteeTimestamp uint64 `protobuf:"varint,9,opt,name=guarantee_timestamp,json=guaranteeTimestamp,proto3" json:"guarantee_timestamp,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -1381,9 +1381,9 @@ func (m *RetrieveRequest) GetIds() *schemapb.IDs {
return nil return nil
} }
func (m *RetrieveRequest) GetOutputFields() []string { func (m *RetrieveRequest) GetOutputFieldsId() []int64 {
if m != nil { if m != nil {
return m.OutputFields return m.OutputFieldsId
} }
return nil return nil
} }
@ -2212,127 +2212,126 @@ func init() {
func init() { proto.RegisterFile("internal.proto", fileDescriptor_41f4a519b878ee3b) } func init() { proto.RegisterFile("internal.proto", fileDescriptor_41f4a519b878ee3b) }
var fileDescriptor_41f4a519b878ee3b = []byte{ var fileDescriptor_41f4a519b878ee3b = []byte{
// 1938 bytes of a gzipped FileDescriptorProto // 1931 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcf, 0x73, 0x23, 0x47, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x5b, 0x73, 0x23, 0x47,
0xf5, 0xff, 0x8e, 0x46, 0xb6, 0xa4, 0xa7, 0xb1, 0xad, 0xed, 0xf5, 0x6e, 0xc6, 0xde, 0xcd, 0xc6, 0xf5, 0xff, 0x8f, 0x46, 0xb6, 0xa4, 0x23, 0xd9, 0xd6, 0xf6, 0x7a, 0x37, 0x63, 0xef, 0x66, 0xe3,
0x99, 0xe4, 0x0b, 0x26, 0x5b, 0xac, 0x17, 0x07, 0x48, 0x8a, 0xa2, 0xd8, 0xc4, 0x56, 0x58, 0x54, 0x4c, 0xf2, 0x07, 0x93, 0x2d, 0xd6, 0x8b, 0x03, 0x24, 0x45, 0x51, 0x6c, 0x62, 0x2b, 0x2c, 0xaa,
0x1b, 0x1b, 0xd3, 0xde, 0xa4, 0x0a, 0x2e, 0x53, 0xad, 0x99, 0xb6, 0x3c, 0x64, 0x7e, 0x31, 0xdd, 0x8d, 0x8d, 0x69, 0x6f, 0x52, 0x05, 0x2f, 0x53, 0xad, 0x99, 0xb6, 0x3c, 0x64, 0x6e, 0x4c, 0xb7,
0xf2, 0xae, 0x72, 0xe2, 0xc0, 0x09, 0x0a, 0x0e, 0x54, 0xf1, 0x6f, 0x70, 0xe5, 0xc4, 0x8f, 0xe2, 0xbc, 0xab, 0x3c, 0xf1, 0xc0, 0x13, 0x14, 0x3c, 0x50, 0xc5, 0xd7, 0xe0, 0x95, 0x27, 0x2e, 0xc5,
0x44, 0x15, 0x7f, 0x01, 0x7f, 0x05, 0x47, 0x28, 0x4e, 0x54, 0xbf, 0xee, 0x19, 0x8d, 0x64, 0xd9, 0x13, 0x55, 0x7c, 0x02, 0x3e, 0x05, 0xaf, 0x14, 0xc5, 0x03, 0xd5, 0xa7, 0x7b, 0x2e, 0x92, 0x65,
0x78, 0xbd, 0x05, 0x84, 0x82, 0xdb, 0xf4, 0xe7, 0xbd, 0xfe, 0xf1, 0x3e, 0xef, 0x47, 0x3f, 0xb5, 0xe3, 0xf5, 0x16, 0x10, 0x0a, 0xde, 0xa6, 0x7f, 0xe7, 0xf4, 0xe5, 0xfc, 0xce, 0xa5, 0x8f, 0x5a,
0x60, 0x35, 0x4a, 0x25, 0x2f, 0x52, 0x16, 0x3f, 0xc8, 0x8b, 0x4c, 0x66, 0xe4, 0x56, 0x12, 0xc5, 0xb0, 0x1a, 0x26, 0x92, 0xe7, 0x09, 0x8b, 0x1e, 0x64, 0x79, 0x2a, 0x53, 0x72, 0x2b, 0x0e, 0xa3,
0x67, 0x63, 0xa1, 0x47, 0x0f, 0x4a, 0xe1, 0xa6, 0x13, 0x64, 0x49, 0x92, 0xa5, 0x1a, 0xde, 0x74, 0xb3, 0x89, 0xd0, 0xa3, 0x07, 0x85, 0x70, 0xb3, 0xe7, 0xa7, 0x71, 0x9c, 0x26, 0x1a, 0xde, 0xec,
0x44, 0x70, 0xca, 0x13, 0xa6, 0x47, 0xde, 0x6f, 0x2c, 0x58, 0xd9, 0xcf, 0x92, 0x3c, 0x4b, 0x79, 0x09, 0xff, 0x94, 0xc7, 0x4c, 0x8f, 0xdc, 0xdf, 0x58, 0xb0, 0xb2, 0x9f, 0xc6, 0x59, 0x9a, 0xf0,
0x2a, 0x07, 0xe9, 0x49, 0x46, 0x6e, 0xc3, 0x72, 0x9a, 0x85, 0x7c, 0xd0, 0x77, 0xad, 0x2d, 0x6b, 0x44, 0x0e, 0x93, 0x93, 0x94, 0xdc, 0x86, 0xe5, 0x24, 0x0d, 0xf8, 0x70, 0xe0, 0x58, 0x5b, 0xd6,
0xdb, 0xa6, 0x66, 0x44, 0x08, 0x34, 0x8b, 0x2c, 0xe6, 0x6e, 0x63, 0xcb, 0xda, 0xee, 0x50, 0xfc, 0xb6, 0x4d, 0xcd, 0x88, 0x10, 0x68, 0xe6, 0x69, 0xc4, 0x9d, 0xc6, 0x96, 0xb5, 0xdd, 0xa1, 0xf8,
0x26, 0x8f, 0x00, 0x84, 0x64, 0x92, 0xfb, 0x41, 0x16, 0x72, 0xd7, 0xde, 0xb2, 0xb6, 0x57, 0x77, 0x4d, 0x1e, 0x01, 0x08, 0xc9, 0x24, 0xf7, 0xfc, 0x34, 0xe0, 0x8e, 0xbd, 0x65, 0x6d, 0xaf, 0xee,
0xb7, 0x1e, 0x2c, 0x3c, 0xc5, 0x83, 0x63, 0xa5, 0xb8, 0x9f, 0x85, 0x9c, 0x76, 0x44, 0xf9, 0x49, 0x6e, 0x3d, 0x58, 0x78, 0x8a, 0x07, 0xc7, 0x4a, 0x71, 0x3f, 0x0d, 0x38, 0xed, 0x88, 0xe2, 0x93,
0xde, 0x03, 0xe0, 0xcf, 0x65, 0xc1, 0xfc, 0x28, 0x3d, 0xc9, 0xdc, 0xe6, 0x96, 0xbd, 0xdd, 0xdd, 0xbc, 0x07, 0xc0, 0x9f, 0xcb, 0x9c, 0x79, 0x61, 0x72, 0x92, 0x3a, 0xcd, 0x2d, 0x7b, 0xbb, 0xbb,
0x7d, 0x7d, 0x76, 0x01, 0x73, 0xf8, 0x27, 0x7c, 0xf2, 0x31, 0x8b, 0xc7, 0xfc, 0x88, 0x45, 0x05, 0xfb, 0xfa, 0xec, 0x02, 0xe6, 0xf0, 0x4f, 0xf8, 0xf4, 0x63, 0x16, 0x4d, 0xf8, 0x11, 0x0b, 0x73,
0xed, 0xe0, 0x24, 0x75, 0x5c, 0xef, 0x4f, 0x16, 0xac, 0x55, 0x06, 0xe0, 0x1e, 0x82, 0x7c, 0x0d, 0xda, 0xc1, 0x49, 0xea, 0xb8, 0xee, 0x9f, 0x2c, 0x58, 0x2b, 0x0d, 0xc0, 0x3d, 0x04, 0xf9, 0x1a,
0x96, 0x70, 0x0b, 0xb4, 0xa0, 0xbb, 0xfb, 0xe6, 0x05, 0x27, 0x9a, 0xb1, 0x9b, 0xea, 0x29, 0xe4, 0x2c, 0xe1, 0x16, 0x68, 0x41, 0x77, 0xf7, 0xcd, 0x0b, 0x4e, 0x34, 0x63, 0x37, 0xd5, 0x53, 0xc8,
0x23, 0xb8, 0x29, 0xc6, 0xc3, 0xa0, 0x14, 0xf9, 0x88, 0x0a, 0xb7, 0x81, 0x47, 0xbb, 0xda, 0x4a, 0x47, 0x70, 0x53, 0x4c, 0x46, 0x7e, 0x21, 0xf2, 0x10, 0x15, 0x4e, 0x03, 0x8f, 0x76, 0xb5, 0x95,
0xa4, 0xbe, 0x80, 0x39, 0xd2, 0xdb, 0xb0, 0xac, 0x56, 0x1a, 0x0b, 0x64, 0xa9, 0xbb, 0x7b, 0x67, 0x48, 0x7d, 0x01, 0x73, 0xa4, 0xb7, 0x61, 0x59, 0xad, 0x34, 0x11, 0xc8, 0x52, 0x77, 0xf7, 0xce,
0xa1, 0x91, 0xc7, 0xa8, 0x42, 0x8d, 0xaa, 0x77, 0x07, 0x36, 0x1e, 0x73, 0x39, 0x67, 0x1d, 0xe5, 0x42, 0x23, 0x8f, 0x51, 0x85, 0x1a, 0x55, 0xf7, 0x0e, 0x6c, 0x3c, 0xe6, 0x72, 0xce, 0x3a, 0xca,
0x3f, 0x18, 0x73, 0x21, 0x8d, 0xf0, 0x69, 0x94, 0xf0, 0xa7, 0x51, 0xf0, 0xc9, 0xfe, 0x29, 0x4b, 0x7f, 0x30, 0xe1, 0x42, 0x1a, 0xe1, 0xd3, 0x30, 0xe6, 0x4f, 0x43, 0xff, 0x93, 0xfd, 0x53, 0x96,
0x53, 0x1e, 0x97, 0xc2, 0x57, 0xe1, 0xce, 0x63, 0x8e, 0x13, 0x22, 0x21, 0xa3, 0x40, 0xcc, 0x89, 0x24, 0x3c, 0x2a, 0x84, 0xaf, 0xc2, 0x9d, 0xc7, 0x1c, 0x27, 0x84, 0x42, 0x86, 0xbe, 0x98, 0x13,
0x6f, 0xc1, 0xcd, 0xc7, 0x5c, 0xf6, 0xc3, 0x39, 0xf8, 0x63, 0x68, 0x1f, 0x2a, 0x67, 0xab, 0x30, 0xdf, 0x82, 0x9b, 0x8f, 0xb9, 0x1c, 0x04, 0x73, 0xf0, 0xc7, 0xd0, 0x3e, 0x54, 0xce, 0x56, 0x61,
0xf8, 0x2a, 0xb4, 0x58, 0x18, 0x16, 0x5c, 0x08, 0xc3, 0xe2, 0xdd, 0x85, 0x27, 0x7e, 0x5f, 0xeb, 0xf0, 0x55, 0x68, 0xb1, 0x20, 0xc8, 0xb9, 0x10, 0x86, 0xc5, 0xbb, 0x0b, 0x4f, 0xfc, 0xbe, 0xd6,
0xd0, 0x52, 0x79, 0x51, 0x98, 0x78, 0xdf, 0x07, 0x18, 0xa4, 0x91, 0x3c, 0x62, 0x05, 0x4b, 0xc4, 0xa1, 0x85, 0xf2, 0xa2, 0x30, 0x71, 0xbf, 0x0f, 0x30, 0x4c, 0x42, 0x79, 0xc4, 0x72, 0x16, 0x8b,
0x85, 0x01, 0xd6, 0x07, 0x47, 0x48, 0x56, 0x48, 0x3f, 0x47, 0x3d, 0x43, 0xf9, 0x15, 0xa2, 0xa1, 0x0b, 0x03, 0x6c, 0x00, 0x3d, 0x21, 0x59, 0x2e, 0xbd, 0x0c, 0xf5, 0x0c, 0xe5, 0x57, 0x88, 0x86,
0x8b, 0xd3, 0xf4, 0xea, 0xde, 0x77, 0x01, 0x8e, 0x65, 0x11, 0xa5, 0xa3, 0x0f, 0x23, 0x21, 0xd5, 0x2e, 0x4e, 0xd3, 0xab, 0xbb, 0xdf, 0x05, 0x38, 0x96, 0x79, 0x98, 0x8c, 0x3f, 0x0c, 0x85, 0x54,
0x5e, 0x67, 0x4a, 0x4f, 0x19, 0x61, 0x6f, 0x77, 0xa8, 0x19, 0xd5, 0xdc, 0xd1, 0xb8, 0xba, 0x3b, 0x7b, 0x9d, 0x29, 0x3d, 0x65, 0x84, 0xbd, 0xdd, 0xa1, 0x66, 0x54, 0x73, 0x47, 0xe3, 0xea, 0xee,
0x1e, 0x41, 0xb7, 0xa4, 0xfb, 0x40, 0x8c, 0xc8, 0x43, 0x68, 0x0e, 0x99, 0xe0, 0x97, 0xd2, 0x73, 0x78, 0x04, 0xdd, 0x82, 0xee, 0x03, 0x31, 0x26, 0x0f, 0xa1, 0x39, 0x62, 0x82, 0x5f, 0x4a, 0xcf,
0x20, 0x46, 0x7b, 0x4c, 0x70, 0x8a, 0x9a, 0xde, 0x8f, 0x6d, 0x78, 0x65, 0xbf, 0xe0, 0x18, 0xfc, 0x81, 0x18, 0xef, 0x31, 0xc1, 0x29, 0x6a, 0xba, 0x3f, 0xb6, 0xe1, 0x95, 0xfd, 0x9c, 0x63, 0xf0,
0x71, 0xcc, 0x03, 0x19, 0x65, 0xa9, 0xe1, 0xfe, 0xc5, 0x57, 0x23, 0xaf, 0x40, 0x2b, 0x1c, 0xfa, 0x47, 0x11, 0xf7, 0x65, 0x98, 0x26, 0x86, 0xfb, 0x17, 0x5f, 0x8d, 0xbc, 0x02, 0xad, 0x60, 0xe4,
0x29, 0x4b, 0x4a, 0xb2, 0x97, 0xc3, 0xe1, 0x21, 0x4b, 0x38, 0xf9, 0x1c, 0xac, 0x06, 0xd5, 0xfa, 0x25, 0x2c, 0x2e, 0xc8, 0x5e, 0x0e, 0x46, 0x87, 0x2c, 0xe6, 0xe4, 0x73, 0xb0, 0xea, 0x97, 0xeb,
0x0a, 0xc1, 0x98, 0xeb, 0xd0, 0x39, 0x94, 0xbc, 0x09, 0x2b, 0x39, 0x2b, 0x64, 0x54, 0xa9, 0x35, 0x2b, 0x04, 0x63, 0xae, 0x43, 0xe7, 0x50, 0xf2, 0x26, 0xac, 0x64, 0x2c, 0x97, 0x61, 0xa9, 0xd6,
0x51, 0x6d, 0x16, 0x54, 0x0e, 0x0d, 0x87, 0x83, 0xbe, 0xbb, 0x84, 0xce, 0xc2, 0x6f, 0xe2, 0x81, 0x44, 0xb5, 0x59, 0x50, 0x39, 0x34, 0x18, 0x0d, 0x07, 0xce, 0x12, 0x3a, 0x0b, 0xbf, 0x89, 0x0b,
0x33, 0x5d, 0x6b, 0xd0, 0x77, 0x97, 0x51, 0x36, 0x83, 0x91, 0x2d, 0xe8, 0x56, 0x0b, 0x0d, 0xfa, 0xbd, 0x6a, 0xad, 0xe1, 0xc0, 0x59, 0x46, 0xd9, 0x0c, 0x46, 0xb6, 0xa0, 0x5b, 0x2e, 0x34, 0x1c,
0x6e, 0x0b, 0x55, 0xea, 0x90, 0x72, 0x8e, 0xae, 0x45, 0x6e, 0x7b, 0xcb, 0xda, 0x76, 0xa8, 0x19, 0x38, 0x2d, 0x54, 0xa9, 0x43, 0xca, 0x39, 0xba, 0x16, 0x39, 0xed, 0x2d, 0x6b, 0xbb, 0x47, 0xcd,
0x91, 0x87, 0x70, 0xf3, 0x2c, 0x2a, 0xe4, 0x98, 0xc5, 0x26, 0x3e, 0xd5, 0x39, 0x84, 0xdb, 0x41, 0x88, 0x3c, 0x84, 0x9b, 0x67, 0x61, 0x2e, 0x27, 0x2c, 0x32, 0xf1, 0xa9, 0xce, 0x21, 0x9c, 0x0e,
0x0f, 0x2e, 0x12, 0x91, 0x5d, 0x58, 0xcf, 0x4f, 0x27, 0x22, 0x0a, 0xe6, 0xa6, 0x00, 0x4e, 0x59, 0x7a, 0x70, 0x91, 0x88, 0xec, 0xc2, 0x7a, 0x76, 0x3a, 0x15, 0xa1, 0x3f, 0x37, 0x05, 0x70, 0xca,
0x28, 0xf3, 0x7e, 0x6f, 0xc1, 0xad, 0x7e, 0x91, 0xe5, 0x9f, 0x09, 0x57, 0x94, 0x24, 0x37, 0x2f, 0x42, 0x99, 0xfb, 0x7b, 0x0b, 0x6e, 0x0d, 0xf2, 0x34, 0xfb, 0x4c, 0xb8, 0xa2, 0x20, 0xb9, 0x79,
0x21, 0x79, 0xe9, 0x3c, 0xc9, 0xde, 0x4f, 0x1b, 0x70, 0x5b, 0x47, 0xd4, 0x51, 0x49, 0xec, 0x3f, 0x09, 0xc9, 0x4b, 0xe7, 0x49, 0x76, 0x7f, 0xda, 0x80, 0xdb, 0x3a, 0xa2, 0x8e, 0x0a, 0x62, 0xff,
0xc1, 0x8a, 0xcf, 0xc3, 0xda, 0x74, 0x57, 0xad, 0xb0, 0xd8, 0x8c, 0xff, 0x87, 0xd5, 0xca, 0xc1, 0x09, 0x56, 0x7c, 0x1e, 0xd6, 0xaa, 0x5d, 0xb5, 0xc2, 0x62, 0x33, 0xfe, 0x1f, 0x56, 0x4b, 0x07,
0x5a, 0xef, 0x5f, 0x1b, 0x52, 0xde, 0x4f, 0x1a, 0xb0, 0xae, 0x9c, 0xfa, 0x3f, 0x36, 0x14, 0x1b, 0x6b, 0xbd, 0x7f, 0x6d, 0x48, 0xb9, 0x3f, 0x69, 0xc0, 0xba, 0x72, 0xea, 0xff, 0xd8, 0x50, 0x6c,
0xbf, 0x6d, 0x00, 0xd1, 0xd1, 0x31, 0x48, 0x43, 0xfe, 0xfc, 0xdf, 0xc9, 0xc5, 0xab, 0x00, 0x27, 0xfc, 0xb6, 0x01, 0x44, 0x47, 0xc7, 0x30, 0x09, 0xf8, 0xf3, 0x7f, 0x27, 0x17, 0xaf, 0x02, 0x9c,
0x11, 0x8f, 0xc3, 0x3a, 0x0f, 0x1d, 0x44, 0x5e, 0x8a, 0x03, 0x17, 0x5a, 0xb8, 0x48, 0x65, 0x7f, 0x84, 0x3c, 0x0a, 0xea, 0x3c, 0x74, 0x10, 0x79, 0x29, 0x0e, 0x1c, 0x68, 0xe1, 0x22, 0xa5, 0xfd,
0x39, 0x54, 0xb7, 0x89, 0xee, 0x2c, 0xcc, 0x6d, 0xd2, 0xbe, 0xf2, 0x6d, 0x82, 0xd3, 0xcc, 0x6d, 0xc5, 0x50, 0xdd, 0x26, 0xba, 0xb3, 0x30, 0xb7, 0x49, 0xfb, 0xca, 0xb7, 0x09, 0x4e, 0x33, 0xb7,
0xf2, 0x4b, 0x1b, 0x56, 0x06, 0xa9, 0xe0, 0x85, 0xfc, 0x6f, 0x0e, 0x24, 0x72, 0x17, 0x3a, 0x82, 0xc9, 0x2f, 0x6d, 0x58, 0x19, 0x26, 0x82, 0xe7, 0xf2, 0xbf, 0x39, 0x90, 0xc8, 0x5d, 0xe8, 0x08,
0x8f, 0x12, 0xd5, 0xe0, 0xf4, 0xb1, 0x58, 0xdb, 0x74, 0x0a, 0x28, 0x69, 0xa0, 0x2b, 0xeb, 0xa0, 0x3e, 0x8e, 0x55, 0x83, 0x33, 0xc0, 0x62, 0x6d, 0xd3, 0x0a, 0x50, 0x52, 0x5f, 0x57, 0xd6, 0xe1,
0xef, 0x76, 0xb4, 0x6b, 0x2b, 0x80, 0xdc, 0x03, 0x90, 0x51, 0xc2, 0x85, 0x64, 0x49, 0xae, 0x2b, 0xc0, 0xe9, 0x68, 0xd7, 0x96, 0x00, 0xb9, 0x07, 0x20, 0xc3, 0x98, 0x0b, 0xc9, 0xe2, 0x4c, 0x57,
0x72, 0x93, 0xd6, 0x10, 0x75, 0x0b, 0x14, 0xd9, 0xb3, 0x41, 0x5f, 0xb8, 0xdd, 0x2d, 0x5b, 0xb5, 0xe4, 0x26, 0xad, 0x21, 0xea, 0x16, 0xc8, 0xd3, 0x67, 0xc3, 0x81, 0x70, 0xba, 0x5b, 0xb6, 0x6a,
0x03, 0x7a, 0x44, 0xbe, 0x0c, 0xed, 0x22, 0x7b, 0xe6, 0x87, 0x4c, 0x32, 0xd7, 0x41, 0xe7, 0x6d, 0x07, 0xf4, 0x88, 0x7c, 0x19, 0xda, 0x79, 0xfa, 0xcc, 0x0b, 0x98, 0x64, 0x4e, 0x0f, 0x9d, 0xb7,
0x2c, 0x24, 0x7b, 0x2f, 0xce, 0x86, 0xb4, 0x55, 0x64, 0xcf, 0xfa, 0x4c, 0x32, 0xef, 0xaf, 0x36, 0xb1, 0x90, 0xec, 0xbd, 0x28, 0x1d, 0xd1, 0x56, 0x9e, 0x3e, 0x1b, 0x30, 0xc9, 0xdc, 0xbf, 0xd8,
0xac, 0x1c, 0x73, 0x56, 0x04, 0xa7, 0xd7, 0x77, 0xd8, 0x17, 0xa0, 0x57, 0x70, 0x31, 0x8e, 0xa5, 0xb0, 0x72, 0xcc, 0x59, 0xee, 0x9f, 0x5e, 0xdf, 0x61, 0x5f, 0x80, 0x7e, 0xce, 0xc5, 0x24, 0x92,
0x3f, 0x35, 0x4b, 0x7b, 0x6e, 0x4d, 0xe3, 0xfb, 0x95, 0x71, 0x25, 0xe5, 0xf6, 0x25, 0x94, 0x37, 0x5e, 0x65, 0x96, 0xf6, 0xdc, 0x9a, 0xc6, 0xf7, 0x4b, 0xe3, 0x0a, 0xca, 0xed, 0x4b, 0x28, 0x6f,
0x17, 0x50, 0xee, 0x81, 0x53, 0xe3, 0x57, 0xb8, 0x4b, 0x68, 0xfa, 0x0c, 0x46, 0x7a, 0x60, 0x87, 0x2e, 0xa0, 0xdc, 0x85, 0x5e, 0x8d, 0x5f, 0xe1, 0x2c, 0xa1, 0xe9, 0x33, 0x18, 0xe9, 0x83, 0x1d,
0x22, 0x46, 0x8f, 0x75, 0xa8, 0xfa, 0x24, 0xf7, 0xe1, 0x46, 0x1e, 0xb3, 0x80, 0x9f, 0x66, 0x71, 0x88, 0x08, 0x3d, 0xd6, 0xa1, 0xea, 0x93, 0xdc, 0x87, 0x1b, 0x59, 0xc4, 0x7c, 0x7e, 0x9a, 0x46,
0xc8, 0x0b, 0x7f, 0x54, 0x64, 0xe3, 0x1c, 0xdd, 0xe5, 0xd0, 0x5e, 0x4d, 0xf0, 0x58, 0xe1, 0xe4, 0x01, 0xcf, 0xbd, 0x71, 0x9e, 0x4e, 0x32, 0x74, 0x57, 0x8f, 0xf6, 0x6b, 0x82, 0xc7, 0x0a, 0x27,
0x1d, 0x68, 0x87, 0x22, 0xf6, 0xe5, 0x24, 0xe7, 0xe8, 0xb2, 0xd5, 0x0b, 0x6c, 0xef, 0x8b, 0xf8, 0xef, 0x40, 0x3b, 0x10, 0x91, 0x27, 0xa7, 0x19, 0x47, 0x97, 0xad, 0x5e, 0x60, 0xfb, 0x40, 0x44,
0xe9, 0x24, 0xe7, 0xb4, 0x15, 0xea, 0x0f, 0xf2, 0x10, 0xd6, 0x05, 0x2f, 0x22, 0x16, 0x47, 0x9f, 0x4f, 0xa7, 0x19, 0xa7, 0xad, 0x40, 0x7f, 0x90, 0x87, 0xb0, 0x2e, 0x78, 0x1e, 0xb2, 0x28, 0xfc,
0xf2, 0xd0, 0xe7, 0xcf, 0xf3, 0xc2, 0xcf, 0x63, 0x96, 0xa2, 0x67, 0x1d, 0x4a, 0xa6, 0xb2, 0x0f, 0x94, 0x07, 0x1e, 0x7f, 0x9e, 0xe5, 0x5e, 0x16, 0xb1, 0x04, 0x3d, 0xdb, 0xa3, 0xa4, 0x92, 0x7d,
0x9e, 0xe7, 0xc5, 0x51, 0xcc, 0x52, 0xb2, 0x0d, 0xbd, 0x6c, 0x2c, 0xf3, 0xb1, 0xf4, 0x31, 0xfb, 0xf0, 0x3c, 0xcb, 0x8f, 0x22, 0x96, 0x90, 0x6d, 0xe8, 0xa7, 0x13, 0x99, 0x4d, 0xa4, 0x87, 0xd9,
0x84, 0x1f, 0x85, 0xe8, 0x68, 0x9b, 0xae, 0x6a, 0xfc, 0x9b, 0x08, 0x0f, 0x42, 0x45, 0xad, 0x2c, 0x27, 0xbc, 0x30, 0x40, 0x47, 0xdb, 0x74, 0x55, 0xe3, 0xdf, 0x44, 0x78, 0x18, 0x28, 0x6a, 0x65,
0xd8, 0x19, 0x8f, 0xfd, 0x2a, 0x02, 0xdc, 0xee, 0x96, 0xb5, 0xdd, 0xa4, 0x6b, 0x1a, 0x7f, 0x5a, 0xce, 0xce, 0x78, 0xe4, 0x95, 0x11, 0xe0, 0x74, 0xb7, 0xac, 0xed, 0x26, 0x5d, 0xd3, 0xf8, 0xd3,
0xc2, 0x64, 0x07, 0x6e, 0x8e, 0xc6, 0xac, 0x60, 0xa9, 0xe4, 0xbc, 0xa6, 0xed, 0xa0, 0x36, 0xa9, 0x02, 0x26, 0x3b, 0x70, 0x73, 0x3c, 0x61, 0x39, 0x4b, 0x24, 0xe7, 0x35, 0xed, 0x1e, 0x6a, 0x93,
0x44, 0xd5, 0x04, 0xef, 0xcf, 0x35, 0xd7, 0x2b, 0x2f, 0x89, 0x6b, 0xb8, 0xfe, 0x3a, 0x7d, 0xe1, 0x52, 0x54, 0x4e, 0x70, 0xff, 0x5c, 0x73, 0xbd, 0xf2, 0x92, 0xb8, 0x86, 0xeb, 0xaf, 0xd3, 0x17,
0xc2, 0x78, 0xb1, 0x17, 0xc7, 0xcb, 0x6b, 0xd0, 0x4d, 0xb8, 0x2c, 0xa2, 0x40, 0xfb, 0x45, 0xa7, 0x2e, 0x8c, 0x17, 0x7b, 0x71, 0xbc, 0xbc, 0x06, 0xdd, 0x98, 0xcb, 0x3c, 0xf4, 0xb5, 0x5f, 0x74,
0x31, 0x68, 0x08, 0xc9, 0x27, 0xd0, 0x3c, 0x8d, 0xa4, 0x0e, 0x08, 0x87, 0xe2, 0xb7, 0x9a, 0x24, 0x1a, 0x83, 0x86, 0x90, 0x7c, 0x02, 0xcd, 0xd3, 0x50, 0xea, 0x80, 0xe8, 0x51, 0xfc, 0x56, 0x93,
0xe2, 0x28, 0xe0, 0xa1, 0x3f, 0x8c, 0xb3, 0xa1, 0xf1, 0x03, 0x68, 0x48, 0x45, 0xbf, 0xe2, 0xdf, 0x44, 0x14, 0xfa, 0x3c, 0xf0, 0x46, 0x51, 0x3a, 0x32, 0x7e, 0x00, 0x0d, 0xa9, 0xe8, 0x57, 0xfc,
0x28, 0xa4, 0xe3, 0xc4, 0x0f, 0xb2, 0x71, 0x2a, 0x5d, 0xc0, 0xa8, 0x5b, 0xd5, 0xf8, 0xe1, 0x38, 0x1b, 0x85, 0x64, 0x12, 0x7b, 0x7e, 0x3a, 0x49, 0xa4, 0x03, 0x18, 0x75, 0xab, 0x1a, 0x3f, 0x9c,
0xd9, 0x57, 0x28, 0x79, 0x03, 0x56, 0x8c, 0x66, 0x76, 0x72, 0x22, 0xb8, 0x44, 0xf2, 0x6d, 0xea, 0xc4, 0xfb, 0x0a, 0x25, 0x6f, 0xc0, 0x8a, 0xd1, 0x4c, 0x4f, 0x4e, 0x04, 0x97, 0x48, 0xbe, 0x4d,
0x68, 0xf0, 0xdb, 0x88, 0x91, 0xaf, 0xc3, 0xa6, 0xe0, 0x2c, 0xe6, 0xa1, 0x5f, 0xe5, 0xb8, 0xf0, 0x7b, 0x1a, 0xfc, 0x36, 0x62, 0xe4, 0xeb, 0xb0, 0x29, 0x38, 0x8b, 0x78, 0xe0, 0x95, 0x39, 0x2e,
0x05, 0x32, 0xcb, 0x43, 0x77, 0x19, 0x1d, 0xeb, 0x6a, 0x8d, 0xe3, 0x4a, 0xe1, 0xd8, 0xc8, 0x95, 0x3c, 0x81, 0xcc, 0xf2, 0xc0, 0x59, 0x46, 0xc7, 0x3a, 0x5a, 0xe3, 0xb8, 0x54, 0x38, 0x36, 0x72,
0xdf, 0x2a, 0x1a, 0x6a, 0xd3, 0x5a, 0xd8, 0x8a, 0x91, 0xa9, 0xa8, 0x9a, 0xf0, 0x2e, 0xb8, 0xa3, 0xe5, 0xb7, 0x92, 0x86, 0xda, 0xb4, 0x16, 0xb6, 0x62, 0xa4, 0x12, 0x95, 0x13, 0xde, 0x05, 0x67,
0x38, 0x1b, 0xb2, 0xd8, 0x3f, 0xb7, 0x2b, 0x56, 0x6d, 0x9b, 0xde, 0xd6, 0xf2, 0xe3, 0xb9, 0x2d, 0x1c, 0xa5, 0x23, 0x16, 0x79, 0xe7, 0x76, 0xc5, 0xaa, 0x6d, 0xd3, 0xdb, 0x5a, 0x7e, 0x3c, 0xb7,
0xbd, 0xbf, 0x34, 0x60, 0x8d, 0x2a, 0xee, 0xf8, 0x19, 0xff, 0x8f, 0x4f, 0xf7, 0xb7, 0xc0, 0x8e, 0xa5, 0xfb, 0xb7, 0x06, 0xac, 0x51, 0xc5, 0x1d, 0x3f, 0xe3, 0xff, 0xf1, 0xe9, 0xfe, 0x16, 0xd8,
0x42, 0x81, 0xe9, 0xde, 0xdd, 0x75, 0x67, 0xcf, 0x6d, 0x7e, 0xb2, 0x0f, 0xfa, 0x82, 0x2a, 0x25, 0x61, 0x20, 0x30, 0xdd, 0xbb, 0xbb, 0xce, 0xec, 0xb9, 0xcd, 0x4f, 0xf6, 0xe1, 0x40, 0x50, 0xa5,
0xe5, 0xc6, 0x99, 0x84, 0x33, 0xec, 0x3a, 0xf5, 0x6c, 0x5b, 0x98, 0x6b, 0xed, 0x17, 0xca, 0xb5, 0xb4, 0x30, 0xe1, 0x5a, 0x57, 0x4e, 0xb8, 0xf6, 0x0b, 0x25, 0x5c, 0xe7, 0xc2, 0x84, 0xfb, 0xb5,
0xce, 0x85, 0xb9, 0xf6, 0x6b, 0xbb, 0xce, 0xfc, 0x67, 0x35, 0xdb, 0x0c, 0xa5, 0xcd, 0xab, 0x50, 0x5d, 0xa7, 0xff, 0xb3, 0x9a, 0x72, 0x86, 0xd7, 0xe6, 0x55, 0x78, 0x7d, 0x04, 0x5d, 0x43, 0x28,
0xfa, 0x08, 0xba, 0xa6, 0x78, 0xe1, 0x8d, 0xb3, 0x84, 0x37, 0xce, 0xbd, 0x85, 0x73, 0x90, 0x5f, 0x5e, 0x3b, 0x4b, 0x78, 0xed, 0xdc, 0x5b, 0x38, 0x07, 0x19, 0x56, 0x57, 0x0e, 0xd5, 0x8d, 0x8d,
0x75, 0xdb, 0x50, 0xdd, 0xd3, 0x08, 0xf5, 0x4d, 0xbe, 0x01, 0x77, 0xce, 0x67, 0x4d, 0x61, 0x38, 0x50, 0xdf, 0xe4, 0x1b, 0x70, 0xe7, 0x7c, 0xea, 0xe4, 0x86, 0xa3, 0x22, 0x77, 0x36, 0xe6, 0x73,
0x2a, 0xd3, 0x66, 0x63, 0x3e, 0x6d, 0x4a, 0x12, 0x43, 0xf2, 0x25, 0x58, 0xaf, 0xe5, 0xcd, 0x74, 0xa7, 0x20, 0x31, 0x20, 0x5f, 0x82, 0xf5, 0x5a, 0xf2, 0x54, 0x13, 0x75, 0xf6, 0xd4, 0x12, 0xab,
0xa2, 0x76, 0x6d, 0x2d, 0xa7, 0xa6, 0x53, 0xae, 0x9f, 0x39, 0x7f, 0xb4, 0x60, 0xa5, 0xcf, 0x63, 0x9a, 0x72, 0xfd, 0xf4, 0xf9, 0xa3, 0x05, 0x2b, 0x03, 0x1e, 0x71, 0xf9, 0x12, 0xc9, 0xb3, 0xa0,
0x2e, 0x5f, 0x22, 0x6f, 0x16, 0xb4, 0x2f, 0x8d, 0x85, 0xed, 0xcb, 0x4c, 0x7f, 0x60, 0x5f, 0xde, 0x87, 0x69, 0x2c, 0xec, 0x61, 0x66, 0x9a, 0x04, 0xfb, 0xf2, 0x26, 0xa1, 0x79, 0xae, 0x49, 0x78,
0x1f, 0x34, 0xcf, 0xf5, 0x07, 0xaf, 0x83, 0x93, 0x17, 0x51, 0xc2, 0x8a, 0x89, 0xff, 0x09, 0x9f, 0x1d, 0x7a, 0x59, 0x1e, 0xc6, 0x2c, 0x9f, 0x7a, 0x9f, 0xf0, 0x69, 0x91, 0x40, 0x5d, 0x83, 0x3d,
0x94, 0xb9, 0xd3, 0x35, 0xd8, 0x13, 0x3e, 0x11, 0x5e, 0x0a, 0x9b, 0x1f, 0x66, 0x2c, 0xdc, 0x63, 0xe1, 0x53, 0xe1, 0x26, 0xb0, 0xf9, 0x61, 0xca, 0x82, 0x3d, 0x16, 0xb1, 0xc4, 0xe7, 0xc6, 0x4c,
0x31, 0x4b, 0x03, 0x6e, 0xcc, 0x14, 0xd7, 0xb7, 0xec, 0x1e, 0x40, 0x8d, 0xc9, 0x06, 0x6e, 0x58, 0x71, 0x7d, 0xcb, 0xee, 0x01, 0xd4, 0x98, 0x6c, 0xe0, 0x86, 0x35, 0xc4, 0xfd, 0xab, 0x05, 0x1d,
0x43, 0xbc, 0xbf, 0x59, 0xd0, 0x51, 0x1b, 0x62, 0x57, 0x7d, 0x8d, 0xf5, 0x67, 0xda, 0xa9, 0xc6, 0xb5, 0x21, 0xb6, 0xd6, 0xd7, 0x58, 0x7f, 0xa6, 0xa7, 0x6a, 0x2c, 0xe8, 0xa9, 0xca, 0xee, 0xb8,
0x82, 0x76, 0xaa, 0x6a, 0x8c, 0x4b, 0xba, 0xa6, 0x9d, 0x72, 0xad, 0xe3, 0x6d, 0xce, 0x76, 0xbc, 0xa0, 0xab, 0x6a, 0x97, 0x6b, 0x6d, 0x6f, 0x73, 0xb6, 0xed, 0x7d, 0x0d, 0xba, 0xa1, 0x3a, 0x90,
0xaf, 0x41, 0x37, 0x52, 0x07, 0xf2, 0x73, 0x26, 0x4f, 0x35, 0x4f, 0x1d, 0x0a, 0x08, 0x1d, 0x29, 0x97, 0x31, 0x79, 0xaa, 0x79, 0xea, 0x50, 0x40, 0xe8, 0x48, 0x21, 0xaa, 0x2f, 0x2e, 0x14, 0xb0,
0x44, 0xb5, 0xc4, 0xa5, 0x02, 0xb6, 0xc4, 0xcb, 0x57, 0x6e, 0x89, 0xcd, 0x22, 0xd8, 0x12, 0xff, 0x2f, 0x5e, 0xbe, 0x72, 0x5f, 0x6c, 0x16, 0xc1, 0xbe, 0xf8, 0x77, 0x0d, 0x70, 0x0c, 0xc5, 0xd5,
0xae, 0x01, 0xae, 0xa1, 0x78, 0xfa, 0xbe, 0xf4, 0x51, 0x1e, 0xe2, 0x33, 0xd7, 0x5d, 0xe8, 0x54, 0x23, 0xd3, 0x47, 0x59, 0x80, 0x6f, 0x5d, 0x77, 0xa1, 0x53, 0x46, 0x99, 0x79, 0xe3, 0xa9, 0x00,
0x51, 0x66, 0x9e, 0x77, 0xa6, 0x80, 0xe2, 0xf5, 0x80, 0x27, 0x59, 0x31, 0x39, 0x8e, 0x3e, 0xe5, 0xc5, 0xeb, 0x01, 0x8f, 0xd3, 0x7c, 0x7a, 0x1c, 0x7e, 0xca, 0x8d, 0xe1, 0x35, 0x44, 0xd9, 0x76,
0xc6, 0xf0, 0x1a, 0xa2, 0x6c, 0x3b, 0x1c, 0x27, 0x34, 0x7b, 0x26, 0x4c, 0x85, 0x2d, 0x87, 0xca, 0x38, 0x89, 0x69, 0xfa, 0x4c, 0x98, 0x32, 0x5b, 0x0c, 0x95, 0x6d, 0x3e, 0xfe, 0x9a, 0xc1, 0xea,
0xb6, 0x00, 0x7f, 0xc8, 0x60, 0x75, 0x42, 0xcb, 0x9b, 0x14, 0x34, 0xa4, 0xaa, 0x12, 0xd9, 0x80, 0x84, 0x96, 0x37, 0x29, 0x68, 0x48, 0x55, 0x25, 0xb2, 0x01, 0x6d, 0x9e, 0x04, 0x5a, 0xba, 0x84,
0x36, 0x4f, 0x43, 0x2d, 0x5d, 0x42, 0x69, 0x8b, 0xa7, 0x21, 0x8a, 0x06, 0xb0, 0x6a, 0xde, 0x95, 0xd2, 0x16, 0x4f, 0x02, 0x14, 0x0d, 0x61, 0xd5, 0x3c, 0x2e, 0xa5, 0x02, 0x4b, 0xae, 0x29, 0xb4,
0x32, 0x81, 0xd5, 0xd6, 0xd4, 0x58, 0xef, 0x82, 0xc7, 0xbc, 0x03, 0x31, 0x3a, 0x32, 0x9a, 0x74, 0xee, 0x05, 0x2f, 0x7a, 0x07, 0x62, 0x7c, 0x64, 0x34, 0xe9, 0x8a, 0x7e, 0x5f, 0x32, 0x43, 0xf2,
0x45, 0x3f, 0x2d, 0x99, 0x21, 0xf9, 0x00, 0x1c, 0xb5, 0x4b, 0xb5, 0x50, 0xeb, 0xca, 0x0b, 0x75, 0x01, 0xf4, 0xd4, 0x2e, 0xe5, 0x42, 0xad, 0x2b, 0x2f, 0xd4, 0xe5, 0x49, 0x50, 0x0c, 0xdc, 0x9f,
0x79, 0x1a, 0x96, 0x03, 0xef, 0xe7, 0x16, 0xdc, 0x38, 0x47, 0xe1, 0x35, 0xe2, 0xe8, 0x09, 0xb4, 0x5b, 0x70, 0xe3, 0x1c, 0x85, 0xd7, 0x88, 0xa3, 0x27, 0xd0, 0x3e, 0xe6, 0x63, 0xb5, 0x44, 0xf1,
0x8f, 0xf9, 0x48, 0x2d, 0x51, 0xbe, 0x96, 0xed, 0x5c, 0xf4, 0xf8, 0x7a, 0x81, 0xc3, 0x68, 0xb5, 0x64, 0xb6, 0x73, 0xd1, 0x0b, 0xec, 0x05, 0x0e, 0xa3, 0xe5, 0x02, 0xee, 0x8f, 0x2c, 0x00, 0x0c,
0x80, 0xf7, 0x23, 0x0b, 0x00, 0x03, 0x1a, 0x87, 0xe7, 0x82, 0xc5, 0xba, 0x4e, 0xb0, 0xa8, 0x5e, 0x68, 0x1c, 0x9e, 0x0b, 0x16, 0xeb, 0x3a, 0xc1, 0xa2, 0x1a, 0x4a, 0xd5, 0x97, 0xe4, 0x3c, 0x62,
0x52, 0xb5, 0x24, 0x05, 0x8f, 0x99, 0x9c, 0xd6, 0x27, 0x61, 0x7c, 0x4f, 0xd2, 0x71, 0x42, 0xb5, 0xb2, 0xaa, 0x4f, 0xc2, 0xf8, 0x9e, 0x24, 0x93, 0x98, 0x6a, 0x51, 0x91, 0xb4, 0xee, 0xcf, 0x2c,
0xa8, 0x4c, 0x5a, 0xef, 0x67, 0x16, 0x00, 0x16, 0x58, 0x7d, 0x8c, 0xf9, 0xdb, 0xd5, 0xba, 0xfc, 0x00, 0x2c, 0xb0, 0xfa, 0x18, 0xf3, 0x57, 0xac, 0x75, 0xf9, 0x2f, 0xc1, 0xc6, 0x6c, 0x4a, 0xec,
0x47, 0x60, 0x63, 0x36, 0x25, 0xf6, 0xca, 0x94, 0x10, 0xc8, 0x91, 0xbd, 0xc8, 0x86, 0x8a, 0xa3, 0x15, 0x29, 0x21, 0x90, 0x23, 0x7b, 0x91, 0x0d, 0x25, 0x47, 0x95, 0xf1, 0x26, 0x6b, 0x34, 0x2f,
0xa9, 0xf1, 0x26, 0x6b, 0x34, 0x2f, 0xbf, 0xb0, 0xc0, 0xa9, 0xd1, 0x27, 0x66, 0xb3, 0xd7, 0x9a, 0xbf, 0xb0, 0xa0, 0x57, 0xa3, 0x4f, 0xcc, 0x66, 0xaf, 0x35, 0x9f, 0xbd, 0xd8, 0xe6, 0xa9, 0x88,
0xcf, 0x5e, 0xec, 0xf0, 0x54, 0x44, 0xfb, 0xa2, 0x16, 0xe4, 0xc9, 0x34, 0xc8, 0x37, 0xa0, 0x8d, 0xf6, 0x44, 0x2d, 0xc8, 0xe3, 0x2a, 0xc8, 0x37, 0xa0, 0x8d, 0x94, 0xd4, 0xa2, 0x3c, 0x31, 0x51,
0x94, 0xd4, 0xa2, 0x3c, 0x35, 0x51, 0x7e, 0x1f, 0x6e, 0x14, 0x3c, 0xe0, 0xa9, 0x8c, 0x27, 0x7e, 0x7e, 0x1f, 0x6e, 0xe4, 0xdc, 0xe7, 0x89, 0x8c, 0xa6, 0x5e, 0x9c, 0x06, 0xe1, 0x49, 0xc8, 0x03,
0x92, 0x85, 0xd1, 0x49, 0xc4, 0x43, 0x8c, 0xf5, 0x36, 0xed, 0x95, 0x82, 0x03, 0x83, 0x7b, 0x7f, 0x8c, 0xf5, 0x36, 0xed, 0x17, 0x82, 0x03, 0x83, 0xbb, 0x7f, 0xb0, 0x60, 0xf5, 0x3b, 0x13, 0x9e,
0xb0, 0x60, 0xf5, 0x3b, 0x63, 0x5e, 0x4c, 0x0e, 0xb3, 0x90, 0xeb, 0x93, 0xbd, 0x78, 0x04, 0xbd, 0x4f, 0x0f, 0xd3, 0x80, 0xeb, 0x93, 0xbd, 0x78, 0x04, 0xbd, 0x87, 0xb6, 0x18, 0x7a, 0x74, 0x08,
0x87, 0xb6, 0x18, 0x7a, 0x74, 0x08, 0xbd, 0xf1, 0x8f, 0x43, 0x48, 0xd0, 0xb6, 0x30, 0x61, 0xa3, 0xbd, 0xf1, 0x8f, 0x43, 0x48, 0xd0, 0xb6, 0x30, 0x61, 0xa3, 0x28, 0xd6, 0xbf, 0xee, 0xaf, 0x42,
0x28, 0xd6, 0x3f, 0xec, 0xaf, 0x42, 0xf1, 0xd4, 0xb1, 0xe6, 0xea, 0xd4, 0x14, 0xff, 0xd0, 0x82, 0x71, 0xe5, 0x58, 0x73, 0x75, 0x6a, 0x8a, 0x7f, 0x68, 0x41, 0xb7, 0x96, 0x2c, 0xaa, 0xe4, 0x9b,
0x6e, 0x2d, 0x59, 0x54, 0xc9, 0x37, 0xf7, 0x83, 0xbe, 0x56, 0x2c, 0x2c, 0x82, 0xdd, 0x60, 0xfa, 0xfb, 0x41, 0x5f, 0x2b, 0x16, 0x16, 0xc1, 0xae, 0x5f, 0xbd, 0xe1, 0x91, 0x75, 0x58, 0x8a, 0xc5,
0x7c, 0x47, 0xd6, 0x61, 0x29, 0x11, 0x23, 0xe3, 0x71, 0x87, 0xea, 0x01, 0xd9, 0x84, 0x76, 0x22, 0xd8, 0x78, 0xbc, 0x47, 0xf5, 0x80, 0x6c, 0x42, 0x3b, 0x16, 0x63, 0xfc, 0x11, 0x64, 0x2a, 0x67,
0x46, 0xf8, 0xfb, 0xc7, 0x54, 0xce, 0x6a, 0xac, 0xdc, 0x36, 0xed, 0x6c, 0x74, 0x01, 0x99, 0x02, 0x39, 0x56, 0x6e, 0xab, 0x3a, 0x1b, 0x5d, 0x40, 0x2a, 0xc0, 0xfd, 0x95, 0x05, 0xc4, 0x34, 0x0e,
0xde, 0xaf, 0x2c, 0x20, 0xa6, 0x71, 0x78, 0xa9, 0x37, 0x5e, 0x0c, 0xd8, 0xfa, 0x13, 0x64, 0x43, 0x2f, 0xf5, 0xd0, 0x8b, 0x01, 0x5b, 0x7f, 0x87, 0x6c, 0x60, 0x19, 0x9e, 0xc1, 0xe6, 0xae, 0x3c,
0x77, 0x66, 0x75, 0x6c, 0xee, 0xca, 0xb3, 0xcf, 0x5d, 0x79, 0xf7, 0xe1, 0x46, 0xc8, 0x4f, 0x98, 0xfb, 0xdc, 0x95, 0x77, 0x1f, 0x6e, 0x04, 0xfc, 0x84, 0xa9, 0x1e, 0x67, 0xfe, 0xc8, 0x7d, 0x23,
0xea, 0x71, 0xe6, 0x8f, 0xdc, 0x33, 0x82, 0xaa, 0x15, 0x7b, 0xeb, 0x5d, 0xe8, 0x54, 0x7f, 0xad, 0x28, 0x5b, 0xb1, 0xb7, 0xde, 0x85, 0x4e, 0xf9, 0xff, 0x0a, 0xe9, 0x43, 0x6f, 0x98, 0x84, 0x12,
0x90, 0x1e, 0x38, 0x83, 0x34, 0x92, 0xf8, 0x03, 0x2d, 0x4a, 0x47, 0xbd, 0xff, 0x23, 0x5d, 0x68, 0x7f, 0xa5, 0x85, 0xc9, 0xb8, 0xff, 0x7f, 0xa4, 0x0b, 0xad, 0x6f, 0x71, 0x16, 0xc9, 0xd3, 0x69,
0x7d, 0x8b, 0xb3, 0x58, 0x9e, 0x4e, 0x7a, 0x16, 0x71, 0xa0, 0xfd, 0xfe, 0x30, 0xcd, 0x8a, 0x84, 0xdf, 0x22, 0x3d, 0x68, 0xbf, 0x3f, 0x4a, 0xd2, 0x3c, 0x66, 0x51, 0xbf, 0xb1, 0xf7, 0xce, 0xf7,
0xc5, 0xbd, 0xc6, 0xde, 0x3b, 0xdf, 0xfb, 0xca, 0x28, 0x92, 0xa7, 0xe3, 0xa1, 0xb2, 0x64, 0x47, 0xbe, 0x32, 0x0e, 0xe5, 0xe9, 0x64, 0xa4, 0x2c, 0xd9, 0xd1, 0xa6, 0x7d, 0x31, 0x4c, 0xcd, 0xd7,
0x9b, 0xf6, 0xc5, 0x28, 0x33, 0x5f, 0x3b, 0xa5, 0xd7, 0x76, 0xd0, 0xda, 0x6a, 0x98, 0x0f, 0x87, 0x4e, 0xe1, 0xb5, 0x1d, 0xb4, 0xb6, 0x1c, 0x66, 0xa3, 0xd1, 0x32, 0x22, 0x6f, 0xff, 0x3d, 0x00,
0xcb, 0x88, 0xbc, 0xfd, 0xf7, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2f, 0x93, 0x3f, 0x71, 0x80, 0x1a, 0x00, 0xff, 0xff, 0x7d, 0x5a, 0x47, 0x9f, 0x85, 0x1a, 0x00, 0x00,
0x00, 0x00,
} }

View File

@ -6,7 +6,7 @@ import "schema.proto";
message RetrieveRequest { message RetrieveRequest {
schema.IDs ids = 1; schema.IDs ids = 1;
repeated string output_fields = 2; repeated int64 output_fields_id = 2;
} }
message RetrieveResults { message RetrieveResults {

View File

@ -23,7 +23,7 @@ const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type RetrieveRequest struct { type RetrieveRequest struct {
Ids *schemapb.IDs `protobuf:"bytes,1,opt,name=ids,proto3" json:"ids,omitempty"` Ids *schemapb.IDs `protobuf:"bytes,1,opt,name=ids,proto3" json:"ids,omitempty"`
OutputFields []string `protobuf:"bytes,2,rep,name=output_fields,json=outputFields,proto3" json:"output_fields,omitempty"` OutputFieldsId []int64 `protobuf:"varint,2,rep,packed,name=output_fields_id,json=outputFieldsId,proto3" json:"output_fields_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -61,9 +61,9 @@ func (m *RetrieveRequest) GetIds() *schemapb.IDs {
return nil return nil
} }
func (m *RetrieveRequest) GetOutputFields() []string { func (m *RetrieveRequest) GetOutputFieldsId() []int64 {
if m != nil { if m != nil {
return m.OutputFields return m.OutputFieldsId
} }
return nil return nil
} }
@ -228,26 +228,27 @@ func init() {
func init() { proto.RegisterFile("segcore.proto", fileDescriptor_1d79fce784797357) } func init() { proto.RegisterFile("segcore.proto", fileDescriptor_1d79fce784797357) }
var fileDescriptor_1d79fce784797357 = []byte{ var fileDescriptor_1d79fce784797357 = []byte{
// 335 bytes of a gzipped FileDescriptorProto // 338 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0xc1, 0x4b, 0xf3, 0x30, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0xc1, 0x4b, 0xc3, 0x30,
0x18, 0xc6, 0xd9, 0xca, 0xf7, 0xe1, 0xb2, 0x8d, 0x41, 0xf1, 0x50, 0x14, 0x65, 0x74, 0x97, 0x21, 0x14, 0xc6, 0xd9, 0x8a, 0xe2, 0xb2, 0xcd, 0x49, 0xf1, 0x50, 0x14, 0x65, 0x74, 0x97, 0x21, 0xd8,
0xd8, 0xc2, 0x14, 0xc1, 0x93, 0xa0, 0x43, 0x10, 0xf4, 0x92, 0x79, 0xf2, 0x52, 0xd2, 0xf6, 0x75, 0xc2, 0x14, 0xc1, 0x93, 0xa0, 0x43, 0x18, 0xe8, 0x25, 0xf3, 0xe4, 0xa5, 0x64, 0xed, 0xb3, 0x0b,
0x0b, 0x36, 0x4d, 0x6d, 0xde, 0x74, 0x63, 0x07, 0xff, 0x76, 0x49, 0x52, 0x71, 0x83, 0x5d, 0xbc, 0x36, 0x4d, 0x6d, 0x5e, 0xba, 0xb1, 0x83, 0x7f, 0xbb, 0x34, 0xa9, 0xb8, 0xc1, 0x2e, 0xde, 0xf2,
0x25, 0x4f, 0x9e, 0xe7, 0xfd, 0x3d, 0x2f, 0x21, 0x43, 0x05, 0xcb, 0x4c, 0xd6, 0x10, 0x55, 0xb5, 0xbe, 0xf7, 0x7d, 0xef, 0xf7, 0x1e, 0x21, 0x7d, 0x05, 0x69, 0x2c, 0x4b, 0x08, 0x8a, 0x52, 0xa2,
0x44, 0xe9, 0x1f, 0x0b, 0x5e, 0x34, 0x5a, 0xb9, 0x5b, 0xd4, 0xbe, 0x9d, 0x0c, 0x54, 0xb6, 0x02, 0x74, 0x4f, 0x05, 0xcf, 0x2a, 0xad, 0x6c, 0x15, 0x34, 0xbd, 0xb3, 0x9e, 0x8a, 0x97, 0x20, 0x98,
0xc1, 0x9c, 0x1a, 0xa6, 0x64, 0x44, 0x01, 0x6b, 0x0e, 0x0d, 0x50, 0xf8, 0xd4, 0xa0, 0xd0, 0xbf, 0x55, 0xfd, 0x94, 0x0c, 0x28, 0x60, 0xc9, 0xa1, 0x02, 0x0a, 0x5f, 0x1a, 0x14, 0xba, 0x57, 0xc4,
0x20, 0x1e, 0xcf, 0x55, 0xd0, 0x19, 0x77, 0xa6, 0xfd, 0x59, 0x10, 0xed, 0x0f, 0x71, 0xd9, 0xa7, 0xe1, 0x89, 0xf2, 0x5a, 0xc3, 0xd6, 0xb8, 0x3b, 0xf1, 0x82, 0xdd, 0x21, 0x36, 0x3b, 0x9b, 0x2a,
0xb9, 0xa2, 0xc6, 0xe4, 0x4f, 0xc8, 0x50, 0x6a, 0xac, 0x34, 0x26, 0xef, 0x1c, 0x8a, 0x5c, 0x05, 0x5a, 0x9b, 0xdc, 0x31, 0x39, 0x91, 0x1a, 0x0b, 0x8d, 0xd1, 0x07, 0x87, 0x2c, 0x51, 0x11, 0x4f,
0xdd, 0xb1, 0x37, 0xed, 0xd1, 0x81, 0x13, 0x1f, 0xad, 0x16, 0x7e, 0xed, 0x32, 0x94, 0x2e, 0x50, 0xbc, 0xf6, 0xd0, 0x19, 0x3b, 0xf4, 0xd8, 0xea, 0xcf, 0x46, 0x9e, 0x25, 0xfe, 0xf7, 0x36, 0x48,
0xfd, 0x89, 0x71, 0x47, 0xfa, 0x6e, 0x78, 0x92, 0x33, 0x64, 0x96, 0xd0, 0x9f, 0x9d, 0x1f, 0xcc, 0xe9, 0x0c, 0xd5, 0xbf, 0x40, 0x0f, 0xa4, 0xdb, 0x10, 0x12, 0x86, 0xcc, 0x30, 0xba, 0x93, 0xcb,
0x58, 0xe0, 0x9c, 0x21, 0xa3, 0xc4, 0x45, 0xcc, 0x39, 0x6c, 0xc8, 0xf0, 0x59, 0xb2, 0xdc, 0x3e, 0xbd, 0x19, 0x83, 0x9c, 0x32, 0x64, 0x94, 0xd8, 0x48, 0xfd, 0xf6, 0x2b, 0xd2, 0x7f, 0x91, 0x2c,
0xbe, 0x00, 0x32, 0xd3, 0x5a, 0xf0, 0x32, 0x41, 0x2e, 0x40, 0x21, 0x13, 0x95, 0xed, 0xe1, 0xd1, 0x31, 0xcd, 0x57, 0x40, 0xe6, 0x8e, 0x48, 0x5f, 0xf0, 0x3c, 0x42, 0x2e, 0x40, 0x21, 0x13, 0x85,
0x81, 0xe0, 0xe5, 0xeb, 0x8f, 0x66, 0x4d, 0x6c, 0xb3, 0x63, 0xea, 0xb6, 0x26, 0xb6, 0xf9, 0x35, 0xd9, 0xc3, 0xa1, 0x3d, 0xc1, 0xf3, 0xb7, 0x5f, 0xcd, 0x98, 0xd8, 0x7a, 0xcb, 0xd4, 0x6e, 0x4c,
0x9d, 0x92, 0x5e, 0x2d, 0xd7, 0x49, 0x26, 0x75, 0x89, 0x81, 0x67, 0x0d, 0x47, 0xb5, 0x5c, 0x3f, 0x6c, 0xfd, 0x67, 0x3a, 0x27, 0x9d, 0x52, 0xae, 0xa2, 0x58, 0xea, 0x1c, 0x3d, 0xc7, 0x18, 0x8e,
0x98, 0x7b, 0xf8, 0x41, 0x46, 0x86, 0xbb, 0x80, 0xa5, 0x80, 0x12, 0x2d, 0xf9, 0x96, 0xfc, 0x13, 0x4a, 0xb9, 0x7a, 0xaa, 0x6b, 0xff, 0x93, 0x0c, 0x6a, 0xee, 0x1c, 0x52, 0x01, 0x39, 0x1a, 0xf2,
0x80, 0xcc, 0x6c, 0x6e, 0xb6, 0x98, 0x44, 0x87, 0xbe, 0x28, 0xda, 0x6b, 0x4b, 0x5d, 0xc2, 0x3f, 0x3d, 0x39, 0x10, 0x80, 0xac, 0xbe, 0xbc, 0xbe, 0x62, 0x14, 0xec, 0xfb, 0xa7, 0x60, 0x67, 0x5b,
0x23, 0x04, 0x25, 0xb2, 0x22, 0x51, 0x7c, 0x0b, 0x6d, 0x99, 0x9e, 0x55, 0x16, 0x7c, 0x0b, 0xf7, 0x6a, 0x13, 0xee, 0x05, 0x21, 0x28, 0x91, 0x65, 0x91, 0xe2, 0x1b, 0x68, 0x96, 0xe9, 0x18, 0x65,
0x37, 0x6f, 0xd7, 0x4b, 0x8e, 0x2b, 0x9d, 0x46, 0x99, 0x14, 0xb1, 0x1b, 0x7b, 0xc9, 0x65, 0x7b, 0xce, 0x37, 0xf0, 0x78, 0xf7, 0x7e, 0x9b, 0x72, 0x5c, 0xea, 0x45, 0x10, 0x4b, 0x11, 0xda, 0xb1,
0x8a, 0x79, 0x89, 0x50, 0x97, 0xac, 0x88, 0x2d, 0x29, 0x6e, 0x49, 0x55, 0x9a, 0xfe, 0xb7, 0xc2, 0xd7, 0x5c, 0x36, 0xaf, 0x90, 0xe7, 0x08, 0x65, 0xce, 0xb2, 0xd0, 0x90, 0xc2, 0x86, 0x54, 0x2c,
0xd5, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0xac, 0x78, 0x16, 0xc2, 0x3c, 0x02, 0x00, 0x00, 0x16, 0x87, 0x46, 0xb8, 0xf9, 0x09, 0x00, 0x00, 0xff, 0xff, 0xa7, 0x83, 0x2e, 0xf6, 0x41, 0x02,
0x00, 0x00,
} }

View File

@ -2072,7 +2072,7 @@ func (rt *RetrieveTask) PreExecute(ctx context.Context) error {
if len(rt.retrieve.OutputFields) == 0 { if len(rt.retrieve.OutputFields) == 0 {
for _, field := range schema.Fields { for _, field := range schema.Fields {
if field.FieldID >= 100 && field.DataType != schemapb.DataType_FloatVector && field.DataType != schemapb.DataType_BinaryVector { if field.FieldID >= 100 && field.DataType != schemapb.DataType_FloatVector && field.DataType != schemapb.DataType_BinaryVector {
rt.OutputFields = append(rt.OutputFields, field.Name) rt.OutputFieldsId = append(rt.OutputFieldsId, field.FieldID)
} }
} }
} else { } else {
@ -2089,10 +2089,10 @@ func (rt *RetrieveTask) PreExecute(ctx context.Context) error {
addPrimaryKey = true addPrimaryKey = true
} }
findField = true findField = true
rt.OutputFields = append(rt.OutputFields, reqField) rt.OutputFieldsId = append(rt.OutputFieldsId, field.FieldID)
} else { } else {
if field.IsPrimaryKey && !addPrimaryKey { if field.IsPrimaryKey && !addPrimaryKey {
rt.OutputFields = append(rt.OutputFields, field.Name) rt.OutputFieldsId = append(rt.OutputFieldsId, field.FieldID)
addPrimaryKey = true addPrimaryKey = true
} }
} }
@ -2352,7 +2352,7 @@ func (rt *RetrieveTask) PostExecute(ctx context.Context) error {
} }
for i := 0; i < len(rt.result.FieldsData); i++ { for i := 0; i < len(rt.result.FieldsData); i++ {
for _, field := range schema.Fields { for _, field := range schema.Fields {
if field.Name == rt.OutputFields[i] { if field.FieldID == rt.OutputFieldsId[i] {
rt.result.FieldsData[i].FieldName = field.Name rt.result.FieldsData[i].FieldName = field.Name
rt.result.FieldsData[i].Type = field.DataType rt.result.FieldsData[i].Type = field.DataType
} }

View File

@ -1077,8 +1077,8 @@ func (q *queryCollection) retrieve(msg queryMsg) error {
} }
req := &segcorepb.RetrieveRequest{ req := &segcorepb.RetrieveRequest{
Ids: retrieveMsg.Ids, Ids: retrieveMsg.Ids,
OutputFields: retrieveMsg.OutputFields, OutputFieldsId: retrieveMsg.OutputFieldsId,
} }
plan, err := createRetrievePlan(collection, req, timestamp) plan, err := createRetrievePlan(collection, req, timestamp)

View File

@ -153,7 +153,7 @@ func TestSegment_retrieve(t *testing.T) {
}, },
}, },
}, },
OutputFields: []string{"vec"}, OutputFieldsId: []int64{100},
} }
plan, err := createRetrievePlan(collection, reqIds, 100) plan, err := createRetrievePlan(collection, reqIds, 100)
defer plan.delete() defer plan.delete()