Highlights
- Adds Go SDK support for nullable vector columns across dense, binary, sparse, and int8 vector types.
- Adds Array field partial update helpers for
ARRAY_APPENDandARRAY_REMOVEin upsert requests. - Validates that vector fields added to existing collections are nullable before sending
AddCollectionFieldrequests. - Bumps the Go SDK version constant to
2.6.5and updatesmilvus-proto/go-api/v2tov2.6.17.
New Features
-
Nullable vector columns: Added nullable column constructors for vector fields:
NewNullableColumnFloatVector,NewNullableColumnBinaryVector,NewNullableColumnFloat16Vector,NewNullableColumnBFloat16Vector,NewNullableColumnInt8Vector, andNewNullableColumnSparseFloatVector. These constructors accept compact non-null vector values plusvalidData, and validate that the values length matches the valid row count. (#49848) -
Nullable vector response decoding:
FieldDataColumnnow decodes nullable vector field data usingValidDataforFloatVector,BinaryVector,Float16Vector,BFloat16Vector,SparseFloatVector, andInt8Vector. Null rows are preserved in the returned column while compact wire-format vector payloads are expanded back to row-aligned columns. (#49848) -
Array partial update operations: Added upsert helpers
WithArrayAppend(fieldName),WithArrayRemove(fieldName), andWithFieldPartialOp(fieldName, op)for Array field partial updates. Non-REPLACEfield ops are serialized intoUpsertRequest.FieldOpsand automatically enablepartial_updatefor both column-based and row-based upserts. (#49328)
Bug Fixes
-
AddCollectionField vector validation:
AddCollectionFieldnow validates options before sending the RPC and rejects vector fields added to existing collections unless the field is markednullable=true, preventing invalid schema changes from reaching the server. (#49848) -
All-null sparse vector handling: Sparse vector column serialization now handles empty value sets by emitting dimension
0, allowing all-null nullable sparse vector columns to round-trip without panics or invalid dimension calculations. (#49848) -
Nullable column row counts: Added
Column.ValidCount()support so nullable columns can report the number of non-null rows separately from total row count. Struct-array columns return their total length. (#49848)