Commit graph

396 commits

Author SHA1 Message Date
Alex Garcia
4418a341e0 Add GitHub Actions CI workflow for fuzz testing
Runs on push to main, nightly at 2am UTC, and manual dispatch.
Linux (ubuntu-22.04) and macOS (macos-14) are fully supported.
Windows (windows-2022) is best-effort with continue-on-error.
Crash artifacts are uploaded on failure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:34:30 -08:00
Alex Garcia
a61d45183b Add comprehensive fuzz testing infrastructure with 6 new targets
- Fix numpy.c: tautology bug (|| → &&), infinite loop, and missing
  sqlite3_vec_numpy_init call
- Replace tests/fuzz/Makefile: auto-detect clang, add UBSAN, macOS
  ld_classic workaround, generic build rules for all 10 targets
- Add 6 new fuzz targets: shadow-corrupt (corrupted shadow tables),
  vec0-operations (INSERT/DELETE/query sequences), scalar-functions
  (all 18 SQL scalar functions), vec0-create-full (CREATE + lifecycle),
  metadata-columns (metadata/auxiliary columns), vec-each (vec_each TVF)
- Add seed corpora for shadow-corrupt, vec0-operations, exec, and json
- Add fuzz-build/fuzz-quick/fuzz-long targets to root Makefile

All 10 targets verified building and running on macOS ARM (Apple Silicon).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:33:05 -08:00
Alex Garcia
9a6bf96b92 Extract shared Python test utilities into tests/helpers.py
Deduplicates exec(), vec0_shadow_table_contents(), _f32(), _i64(), and
_int8() helpers that were copied across six test files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:05:21 -08:00
Alex Garcia
206fbc2bdd Add Python regression tests for existing insert/delete paths
Baseline tests protecting non-DiskANN chunk-based insert and delete
behavior: vector round-trips, auto rowids, text primary keys, delete
validity, reinsert after delete, dimension/type validation, and v_info
snapshot.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:12:01 -08:00
Alex Garcia
0bca960e9d Add LPAREN, RPAREN, COMMA token types to the scanner
Extends the vec0 tokenizer to recognize '(', ')', and ',' as
single-character tokens, preparing for DiskANN index option parsing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:07:57 -08:00
Alex Garcia
aab9b37de2 Add unit tests for distance functions (L2, cosine, hamming)
Add test-only wrappers behind SQLITE_VEC_TEST compile flag to expose
static distance functions for unit testing. Includes tests for
distance_l2_sqr_float (4 cases), distance_cosine_float (3 cases),
and distance_hamming (4 cases). Print active SIMD flags at test start.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:04:30 -08:00
Alex Garcia
79d5818015 Add regression tests for vec0_parse_vector_column edge cases
Add SQLITE_EMPTY tests for non-vector column inputs (primary key,
partition key, unknown types) and SQLITE_ERROR tests for zero
dimensions and empty brackets. Tighten existing error assertions
from rc != SQLITE_OK to exact expected return codes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 17:50:31 -08:00
Alex Garcia
0659d8848d Update test-unit.c and unittest.rs functions to enforce pre-existing behavior
- Expand sqlite-vec-internal.h with scanner/tokenizer types, vector column
  definition types, and parser function declarations
- Fix min_idx declaration to match actual C signature (add candidates,
  bTaken, k_used params)
- Compile test-unit with -DSQLITE_CORE and link vendor/sqlite3.c so
  sqlite3 API functions (sqlite3_strnicmp, sqlite3_mprintf, etc.) resolve
- Add unit tests for vec0_token_next, Vec0Scanner, and
  vec0_parse_vector_column
- Fix Rust build.rs to define SQLITE_CORE and compile vendor/sqlite3.c
- Fix Rust min_idx FFI signature and wrapper to match actual C function

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 17:46:11 -08:00
Alex Garcia
0eb855ca67 gha: bump site runner 2026-03-01 21:43:43 -08:00
Alex Garcia
563a3e60f8 bump deploy pages 2026-02-13 10:04:59 -08:00
Alex Garcia
ce7b53e849 v0.1.7-alpha.10 2026-02-13 09:54:41 -08:00
Alex Garcia
1953d776a6 gha: linux-arm setup uv 2026-02-13 09:53:47 -08:00
Alex Garcia
5674c14b0a gha: update linux arm runner 2026-02-13 09:52:06 -08:00
Alex Garcia
fef78ccb69 v0.1.7-alpha.9 2026-02-13 09:46:47 -08:00
Alex Garcia
5f0e6e506f gha: use new sqlite-dist workflow 2026-02-13 09:46:40 -08:00
Alex Garcia
6e93ae0383 v0.1.7-alpha.8 2026-02-13 08:47:57 -08:00
Alex Garcia
f27a3d3432 gha: npm publish --tag bruh 2026-02-13 08:47:49 -08:00
Alex Garcia
15f0e1a26e v0.1.7-alpha.7 2026-02-13 08:42:22 -08:00
Alex Garcia
692ac21581 gha: npm publish requires --tag 2026-02-13 08:42:13 -08:00
Alex Garcia
58603cfe0d v0.1.7-alpha.6 2026-02-13 08:21:58 -08:00
Alex Garcia
c2f4d11b94 gha: bump node version? 2026-02-13 08:21:54 -08:00
Alex Garcia
96873a3ba0 v0.1.7-alpha.5 2026-02-13 08:16:08 -08:00
Alex Garcia
831f4acbfd gha: OIDC unset NODE_AUTH_TOKEN 2026-02-13 08:16:02 -08:00
Alex Garcia
2d8636c512 v0.1.7-alpha.4 2026-02-13 08:08:08 -08:00
Alex Garcia
9333e62bdc npm oidc 2026-02-13 08:07:55 -08:00
Alex Garcia
6bf347fbba release env 2026-02-13 08:04:03 -08:00
Alex Garcia
90920142da v0.1.7-alpha.3 2026-02-13 07:22:30 -08:00
Alex Garcia
aa2c61091e release script updates 2026-02-13 07:21:18 -08:00
Alex Garcia
681f9028af --managed-python, fix flakey tests 2026-02-13 07:08:48 -08:00
Alex Garcia
8bc206fa0b test: drop vec_xyz if it exists 2026-02-13 07:05:39 -08:00
Alex Garcia
d9020b7ded test: shadow snapshot update 2026-02-13 06:59:18 -08:00
Alex Garcia
f8db17fded fix test tale ordering 2026-02-13 06:55:49 -08:00
Alex Garcia
0dd6827f31 uv directory fix 2026-02-13 06:52:51 -08:00
Alex Garcia
1cbe22c78b build fixes, uv for testing 2026-02-13 06:48:07 -08:00
Alex Garcia
fb31b780f5 Merge branch 'main' of github.com:asg017/sqlite-vec 2026-02-13 06:47:20 -08:00
Alex Garcia
611ca631ea
Support constaints on distance column in KNN queries, for pagination and range queries (#166)
* Initial pass, needs tests+docs

* old: test-knn-constraints

* cleanup
2026-02-13 06:38:26 -08:00
Alex Garcia
3a3aefc672 doc improve 2025-01-31 16:46:42 -08:00
Alex Garcia
a2dd24f27e docs 2025-01-24 13:30:18 -08:00
Alex Garcia
dbc5098114 node:sqlite sample 2025-01-24 13:30:14 -08:00
Alex Garcia
d1d1ed7a57 sponsor update 2025-01-24 12:00:41 -08:00
Alex Garcia
194789c9ff Merge branch 'main' of github.com:asg017/sqlite-vec 2025-01-23 19:11:35 -08:00
Alex Yang
d8b3684dd7
update node.js doc (#162) 2025-01-23 19:10:43 -08:00
Alex Garcia
5dd4a97991 compiling doc 2025-01-23 19:08:00 -08:00
Alex Garcia
8a125bcbd8 fix latest install.sh URL 2025-01-23 18:41:40 -08:00
Alex Garcia
fd80b7b985 dark mode fixes 2025-01-21 13:16:29 -08:00
Alex Garcia
5e3147f0f0 fix inline 2025-01-21 13:11:01 -08:00
Alex Garcia
616181804b sponsor fixes 2025-01-21 13:07:00 -08:00
Alex Garcia
aa9f049a8b README + new sponsor! 2025-01-18 10:15:09 -08:00
punkish
f93bc5b358
Update vec0.md (#177)
fixed a lot of typos and cleaned up the language (thanks for a great extension)
2025-01-18 09:23:23 -08:00
Alex Garcia
bdc336d1cf v0.1.7-alpha.2 2025-01-10 14:54:13 -08:00