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 <zhenshan.cao@zilliz.com>
This commit is contained in:
zhenshan.cao 2025-11-20 21:19:58 +08:00 committed by GitHub
parent 9a34fb61fa
commit 476c7a181c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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{