Andrew Kane
6c347b7f3e
Removed unused functions
2023-12-19 19:47:03 -05:00
Andrew Kane
3e628986a1
Removed metapage logging [skip ci]
2023-12-19 17:23:35 -05:00
Andrew Kane
858a89575b
Removed metapage [skip ci]
2023-12-19 17:20:55 -05:00
Andrew Kane
d81c1c9de0
Improved code [skip ci]
2023-12-19 17:01:11 -05:00
Andrew Kane
4988d04338
Improved code [skip ci]
2023-12-19 17:00:14 -05:00
Andrew Kane
c640def56c
Use forkNum [skip ci]
2023-12-19 13:58:58 -05:00
Andrew Kane
87fe23d9ec
Added code for Postgres < 11.8
2023-12-19 13:55:56 -05:00
Andrew Kane
041f939bde
Fixed warnings
2023-12-19 12:01:09 -05:00
Andrew Kane
5d7bf9509d
Reduced WAL generation for HNSW index builds
2023-12-19 11:49:40 -05:00
Andrew Kane
921427ee03
Replace dynahash hash table in HNSW with simplehash for speed - #378
...
Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi >
2023-12-17 11:24:13 -05:00
Andrew Kane
a59aa02dd9
Only show message if flushed due to memory [skip ci]
2023-12-04 15:29:23 -08:00
Andrew Kane
2fef497b7e
Fixed check
2023-12-04 15:22:12 -08:00
Andrew Kane
a156f6c7ae
Fixed invalid memory alloc request size error with HNSW - fixes #43
2023-12-04 15:00:32 -08:00
Andrew Kane
c653ac524f
Simplified code [skip ci]
2023-12-04 12:19:38 -08:00
Andrew Kane
bf0d56e78e
Updated comment [skip ci]
2023-12-03 13:09:57 -08:00
Japin Li
4549e8aeb1
Fix coredump about HnswFreeElement() ( #357 )
...
The HnswInitElement() allocate an element with not initialize value
filed, which may has garbage that lead HnswFreeElement() free an
invalid pointer.
2023-11-15 16:19:59 -08:00
Andrew Kane
3263b350f5
Updated HnswLoadElementFromTuple to be less vector-specific
2023-11-11 21:14:12 -08:00
Andrew Kane
dfee5d4045
Added support for on-disk parallel index builds for HNSW
2023-11-11 19:29:45 -08:00
Andrew Kane
69a2ce0d43
Use datumIsEqual to compare
2023-11-10 10:46:48 -08:00
Andrew Kane
c5e8c46b80
Switched from VECTOR_SIZE to VARSIZE_ANY [skip ci]
2023-11-09 19:41:38 -08:00
Andrew Kane
94f7304ccd
Keep vector for now to be overly cautious about packing [skip ci]
2023-11-09 18:43:55 -08:00
Andrew Kane
d078db3d25
Switched HnswElementTuple to generic data and zero full section
2023-11-09 18:28:25 -08:00
Andrew Kane
fbb904ae2f
Use pointer for VARSIZE_ANY
2023-11-09 17:50:28 -08:00
Andrew Kane
3cf6f62900
Switched to datum for HnswElement
2023-11-09 17:35:39 -08:00
Andrew Kane
2a69e22ca4
Switched from VECTOR_SIZE to VARSIZE_ANY where possible (less vector-specific)
2023-11-09 17:16:43 -08:00
Andrew Kane
84e073888c
Removed vector-specific code from HNSW_ELEMENT_TUPLE_SIZE [skip ci]
2023-11-09 16:57:01 -08:00
Andrew Kane
81a62d55d1
Switched from HNSW_ELEMENT_TUPLE_SIZE to ItemIdGetLength where possible (less vector-specific)
2023-11-09 16:32:00 -08:00
Andrew Kane
3f3463bde5
Improved memory calculation for HNSW and removed vector-specific code
2023-11-09 16:21:26 -08:00
Andrew Kane
a01a72d812
Updated comment [skip ci]
2023-11-05 08:42:06 -08:00
Andrew Kane
0c2fc18a80
Updated comment [skip ci]
2023-11-05 08:40:21 -08:00
Andrew Kane
e860042d3c
Improved variable name [skip ci]
2023-11-05 08:35:54 -08:00
Andrew Kane
8e507f3bf5
Free remaining allocation from deconstruct_array - #332
2023-11-02 21:20:21 -07:00
Andrew Kane
e115773a55
Removed unneeded allocation
2023-11-02 21:16:06 -07:00
Andrew Kane
b5b912906b
Added check for MVCC-compliant snapshot and removed marking tuples as dead for IVFFlat index scans - closes #260
2023-10-10 17:28:48 -07:00
Andrew Kane
4b5db94307
Disable closer caching for new elements for now
2023-10-06 14:27:09 -07:00
Andrew Kane
65e70326b8
Updated comment [skip ci]
2023-10-06 14:07:35 -07:00
Andrew Kane
71641ed84e
Updated comment [skip ci]
2023-10-06 13:58:07 -07:00
Andrew Kane
f3dba25036
Added comment [skip ci]
2023-10-06 13:56:25 -07:00
Andrew Kane
5588ba6410
Improved variable name [skip ci]
2023-10-06 13:46:19 -07:00
Andrew Kane
ec9fac5456
Improved closerSet logic
2023-10-06 13:39:55 -07:00
Andrew Kane
8085d3e538
Moved sorting logic into SelectNeighbors
2023-10-06 12:56:15 -07:00
Andrew Kane
cae162ffc6
Ensure order is deterministic for SelectNeighbors closer caching
2023-10-06 12:26:53 -07:00
Andrew Kane
62482e3760
Use e for consistency
2023-10-05 16:15:13 -07:00
Heikki Linnakangas
c81302b835
Improve HNSW index build performance more ( #295 )
...
This takes the approach from commit a713e2acaa further. Once we have
remove a candidate from the "closer" set, we still don't need to
recalculate everything that follows. Any candidates that were in the
closer set before still only need to be compared with any new
candidates that we have added.
2023-10-05 16:04:50 -07:00
Andrew Kane
a713e2acaa
Improved performance of HNSW index builds - closes #292
...
Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi >
2023-10-05 13:21:26 -07:00
Andrew Kane
6e1312ddbe
DRY max size
2023-10-04 21:43:34 -07:00
Andrew Kane
4ef5bca275
Use BLCKSZ for consistency
2023-10-04 21:37:55 -07:00
Xiaoran Wang
1ecf6ada76
Include ItemIdData when computing the maxSize for the data in a page ( #274 )
...
As the data is aligned, for hnsw, the combined size won't be in the range
(8156 (maxSize exlucding `ItemIdData`), 8160]. So even if the
ItemIdData is not included in the maxSize, it works well now, but I
think it's better to make it correct.
2023-10-04 21:26:46 -07:00
Andrew Kane
564a3d45fc
Added check for MVCC-compliant snapshot for HNSW index scans - closes #281
2023-10-04 20:14:50 -07:00
Andrew Kane
8d7abb6590
Revert "Fixed locking for index scans for HNSW - #256 "
...
This reverts commit d032726976 .
2023-09-26 23:00:14 -07:00