Files
milvus/client/column/geometry.go
T
congqixiaandGitHub c8dd73314c enhance: [GoSDK] migrate Go client module path to v3 (#51539)
Related to #51419

Update the Go client module path, imports, dependencies, tests,
examples, and documentation from client/v2 to client/v3.

Set the SDK version to 3.0.0 in preparation for the Milvus 3.0 release.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2026-07-17 22:48:41 +08:00

92 lines
2.0 KiB
Go

package column
import (
"github.com/cockroachdb/errors"
"github.com/milvus-io/milvus-proto/go-api/v3/schemapb"
"github.com/milvus-io/milvus/client/v3/entity"
)
type ColumnGeometryWKT struct {
*genericColumnBase[string]
}
// Name returns column name.
func (c *ColumnGeometryWKT) Name() string {
return c.name
}
// Type returns column entity.FieldType.
func (c *ColumnGeometryWKT) Type() entity.FieldType {
return entity.FieldTypeGeometry
}
// Len returns column values length.
func (c *ColumnGeometryWKT) Len() int {
return len(c.values)
}
func (c *ColumnGeometryWKT) Slice(start, end int) Column {
l := c.Len()
if start > l {
start = l
}
if end == -1 || end > l {
end = l
}
return &ColumnGeometryWKT{
genericColumnBase: c.genericColumnBase.slice(start, end),
}
}
// Get returns value at index as interface{}.
func (c *ColumnGeometryWKT) Get(idx int) (interface{}, error) {
if idx < 0 || idx >= c.Len() {
return nil, errors.New("index out of range")
}
return c.values[idx], nil
}
func (c *ColumnGeometryWKT) GetAsString(idx int) (string, error) {
return c.ValueByIdx(idx)
}
// FieldData return column data mapped to schemapb.FieldData.
func (c *ColumnGeometryWKT) FieldData() *schemapb.FieldData {
fd := c.genericColumnBase.FieldData()
return fd
}
// ValueByIdx returns value of the provided index.
func (c *ColumnGeometryWKT) ValueByIdx(idx int) (string, error) {
if idx < 0 || idx >= c.Len() {
return "", errors.New("index out of range")
}
return c.values[idx], nil
}
// AppendValue append value into column.
func (c *ColumnGeometryWKT) AppendValue(i interface{}) error {
s, ok := i.(string)
if !ok {
return errors.New("expect geometry WKT type(string)")
}
c.values = append(c.values, s)
return nil
}
// Data returns column data.
func (c *ColumnGeometryWKT) Data() []string {
return c.values
}
func NewColumnGeometryWKT(name string, values []string) *ColumnGeometryWKT {
return &ColumnGeometryWKT{
genericColumnBase: &genericColumnBase[string]{
name: name,
fieldType: entity.FieldTypeGeometry,
values: values,
},
}
}