@@ -19,7 +19,6 @@ package httpserver
1919import (
2020 "bytes"
2121 "context"
22- "encoding/base64"
2322 "fmt"
2423 "math"
2524 "reflect"
@@ -31,8 +30,6 @@ import (
3130 "github.com/gin-gonic/gin"
3231 "github.com/spf13/cast"
3332 "github.com/tidwall/gjson"
34- "github.com/twpayne/go-geom/encoding/wkb"
35- "github.com/twpayne/go-geom/encoding/wkt"
3633 "go.uber.org/zap"
3734 "google.golang.org/protobuf/proto"
3835
@@ -549,24 +546,7 @@ func checkAndSetData(body []byte, collSchema *schemapb.CollectionSchema) (error,
549546 case schemapb .DataType_JSON :
550547 reallyData [fieldName ] = []byte (dataString )
551548 case schemapb .DataType_Geometry :
552- // treat as string(wkt) data,the string data must be valid
553- WktString , err := base64 .StdEncoding .DecodeString (dataString )
554- if err != nil {
555- log .Warn ("proxy can not decode datastring with base64" , zap .String ("WktString:" , dataString ))
556- return merr .WrapErrParameterInvalid (schemapb .DataType_name [int32 (fieldType )], dataString , err .Error ()), reallyDataArray , validDataMap
557- }
558- geomT , err := wkt .Unmarshal (string (WktString ))
559- if err != nil {
560- log .Warn ("proxy change wkt to geomtyr failed!!" , zap .String ("WktString:" , dataString ))
561- return merr .WrapErrParameterInvalid (schemapb .DataType_name [int32 (fieldType )], dataString , err .Error ()), reallyDataArray , validDataMap
562- }
563- // translate the wkt bytes to wkb bytes ,store the bytes in LittleEndian which cpp core used as well
564- dataWkbBytes , err := wkb .Marshal (geomT , wkb .NDR )
565- if err != nil {
566- log .Warn ("proxy change geomtry to wkb failed!!" , zap .String ("WktString:" , dataString ))
567- return merr .WrapErrParameterInvalid (schemapb .DataType_name [int32 (fieldType )], dataString , err .Error ()), reallyDataArray , validDataMap
568- }
569- reallyData [fieldName ] = dataWkbBytes
549+ reallyData [fieldName ] = dataString
570550 case schemapb .DataType_Float :
571551 result , err := cast .ToFloat32E (dataString )
572552 if err != nil {
@@ -775,7 +755,7 @@ func anyToColumns(rows []map[string]interface{}, validDataMap map[string][]bool,
775755 case schemapb .DataType_JSON :
776756 data = make ([][]byte , 0 , rowsLen )
777757 case schemapb .DataType_Geometry :
778- data = make ([][] byte , 0 , rowsLen )
758+ data = make ([]string , 0 , rowsLen )
779759 case schemapb .DataType_FloatVector :
780760 data = make ([][]float32 , 0 , rowsLen )
781761 dim , _ := getDim (field )
@@ -866,7 +846,7 @@ func anyToColumns(rows []map[string]interface{}, validDataMap map[string][]bool,
866846 case schemapb .DataType_JSON :
867847 nameColumns [field .Name ] = append (nameColumns [field .Name ].([][]byte ), candi .v .Interface ().([]byte ))
868848 case schemapb .DataType_Geometry :
869- nameColumns [field .Name ] = append (nameColumns [field .Name ].([][] byte ), candi .v .Interface ().([] byte ))
849+ nameColumns [field .Name ] = append (nameColumns [field .Name ].([]string ), candi .v .Interface ().(string ))
870850 case schemapb .DataType_FloatVector :
871851 nameColumns [field .Name ] = append (nameColumns [field .Name ].([][]float32 ), candi .v .Interface ().([]float32 ))
872852 case schemapb .DataType_BinaryVector :
@@ -1034,9 +1014,9 @@ func anyToColumns(rows []map[string]interface{}, validDataMap map[string][]bool,
10341014 case schemapb .DataType_Geometry :
10351015 colData .Field = & schemapb.FieldData_Scalars {
10361016 Scalars : & schemapb.ScalarField {
1037- Data : & schemapb.ScalarField_GeometryData {
1038- GeometryData : & schemapb.GeometryArray {
1039- Data : column .([][] byte ),
1017+ Data : & schemapb.ScalarField_GeometryWktData {
1018+ GeometryWktData : & schemapb.GeometryWktArray {
1019+ Data : column .([]string ),
10401020 },
10411021 },
10421022 },
@@ -1310,7 +1290,7 @@ func buildQueryResp(rowsNum int64, needFields []string, fieldDataList []*schemap
13101290 case schemapb .DataType_JSON :
13111291 rowsNum = int64 (len (fieldDataList [0 ].GetScalars ().GetJsonData ().Data ))
13121292 case schemapb .DataType_Geometry :
1313- rowsNum = int64 (len (fieldDataList [0 ].GetScalars ().GetGeometryData ().Data ))
1293+ rowsNum = int64 (len (fieldDataList [0 ].GetScalars ().GetGeometryWktData ().Data ))
13141294 case schemapb .DataType_BinaryVector :
13151295 rowsNum = int64 (len (fieldDataList [0 ].GetVectors ().GetBinaryVector ())* 8 ) / fieldDataList [0 ].GetVectors ().GetDim ()
13161296 case schemapb .DataType_FloatVector :
@@ -1466,7 +1446,7 @@ func buildQueryResp(rowsNum int64, needFields []string, fieldDataList []*schemap
14661446 row [fieldDataList [j ].FieldName ] = nil
14671447 continue
14681448 }
1469- row [fieldDataList [j ].FieldName ] = fieldDataList [j ].GetScalars ().GetGeometryData ().Data [i ]
1449+ row [fieldDataList [j ].FieldName ] = fieldDataList [j ].GetScalars ().GetGeometryWktData ().Data [i ]
14701450 default :
14711451 row [fieldDataList [j ].FieldName ] = ""
14721452 }
0 commit comments