Andrew Kane
cbf3eb4fa5
Improved HNSW build and insert code
2024-01-13 10:07:42 -08:00
Andrew Kane
cacd389f6d
Improved pattern for duplicates
2024-01-12 14:30:13 -08:00
Andrew Kane
9b73b3d1a6
Reduced memory and allocations for heap TIDs - closes #385
2024-01-03 13:41:34 -05:00
Andrew Kane
9ab10aa674
Fixed CI
2023-12-20 16:29:13 -05:00
Andrew Kane
43e0b3d9d4
Mark buffer contents as dirty when not logging
2023-12-20 16:16:25 -05:00
Andrew Kane
e88a425c9b
Reduced WAL generation for HNSW index builds - thanks @hlinnaka
2023-12-19 20:37:32 -05: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
6e1312ddbe
DRY max size
2023-10-04 21:43:34 -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
jeff-davis
b247b688a8
No need to MarkBufferDirty(); GenericXLogFinish() does that. ( #265 )
2023-09-15 13:14:10 -07:00
Andrew Kane
d05d6ee83d
Get m from metapage
2023-09-03 01:35:21 -07:00
Andrew Kane
782a1051e3
Improved locking for HNSW vacuum
2023-08-21 16:06:32 -07:00
Andrew Kane
ca2be5be6e
Updated comment [skip ci]
2023-08-21 16:00:44 -07:00
Andrew Kane
0e1de45463
Improved locking code [skip ci]
2023-08-21 15:42:59 -07:00
Andrew Kane
d4fe67e8ee
Simplified locking for entry point
2023-08-21 03:22:23 -07:00
Andrew Kane
02f4e0ec8b
Revert "Added version to reduce stale reads and writes and prepare for optimistic locking"
...
This reverts commit ef1209eaf4 .
2023-08-21 02:47:27 -07:00
Andrew Kane
40a013a622
Wait for inserts to complete when vacuuming HNSW
2023-08-21 00:36:32 -07:00
Andrew Kane
ef1209eaf4
Added version to reduce stale reads and writes and prepare for optimistic locking
2023-08-20 17:08:20 -07:00
Andrew Kane
a03f6ae4bc
Added prefix to function name [skip ci]
2023-08-18 00:54:09 -07:00
Andrew Kane
ed20d98777
Check if item pointer is valid [skip ci]
2023-08-16 17:29:59 -07:00
Andrew Kane
b72a22b3c0
Fixed duplicate connections when repairing graph
2023-08-16 17:07:19 -07:00
Andrew Kane
8c5c0f791e
Improved HNSW insert code [skip ci]
2023-08-16 16:31:11 -07:00
Andrew Kane
c3bafc76e8
Only update entry point on inserts if level is greater
2023-08-15 12:31:06 -07:00
Andrew Kane
b421e76f29
Updated comment [skip ci]
2023-08-13 17:23:52 -07:00
Andrew Kane
ef480ff0b9
Added comment [skip ci]
2023-08-13 17:22:25 -07:00
Andrew Kane
e1d6654063
Revert "Improved HNSW vacuum performance"
...
This reverts commit c5b2f3ac8b .
2023-08-13 17:19:22 -07:00
Andrew Kane
c5b2f3ac8b
Improved HNSW vacuum performance
2023-08-13 16:50:36 -07:00
Andrew Kane
0f238b1fa9
Update neighbors when vacuuming
2023-08-13 16:17:30 -07:00
Andrew Kane
3d568ef6a1
Added comments [skip ci]
2023-08-11 21:12:18 -07:00
Andrew Kane
34e99593ab
Added comment [skip ci]
2023-08-11 17:02:50 -07:00
Andrew Kane
fc45231ef0
Improving naming [skip ci]
2023-08-11 14:56:46 -07:00
Andrew Kane
0191a90f9f
Updated comment [skip ci]
2023-08-11 14:37:56 -07:00
Andrew Kane
82e83bd3b1
Added comment [skip ci]
2023-08-11 14:29:24 -07:00
Andrew Kane
ae5de26893
Improved logic for updating HNSW insert page
2023-08-11 13:24:56 -07:00
Andrew Kane
daef83a112
Added comment [skip ci]
2023-08-11 13:03:38 -07:00
Andrew Kane
c9d82c6bdc
Revert "Improved insert logic [skip ci]"
...
This reverts commit 573a336f53 .
2023-08-11 12:52:58 -07:00
Andrew Kane
573a336f53
Improved insert logic [skip ci]
2023-08-11 12:39:22 -07:00
Andrew Kane
e7a913f361
Updated comment [skip ci]
2023-08-11 10:11:01 -07:00
Andrew Kane
6d15435003
Updated comment [skip ci]
2023-08-11 09:26:54 -07:00
Andrew Kane
12d15a9c41
Improved inserts for HNSW
2023-08-11 09:23:56 -07:00
Andrew Kane
9b967d592f
Improved concurrent inserts with empty entry point, part 2
2023-08-10 18:31:58 -07:00
Andrew Kane
27ccb5fa7a
Improved code [skip ci]
2023-08-10 15:23:26 -07:00
Andrew Kane
92e25e7733
Fixed warning
2023-08-10 15:10:07 -07:00
Andrew Kane
a18bea24b8
Improved concurrent inserts with low number of elements
2023-08-10 15:07:28 -07:00
Andrew Kane
483173460b
Improved concurrent inserts with empty entry point
2023-08-10 14:35:24 -07:00
Andrew Kane
da8a914106
Moved FindDuplicate [skip ci]
2023-08-10 13:44:21 -07:00