Andrew Kane
a6ab5d07c0
Fixed CI
2024-09-19 20:50:51 -07:00
Andrew Kane
b738ffecc1
Dropped support for Postgres 12
2024-09-19 18:13:54 -07:00
Heikki Linnakangas
7117513532
Add error codes to a few errors ( #657 )
...
With elog(), you get XX000 "internal_error", which sounds scary.
It's not self-evident what the right error codes for some of these
errors are, but I tried to use my best judgment.
2024-09-19 18:04:23 -07:00
Andrew Kane
8e1853fbf3
Improved variable name [skip ci]
2024-09-19 15:09:40 -07:00
Andrew Kane
f9d68a061a
Simplified HnswLoadUnvisitedFromMemory [skip ci]
2024-09-19 04:39:46 -07:00
Andrew Kane
4f8ab574c9
Simplified CountElement [skip ci]
2024-09-19 04:32:38 -07:00
Andrew Kane
a15806196e
Keep scan-build happy
2024-09-19 04:02:09 -07:00
Andrew Kane
5c9429a0f8
Reduced memory usage for HNSW index scans
2024-09-19 03:27:35 -07:00
Andrew Kane
16ca608f42
Updated AddToVisited to use HnswElementPtr
2024-09-19 02:41:20 -07:00
Andrew Kane
8dde14a736
Reduced memory usage for HNSW index scans
...
Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi >
2024-09-19 02:17:51 -07:00
Andrew Kane
d74d3065bc
Reduced allocations for pairing heap
2024-09-19 01:59:46 -07:00
Samuel Marks
4cede1a9c9
[src/hnswutils.c] Resolve 1 -Wmaybe-uninitialized ( #654 )
2024-08-22 19:51:16 -07:00
Andrew Kane
61870a0244
Fixed compilation warning with MSVC and Postgres 16 - fixes #598
...
Co-authored-by: Xing Guo <higuoxing@gmail.com >
2024-06-16 12:09:01 -07:00
Andrew Kane
ad7cad5ecd
Improved HnswSearchLayer code
2024-06-11 16:29:14 -07:00
Andrew Kane
9e91af5989
Added checks for invalid indexes - #591
2024-06-10 21:20:54 -07:00
Andrew Kane
49c1f13095
Improved performance of on-disk HNSW index builds - #570
2024-05-29 12:03:58 -07:00
Andrew Kane
1fdfff7349
Restored collation for consistency [skip ci]
2024-04-25 13:46:45 -07:00
Andrew Kane
38e365ed58
Restored HnswNormValue [skip ci]
2024-04-25 13:35:17 -07:00
Andrew Kane
58ec5296b0
Reduced support functions for HNSW - #527
2024-04-25 13:21:24 -07:00
Andrew Kane
47d5b2896e
Improved support functions for HNSW - #527
2024-04-25 13:00:40 -07:00
Andrew Kane
7ac0ac5a7f
Renamed functions [skip ci]
2024-04-24 15:00:36 -07:00
Andrew Kane
3eef1ff5c2
Removed type-specific code from HNSW [skip ci]
2024-04-24 14:53:45 -07:00
Andrew Kane
0da6213a60
Moved type lookup to support functions - #527
2024-04-23 13:02:47 -07:00
Andrew Kane
1994fd003a
Removed unneeded headers [skip ci]
2024-04-22 19:10:50 -07:00
Andrew Kane
f14c21748b
Added support function for l2_normalize [skip ci]
2024-04-22 18:36:47 -07:00
Andrew Kane
3df5655b30
Removed unneeded headers [skip ci]
2024-04-19 18:09:38 -07:00
Andrew Kane
5215c28923
Moved norm check to separate function
2024-04-15 15:32:08 -07:00
Andrew Kane
127ecdd650
Added l2_normalize function for sparsevec
2024-04-15 14:05:18 -07:00
Andrew Kane
10dacfd991
Updated indexes to use l2_normalize functions
2024-04-15 13:56:50 -07:00
Andrew Kane
f64abe3aae
Fixed performance of halfvec
2024-04-12 11:50:34 -07:00
Andrew Kane
85345e3f8c
Removed todo [skip ci]
2024-04-09 14:41:49 -07:00
Andrew Kane
3219a30290
Raise error for varbit
2024-04-03 21:30:43 -07:00
Andrew Kane
abac7a3f77
Added sparsevec type
2024-04-02 14:25:09 -07:00
Andrew Kane
32a502c838
Added halfvec type
2024-04-02 13:55:45 -07:00
Andrew Kane
835f010257
Fixed missing header for Postgres 12
2024-04-02 12:17:41 -07:00
Andrew Kane
c75634a03c
Fixed type check [skip ci]
2024-04-01 22:31:02 -07:00
Andrew Kane
2c48e3edc2
Mark type-specific code
2024-03-29 14:01:48 -07:00
Andrew Kane
64aa99aa31
Added todo [skip ci]
2024-03-29 10:56:24 -07:00
Andrew Kane
997fa167da
Removed vector-specific code from HNSW
2024-03-29 10:50:06 -07:00
Andrew Kane
8e59455c3c
Removed normvec for simplicity (no difference in performance)
2024-03-27 16:33:11 -07:00
Andrew Kane
91e3d2905f
Fixed sort function for Postgres 12
2024-02-28 16:26:41 -08:00
Andrew Kane
fe2406564f
Replaced pairing heap with array in SelectNeighbors - closes #447
...
Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi >
2024-02-28 15:47:26 -08:00
Andrew Kane
efed873a3e
Revert "Replaced pairing heap with array in SelectNeighbors - closes #447 "
...
This reverts commit 14b278dec9 .
2024-02-28 11:33:14 -08:00
Andrew Kane
14b278dec9
Replaced pairing heap with array in SelectNeighbors - closes #447
...
Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi >
2024-02-28 11:25:12 -08:00
Andrew Kane
ca10cbaa7d
Revert "Remove offsethash"
...
This reverts commit 1cbd204f52 .
2024-02-20 16:07:32 -08:00
Andrew Kane
eb29019a14
Revert "Eliminate a few HnswPtrAccess invocations"
...
This reverts commit 334c386a45 .
2024-02-20 16:07:21 -08:00
Heikki Linnakangas
334c386a45
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
1cbd204f52
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
ba2776850b
Fixed Valgrind check for HNSW in-memory, parallel index builds - closes #441
2024-01-28 16:19:32 -08:00
Andrew Kane
0cc883b944
Removed checking neighbors for cached distance
2024-01-28 02:11:24 -08:00