-
Notifications
You must be signed in to change notification settings - Fork 53
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* wip reset * Use lantern_slot_t for lantern usage * Update WAL version and validate_index strategy to new neighbor length * Fix test regressions caused by neighbor id length change * Rename lantern_slot_t to ldb_lantern_slot_union_t * Move to using an anonymous namespace in usearch_storage.cpp * Pass an item_pointers array to populate rewrite info during index build * Add API to interface with usearch node neighbors * Implement node neighbor rewriting logic (rewriting disabled for now) * Use 64bit ID for node retriever * Update entry_slot after updating all graph neighbors. (last step for converting built index into new blockmap-less format) * WIP: fix all retrievers to assume itemPointerData neighbors * Fix remaining version handling info for scans * Rename HnswIndexTuple id to seqid * Pass slot externally to make inserts work * Add slot type scalar kind in usearch * remove blockmap test * Delete some of blockmap handling * Update regression tests assuming there is no blockmap in index structure * Delete a lot of the blockmap code * Remove continue_blockmap_initialization SQL interface * Add update test to 0.3.0 * Delete more unused code * Do not copy blockmap to scan retriever cache * Disable validate_index * Simplify node retrievers * Add usearch performance patches * Add perf installation instructions (tested on gcp) * Update binary file tests to the new format * in cmakefiles Add option to avoid omiting frame pointer and get rid of robin-map includes * Update Dockerfile.dev with postgres GUCs - set wal_level to logical - set shared_buffers - set listen_addresses to '*' so host can connect * Remove blockmap-related and failure-points tests * Add level distribution snippet * Remove remnants of backward compatible upgrade support * Add a note on handling of pq pages in deletes and WAL rewriting * Remove extra lines from update script * update usearch * remove failure point test * disable failure points by default * update usearch (uint48 hasher to work for index creation from pg) * Use unsigned long long in place of uint64 for pg<->c++ compat * Fix a similar compat issue that arrises with the last fix in gcc * Add 0.3.0 release to CMake (do not create release yet) * Disable all existing indexes so they can be safely reindexed * fix indent in usearch * fix update script for disabling indexes * remove disable_lantern_indexes from relocation * Switch to memcpy in all misaligned neighbor list manipulations * Update cost estimates * Remove level log stuff and make tests consistently pass on mac and linux it seems mac and linux generate random numbers somewhat differently and for some values of M, hnsw level distributions end up affecting overall index size. This commit addresses that * Remove unused members of the index header * Fix unaligned memory write * Add alignment of 2 for slot type * simplify matters and get rid of unaligned stack variable * Remove unused argument to wal_area_reset * Use uint32 cast for entry slot * debug sanitizer * do palloc zero to see why reading zero'th element might cause a panic * debug * Fix bug found by address sanitizer * Suppress unaligned warning and make slot type explicitly unaligned * suppress unknown pragma warnings and delete duplicate flag * Error out when inserting into a wal-incompatible index * suppress compiler warnings in clang * fix pragma formatting on mac
- Loading branch information
1 parent
cd7f187
commit 6309aab
Showing
43 changed files
with
463 additions
and
1,372 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
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
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 |
---|---|---|
@@ -0,0 +1,15 @@ | ||
WITH sub as ( | ||
SELECT indrelid as table_oid, indexrelid, amname | ||
FROM pg_class t | ||
JOIN pg_index ix ON t.oid = ix.indrelid | ||
JOIN pg_class i ON i.oid = ix.indexrelid | ||
JOIN pg_am a ON i.relam = a.oid | ||
JOIN pg_namespace n ON n.oid = i.relnamespace | ||
WHERE a.amname = 'lantern_hnsw' | ||
) | ||
UPDATE pg_index ix | ||
SET indisvalid = false, indisready = false | ||
FROM sub | ||
WHERE ix.indexrelid = sub.indexrelid; | ||
|
||
DROP FUNCTION IF EXISTS _lantern_internal.continue_blockmap_group_initialization; |
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
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
Oops, something went wrong.