From 4c6823df3e5bf1d6b035c30ca141cf499ebe2469 Mon Sep 17 00:00:00 2001 From: Congqi Xia <congqi.xia@zilliz.com> Date: Wed, 8 Nov 2023 18:35:25 +0800 Subject: [PATCH] Fix QueryByPKs composes wrong expr when pk data has spaces Signed-off-by: Congqi Xia <congqi.xia@zilliz.com> --- client/data.go | 4 ++-- test/testcases/upsert_test.go | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/client/data.go b/client/data.go index 106f53f3..040a7bd7 100644 --- a/client/data.go +++ b/client/data.go @@ -183,11 +183,11 @@ func PKs2Expr(backName string, ids entity.Column) string { case entity.FieldTypeInt64: expr = fmt.Sprintf("%s in %s", pkName, strings.Join(strings.Fields(fmt.Sprint(ids.FieldData().GetScalars().GetLongData().GetData())), ",")) case entity.FieldTypeVarChar: - data := ids.FieldData().GetScalars().GetData().(*schemapb.ScalarField_StringData).StringData.Data + data := ids.FieldData().GetScalars().GetData().(*schemapb.ScalarField_StringData).StringData.GetData() for i := range data { data[i] = fmt.Sprintf("\"%s\"", data[i]) } - expr = fmt.Sprintf("%s in %s", pkName, strings.Join(strings.Fields(fmt.Sprint(data)), ",")) + expr = fmt.Sprintf("%s in [%s]", pkName, strings.Join(data, ",")) } return expr } diff --git a/test/testcases/upsert_test.go b/test/testcases/upsert_test.go index af563360..83b30975 100644 --- a/test/testcases/upsert_test.go +++ b/test/testcases/upsert_test.go @@ -120,7 +120,6 @@ func TestUpsertAutoID(t *testing.T) { } func TestUpsertVarcharPk(t *testing.T) { - t.Skip("https://github.com/milvus-io/milvus-sdk-go/issues/612") /* test upsert varchar pks upsert after query