-
Notifications
You must be signed in to change notification settings - Fork 151
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* initial pass at PARTITION KEY support. * Initial pass, allow auxiliary columns on vec0 virtual tables * update TODO * Initial pass at metadata filtering * unit tests * gha this PR branch * fixup tests * doc internal * fix tests, KNN/rowids in * define SQLITE_INDEX_CONSTRAINT_OFFSET * whoops * update tests, syrupy, use uv * un ignore pyproject.toml * dot * tests/ * type error? * win: .exe, update error name * try fix macos python, paren around expr? * win bash? * dbg :( * explicit error * op * dbg win * win ./tests/.venv/Scripts/python.exe * block UPDATEs on partition key values for now * test this branch * accidentally removved "partition key type mistmatch" block during merge * typo ugh * bruv * start aux snapshots * drop aux shadow table on destroy * enforce column types * block WHERE constraints on auxiliary columns in KNN queries * support delete * support UPDATE on auxiliary columns * test this PR * dont inline that * test-metadata.py * memzero text buffer * stress test * more snpashot tests * rm double/int32, just float/int64 * finish type checking * long text support * DELETE support * UPDATE support * fix snapshot names * drop not-used in eqp * small fixes * boolean comparison handling * ensure error is raised when long string constraint * new version string for beta builds * typo whoops * ann-filtering-benchmark directory * test-case * updates * fix aux column error when using non-default rowid values, needs test * refactor some text knn filtering * rowids blob read only on text metadata filters * refactor * add failing test causes for non eq text knn * text knn NE * test cases diff * GT * text knn GT/GE fixes * text knn LT/LE * clean * vtab_in handling * unblock aux failures for now * guard sqlite3_vtab_in * else in guard? * fixes and tests * add broken shadow table test * rename _metadata_chunksNN shadown table to _metadatachunksNN, for proper shadowName detection * _metadata_text_NN shadow tables to _metadatatextNN * SQLITE_VEC_VERSION_MAJOR SQLITE_VEC_VERSION_MINOR and SQLITE_VEC_VERSION_PATCH in sqlite-vec.h * _info shadow table * forgot to update aux snapshot? * fix aux tests
- Loading branch information
Showing
21 changed files
with
7,366 additions
and
110 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,6 +5,7 @@ on: | |
- main | ||
- partition-by | ||
- auxiliary | ||
- metadata-filtering | ||
permissions: | ||
contents: read | ||
jobs: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,3 +26,8 @@ sqlite-vec.h | |
tmp/ | ||
|
||
poetry.lock | ||
|
||
*.jsonl | ||
|
||
memstat.c | ||
memstat.* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,17 @@ | ||
# partition | ||
- [ ] add `xyz_info` shadow table with version etc. | ||
|
||
- [ ] UPDATE on partition key values | ||
- remove previous row from chunk, insert into new one? | ||
- [ ] properly sqlite3_vtab_nochange / sqlite3_value_nochange handling | ||
|
||
# auxiliary columns | ||
|
||
- later: | ||
- NOT NULL? | ||
- perf: INSERT stmt should be cached on vec0_vtab | ||
- perf: LEFT JOIN aux table to rowids query in vec0_cursor for rowid/point | ||
stmts, to avoid N lookup queries | ||
- later | ||
- [ ] partition: UPDATE support | ||
- [ ] skip invalid validity entries in knn filter? | ||
- [ ] nulls in metadata | ||
- [ ] partition `x in (...)` handling | ||
- [ ] blobs/date/datetime | ||
- [ ] uuid/ulid perf | ||
- [ ] Aux columns: `NOT NULL` constraint | ||
- [ ] Metadata columns: `NOT NULL` constraint | ||
- [ ] Partiion key: `NOT NULL` constraint | ||
- [ ] dictionary encoding? | ||
- [ ] properly sqlite3_vtab_nochange / sqlite3_value_nochange handling | ||
- [ ] perf | ||
- [ ] aux: cache INSERT | ||
- [ ] aux: LEFT JOIN on `_rowids` queries to avoid N lookup queries |
Oops, something went wrong.