From 476c7a181c4eb82852e5fb366019ebd857e3c1c0 Mon Sep 17 00:00:00 2001 From: "zhenshan.cao" Date: Thu, 20 Nov 2025 21:19:58 +0800 Subject: [PATCH] fix: Partial update panic with TIMESTAMPTZ (#45741) issue: https://github.com/milvus-io/milvus/issues/45729 pr: https://github.com/milvus-io/milvus/pull/45740 Signed-off-by: zhenshan.cao --- pkg/util/typeutil/schema.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkg/util/typeutil/schema.go b/pkg/util/typeutil/schema.go index a7309c45d9..2e246f799a 100644 --- a/pkg/util/typeutil/schema.go +++ b/pkg/util/typeutil/schema.go @@ -1120,6 +1120,8 @@ func DeleteFieldData(dst []*schemapb.FieldData) { dstScalar.GetIntData().Data = dstScalar.GetIntData().Data[:len(dstScalar.GetIntData().Data)-1] case *schemapb.ScalarField_LongData: dstScalar.GetLongData().Data = dstScalar.GetLongData().Data[:len(dstScalar.GetLongData().Data)-1] + case *schemapb.ScalarField_TimestamptzData: + dstScalar.GetTimestamptzData().Data = dstScalar.GetTimestamptzData().Data[:len(dstScalar.GetTimestamptzData().Data)-1] case *schemapb.ScalarField_FloatData: dstScalar.GetFloatData().Data = dstScalar.GetFloatData().Data[:len(dstScalar.GetFloatData().Data)-1] case *schemapb.ScalarField_DoubleData: @@ -1439,6 +1441,16 @@ func MergeFieldData(dst []*schemapb.FieldData, src []*schemapb.FieldData) error } else { dstScalar.GetLongData().Data = append(dstScalar.GetLongData().Data, srcScalar.LongData.Data...) } + case *schemapb.ScalarField_TimestamptzData: + if dstScalar.GetTimestamptzData() == nil { + dstScalar.Data = &schemapb.ScalarField_TimestamptzData{ + TimestamptzData: &schemapb.TimestamptzArray{ + Data: srcScalar.TimestamptzData.Data, + }, + } + } else { + dstScalar.GetTimestamptzData().Data = append(dstScalar.GetTimestamptzData().Data, srcScalar.TimestamptzData.Data...) + } case *schemapb.ScalarField_FloatData: if dstScalar.GetFloatData() == nil { dstScalar.Data = &schemapb.ScalarField_FloatData{