You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you delete a row from a vec0 table, then the vector's space in the chunk will be "empty". If you insert a new row right after, sqlite-vec will only re-claim the space if the latest available chunk has an open source (ie if the deleted vector was in the last ~1024 inserted vectors).
We should make it so that when a chunk is full, we check previous chunks to see if there are empty slots, and insert there instead.
Doing this in a performant way will be difficult, it may make INSERTs on large tables less performant. Maybe a vec_popcount() SQL functions could make this easier? idk
The text was updated successfully, but these errors were encountered:
If you delete a row from a
vec0
table, then the vector's space in the chunk will be "empty". If you insert a new row right after,sqlite-vec
will only re-claim the space if the latest available chunk has an open source (ie if the deleted vector was in the last ~1024 inserted vectors).We should make it so that when a chunk is full, we check previous chunks to see if there are empty slots, and insert there instead.
Doing this in a performant way will be difficult, it may make INSERTs on large tables less performant. Maybe a
vec_popcount()
SQL functions could make this easier? idkThe text was updated successfully, but these errors were encountered: