Andrew Kane
491804d99f
Simplified CI
2024-02-05 22:59:32 -08:00
Andrew Kane
f43cd0ed98
Improved type [skip ci]
2024-02-05 19:38:52 -08:00
Andrew Kane
51df640961
Added instructions for pkg [skip ci]
2024-02-05 17:01:36 -08:00
Andrew Kane
2716a223a6
Fixed error with ANALYZE and vectors with different dimensions - fixes #451
2024-02-02 10:47:48 -08:00
Andrew Kane
3697043898
Added note about vacuuming - closes #450 [skip ci]
2024-01-31 14:35:27 -08:00
Andrew Kane
c22740962c
Added note for Docker [skip ci]
2024-01-29 15:33:29 -08:00
Andrew Kane
a55ecf3281
Updated changelog [skip ci]
2024-01-29 11:20:33 -08:00
Andrew Kane
fecdd5794e
Updated readme [skip ci]
2024-01-29 10:57:54 -08:00
Andrew Kane
281d4fcf60
Version bump to 0.6.0 [skip ci]
v0.6.0
2024-01-29 10:54:44 -08:00
Andrew Kane
5b43aaad5a
Removed unneeded item ids
2024-01-28 23:14:52 -08:00
Andrew Kane
797ce8034c
Ran pgindent [skip ci]
2024-01-28 23:03:48 -08:00
Andrew Kane
cad9e22d9a
Updated variable name to be consistent with CreateGraphPages [skip ci]
2024-01-28 23:02:13 -08:00
Andrew Kane
a7d43904f7
Zero memory for each element
2024-01-28 23:00:39 -08:00
Andrew Kane
ded649891b
DRY HNSW tuple alloc size [skip ci]
2024-01-28 22:58:38 -08:00
Heikki Linnakangas
2d092016fc
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
86b31fdf96
Revert "Update neighbor tuples in-place for HNSW index build"
...
This reverts commit 270dd8189a .
2024-01-28 22:18:22 -08:00
Andrew Kane
5023269f0d
Updated changelog [skip ci]
2024-01-28 21:42:30 -08:00
Andrew Kane
642ee1f423
Improved function names
2024-01-28 21:00:12 -08:00
Andrew Kane
270dd8189a
Update neighbor tuples in-place for HNSW index build
2024-01-28 20:53:56 -08: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
Andrew Kane
e8e69278eb
Fixed test name [skip ci]
2024-01-27 21:18:49 -08:00
Andrew Kane
a4893d9d5f
Updated Postgres for Mac TAP tests on CI [skip ci]
2024-01-27 20:28:03 -08:00
Andrew Kane
10416b841f
Fixed uninitialized memory in scan->xs_recheck [skip ci]
2024-01-27 19:54:16 -08:00
Andrew Kane
d0f13d4e7f
Fixed possibly uninitialized memory in lists [skip ci]
2024-01-27 19:51:34 -08:00
Andrew Kane
705e71015f
Fixed uninitialized entry point level - fixes #439 and closes #440
2024-01-27 19:49:40 -08:00
Heikki Linnakangas
121f53b8ff
Remove unused heapRel arguments ( #443 )
2024-01-26 12:45:10 -08:00
Andrew Kane
8765e79ec2
Added note about max_parallel_maintenance_workers for HNSW [skip ci]
2024-01-25 13:32:35 -08:00
Andrew Kane
7fff6cd138
Moved Windows instructions [skip ci]
2024-01-25 02:11:21 -08:00
Heikki Linnakangas
571697fee7
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
f7eda7bd20
DRY neighbor array size [skip ci]
2024-01-24 17:54:33 -08:00
Andrew Kane
2260e13315
Condensed code [skip ci]
2024-01-24 16:20:00 -08:00
Andrew Kane
90e0a14bda
Moved allocating neighbor array to separate function [skip ci]
2024-01-24 16:17:34 -08:00
Andrew Kane
c816b5d0d1
Added note about --shm-size [skip ci]
2024-01-24 14:49:38 -08:00
Andrew Kane
b7b11cd8d5
Updated changelog [skip ci]
2024-01-24 14:31:41 -08:00
Andrew Kane
54c560c5cb
Removed previous upgrade notes [skip ci]
2024-01-24 14:25:58 -08:00
Andrew Kane
8a6c52f649
Moved Docker image to pgvector org and added tags for each supported version of Postgres [skip ci]
2024-01-24 14:18:44 -08:00
Heikki Linnakangas
c8be3a369b
Include generic_xlog.h directly in the .c files where it's needed
...
There are no references to anything that's in generic_xlog.h in the
header files.
2024-01-23 13:04:03 +02:00
Heikki Linnakangas
e5d1a6bdbb
Include reloptions.h directly in the .c files where it's needed
...
There are no references to anything that's in reloptions.h in the
header files. They need to include genam.h instead, which defines
IndexScanDesc.
2024-01-23 13:02:24 +02:00
Heikki Linnakangas
f31d708c2b
Add direct include to pairingheap.h in headers
...
ivfflat.h and hnsw.h have references to pairingheap_node, so they need
to include lib/pairingheap.h. It happened to work, because
lib/pairingheap.h was being included indirectly through
nodes/execnodes.h, but let's be explicit.
Remove the include from hnswbuild.c, because there are no calls to
pairingheap functions in that file. Instead, add the includes to
hnswutils.c and ivfscan.c, which do have such calls. They are not
strictly necessary again because of the indirect include from hnsw.h
and ivfflat.h, but let's be explicit while we're messing with this.
2024-01-23 12:53:22 +02:00
Heikki Linnakangas
a1b1c99ff7
Remove unused #include
...
pg_list.h has not been used in hnswbuild.c since commit cb4c770df2 .
2024-01-23 12:53:13 +02:00
Andrew Kane
3ace98add6
Changed storage for vector from extended to external
2024-01-23 00:00:12 -08:00
Andrew Kane
083008c21e
Added validation for GUC parameters
2024-01-22 23:55:30 -08:00
Andrew Kane
a1e526ef82
Dropped support for Postgres 11
2024-01-22 23:52:54 -08:00
Andrew Kane
8ffb3718a4
Leave more space for other shared memory
2024-01-22 23:31:55 -08:00
Andrew Kane
2d0f162bd7
Added support for in-memory parallel index builds for HNSW
...
Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi >
2024-01-22 23:19:10 -08:00
Heikki Linnakangas
4c6928bd3c
Remove HnswSpool
...
It was just used to pass heap/index relations to
HnswParallelScanAndInsert. I think it was copied from nbtsort.c, which
is more complicated. I don't think we need a struct like this.
(That said, I actually think that we should have a state object that
would hold fields like 'heap', 'index', 'procinfo', 'collation'
etc. Passing that object around would simplify the signatures of many
functions. But that's a different story).
2024-01-22 23:11:25 -08:00
Heikki Linnakangas
6fd05dd6f6
Remove unused 'scantuplesortstates' field
2024-01-22 23:08:20 -08:00
Andrew Kane
70106f5413
Use assert checking for scan-build [skip ci]
2024-01-22 23:05:49 -08:00
Andrew Kane
44b90be452
Made variable name consistent across functions [skip ci]
2024-01-22 19:02:33 -08:00