I'm dumping some raw bytes into a vector column, but when sqlite-vss parses the BLOB into a vector, it checks if it starts with a v\x01 and if so, these two bytes are treated a header.
The problem is, I have some vectors actually do start with this header (as part of the data) and now it fails to parse the data correctly.
|
if (header != VECTOR_BLOB_HEADER_BYTE) { |
|
*pzErrMsg = "Blob not well-formatted vector blob"; |
|
return nullptr; |
|
} |
|
|
|
if (type != VECTOR_BLOB_HEADER_TYPE) { |
|
*pzErrMsg = "Blob type not right"; |
|
return nullptr; |
|
} |
One thing I can do is to prepend the header to every row, but that feels a really bad solution and it would be great if we can fix this.
I'm dumping some raw bytes into a
vectorcolumn, but when sqlite-vss parses the BLOB into a vector, it checks if it starts with av\x01and if so, these two bytes are treated a header.The problem is, I have some vectors actually do start with this header (as part of the data) and now it fails to parse the data correctly.
sqlite-vss/src/sqlite-vector.cpp
Lines 68 to 76 in 8fc4430
One thing I can do is to prepend the header to every row, but that feels a really bad solution and it would be great if we can fix this.