diff --git a/internal/core/src/segcore/SegmentInterface.h b/internal/core/src/segcore/SegmentInterface.h index 4f1513d407e457e1fafc0b0924a838f2f9419407..0689725a26c11fdd2a760ff590d5a84ca3a7a4e6 100644 --- a/internal/core/src/segcore/SegmentInterface.h +++ b/internal/core/src/segcore/SegmentInterface.h @@ -10,27 +10,31 @@ // or implied. See the License for the specific language governing permissions and limitations under the License #pragma once -#include "common/Types.h" + +#include +#include +#include +#include +#include + +#include "FieldIndexing.h" #include "common/Schema.h" -#include "query/Plan.h" #include "common/Span.h" -#include "FieldIndexing.h" -#include #include "common/SystemProperty.h" +#include "common/Types.h" +#include "knowhere/index/vector_index/VecIndex.h" +#include "query/Plan.h" #include "query/PlanNode.h" #include "pb/schema.pb.h" #include "pb/segcore.pb.h" -#include -#include -#include -#include -#include namespace milvus::segcore { // common interface of SegmentSealed and SegmentGrowing used by C API class SegmentInterface { public: + virtual ~SegmentInterface() = default; + virtual void FillPrimaryKeys(const query::Plan* plan, SearchResult& results) const = 0; @@ -57,8 +61,6 @@ class SegmentInterface { virtual Status Delete(int64_t reserved_offset, int64_t size, const int64_t* row_ids, const Timestamp* timestamps) = 0; - - virtual ~SegmentInterface() = default; }; // internal API for DSL calculation