Commit Graph
1013 Commits
Author SHA1 Message Date
Andrew Kane ae829a5b48 Fixed closer caching for Postgres 12 2024-02-28 15:44:38 -08:00
Andrew Kane 62baab1987 Specify Postgres version for Valgrind [skip ci] 2024-02-28 14:16:48 -08:00
Andrew Kane 403e11df05 Enable assertions on CI 2024-02-28 14:15:34 -08:00
Andrew Kane f8bdb41964 Avoid base address for relptr for Postgres < 14.5 2024-02-28 14:10:14 -08:00
Andrew Kane d99252fec5 Revert "Replaced pairing heap with array in SelectNeighbors - closes #447"
This reverts commit 96764dbf79.
2024-02-28 11:33:14 -08:00
Andrew KaneandHeikki Linnakangas 96764dbf79 Replaced pairing heap with array in SelectNeighbors - closes #447
Co-authored-by: Heikki Linnakangas <[email protected]>
2024-02-28 11:25:12 -08:00
Andrew Kane 09913a6af5 Updated changelog [skip ci] 2024-02-20 16:38:05 -08:00
Andrew Kane 01ba9934c2 Revert "Remove offsethash"
This reverts commit e3b904587a.
2024-02-20 16:07:32 -08:00
Andrew Kane a37413b5f4 Revert "Eliminate a few HnswPtrAccess invocations"
This reverts commit dac698ac76.
2024-02-20 16:07:21 -08:00
Heikki Linnakangas dac698ac76 Eliminate a few HnswPtrAccess invocations
HnswPtrAccess() is pretty cheap, but it stills seems worthwhile to
avoid repeated calls in the hot paths when it can be easily avoided.
2024-02-19 14:13:18 +02:00
Heikki Linnakangas e3b904587a Remove offsethash
The original motivation was to eliminate the superfluous HnswPtrAccess
call from AddToVisited. The caller has to call HnswPtrAccess() anyway,
so it makes sense to pass the HnswElement rather than HnswElementPtr
to AddToVisited(). But then I realized that we can use the
pointer-variant even with shared memory, because the visited-hash is
backend-private, and the addresses where the elements are mapped to in
shared memory are stable within the backend.
2024-02-19 14:12:26 +02:00
Andrew Kane 8a4efc951a Fixed crash with shared_preload_libraries - fixes #460 2024-02-14 17:13:30 -08:00
Andrew Kane 8cd0900351 Simplified Docker tasks [skip ci] 2024-02-07 12:03:33 -08:00
Andrew Kane 9253e7f433 Added Valgrind to CI 2024-02-07 09:43:01 -08:00
Andrew Kane 8c970d922d Updated port name [skip ci] 2024-02-06 12:43:20 -08:00
Andrew Kane 415c286b6d Improved type [skip ci] 2024-02-05 19:38:52 -08:00
Andrew Kane a0463f1dd5 Added instructions for pkg [skip ci] 2024-02-05 17:01:36 -08:00
Andrew Kane dc3923c3a2 Fixed error with ANALYZE and vectors with different dimensions - fixes #451 2024-02-02 10:47:48 -08:00
Andrew Kane 38825c5a98 Added note about vacuuming - closes #450 [skip ci] 2024-01-31 14:35:27 -08:00
Andrew Kane 90f8fe6f0f Added note for Docker [skip ci] 2024-01-29 15:33:29 -08:00
Andrew Kane 60fb458cbf Updated changelog [skip ci] 2024-01-29 11:20:33 -08:00
Andrew Kane d80f3d8ad1 Updated readme [skip ci] 2024-01-29 10:57:54 -08:00
Andrew Kane 34c5915248 Version bump to 0.6.0 [skip ci] v0.6.0 2024-01-29 10:54:44 -08:00
Andrew Kane c5dcebff39 Removed unneeded item ids 2024-01-28 23:14:52 -08:00
Andrew Kane 94d29ba178 Ran pgindent [skip ci] 2024-01-28 23:03:48 -08:00
Andrew Kane f61ca86ba9 Updated variable name to be consistent with CreateGraphPages [skip ci] 2024-01-28 23:02:13 -08:00
Andrew Kane 04d861fb3e Zero memory for each element 2024-01-28 23:00:39 -08:00
Andrew Kane d4d42401b2 DRY HNSW tuple alloc size [skip ci] 2024-01-28 22:58:38 -08:00
Heikki LinnakangasandGitHub 0fb2113acc Remove unnecessary PageIndexTupleOverwrite calls that caused UB (#438)
These places called PageIndexTupleOverwrite(), with the new tuple
pointing directly to the original page. The PageIndexTupleOverwrite()
call is unnecessary in these cases, as we have already modified the
tuple on the page directly. Moreover, PageIndexTupleOverWrite() will
call memcpy with same src and dst arguments, which is undefined
behavior.

It's OK to modify the pages on disk directly, and we don't need
critical sections, because we either use the generic xlog functions
which create a temporary copy of the page, or we are building a new
index so if we crash the whole index is invisible and will be dropped
anyway.
2024-01-28 22:52:56 -08:00
Andrew Kane 0646799583 Revert "Update neighbor tuples in-place for HNSW index build"
This reverts commit d3d425f429.
2024-01-28 22:18:22 -08:00
Andrew Kane 60a8f53b7e Updated changelog [skip ci] 2024-01-28 21:42:30 -08:00
Andrew Kane f0cdc6364b Improved function names 2024-01-28 21:00:12 -08:00
Andrew Kane d3d425f429 Update neighbor tuples in-place for HNSW index build 2024-01-28 20:53:56 -08:00
Andrew Kane 7cf767add7 Fixed Valgrind check for HNSW in-memory, parallel index builds - closes #441 2024-01-28 16:19:32 -08:00
Andrew Kane feee79486d Removed checking neighbors for cached distance 2024-01-28 02:11:24 -08:00
Andrew Kane 8080074181 Fixed test name [skip ci] 2024-01-27 21:18:49 -08:00
Andrew Kane a587001971 Updated Postgres for Mac TAP tests on CI [skip ci] 2024-01-27 20:28:03 -08:00
Andrew Kane 9859ea168e Fixed uninitialized memory in scan->xs_recheck [skip ci] 2024-01-27 19:54:16 -08:00
Andrew Kane 614368f543 Fixed possibly uninitialized memory in lists [skip ci] 2024-01-27 19:51:34 -08:00
Andrew Kane 1913881a2a Fixed uninitialized entry point level - fixes #439 and closes #440 2024-01-27 19:49:40 -08:00
Heikki LinnakangasandGitHub a1c670ffcc Remove unused heapRel arguments (#443) 2024-01-26 12:45:10 -08:00
Andrew Kane ddf1709b52 Added note about max_parallel_maintenance_workers for HNSW [skip ci] 2024-01-25 13:32:35 -08:00
Andrew Kane 6d69d621e6 Moved Windows instructions [skip ci] 2024-01-25 02:11:21 -08:00
Heikki LinnakangasandGitHub 74199312e8 Remove unnecessary UpdateProgress() wrappers (#433)
Now that we require PostgreSQL v12, we can use
pgstat_progress_update_param directly.
2024-01-25 00:07:57 -08:00
Andrew Kane 536239762d DRY neighbor array size [skip ci] 2024-01-24 17:54:33 -08:00
Andrew Kane 2b2cee365c Condensed code [skip ci] 2024-01-24 16:20:00 -08:00
Andrew Kane ed457dafd5 Moved allocating neighbor array to separate function [skip ci] 2024-01-24 16:17:34 -08:00
Andrew Kane 08af81268d Added note about --shm-size [skip ci] 2024-01-24 14:49:38 -08:00
Andrew Kane d99b9e492f Updated changelog [skip ci] 2024-01-24 14:31:41 -08:00
Andrew Kane 9c06814393 Removed previous upgrade notes [skip ci] 2024-01-24 14:25:58 -08:00