insert method
void
insert({})
Implementation
void insert({
required String id,
required List<double> vector,
String? content,
Map<String, dynamic>? metadata,
String? hash,
}) {
_ensureOpen();
_ensureVectorMatchesDimension(vector);
final idPointer = id.toNativeUtf8();
final contentPointer = _nullableUtf8(content);
final metadataPointer = _nullableUtf8(
metadata == null ? null : jsonEncode(metadata),
);
final hashPointer = _nullableUtf8(hash);
final vectorPointer = _toFloatPointer(vector);
try {
final status = _bindings.zvecInsert(
_handle,
idPointer,
vectorPointer,
vector.length,
contentPointer,
metadataPointer,
hashPointer,
);
_throwIfFailed(status);
} finally {
calloc.free(idPointer);
_freeNullableUtf8(contentPointer);
_freeNullableUtf8(metadataPointer);
_freeNullableUtf8(hashPointer);
calloc.free(vectorPointer);
}
}