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 Linnakangas and GitHub
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 Linnakangas and GitHub
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 Linnakangas and GitHub
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
Andrew Kane
b502ed0ed5
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
1d3d77c541
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
717a4c170b
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
a29260d008
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
38ba8f7071
Remove unused #include
...
pg_list.h has not been used in hnswbuild.c since commit 0a7fd04b5c .
2024-01-23 12:53:13 +02:00
Andrew Kane
befa5f177b
Changed storage for vector from extended to external
2024-01-23 00:00:12 -08:00
Andrew Kane
145c3da384
Added validation for GUC parameters
2024-01-22 23:55:30 -08:00
Andrew Kane
43fb62b3d3
Dropped support for Postgres 11
2024-01-22 23:52:54 -08:00
Andrew Kane
03a72362a3
Leave more space for other shared memory
2024-01-22 23:31:55 -08:00
Andrew Kane and Heikki Linnakangas
c6654cdacc
Added support for in-memory parallel index builds for HNSW
...
Co-authored-by: Heikki Linnakangas <[email protected] >
2024-01-22 23:19:10 -08:00
Heikki Linnakangas and Andrew Kane
2f6629e115
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 and Andrew Kane
0cf80b137c
Remove unused 'scantuplesortstates' field
2024-01-22 23:08:20 -08:00
Andrew Kane
daed87dd7f
Use assert checking for scan-build [skip ci]
2024-01-22 23:05:49 -08:00
Andrew Kane
42b56ad8ee
Made variable name consistent across functions [skip ci]
2024-01-22 19:02:33 -08:00
Andrew Kane
496d54767f
Removed unused parameter [skip ci]
2024-01-22 19:00:45 -08:00
Andrew Kane
a733a29bca
Pass hash by reference
2024-01-22 18:34:40 -08:00
Andrew Kane
887095914a
Added analyze to filtering tests
2024-01-21 18:08:16 -08:00
Andrew Kane
c91db1edbd
Added filtering tests for like [skip ci]
2024-01-21 18:01:42 -08:00
Andrew Kane
10babde8e0
Fixed test logic [skip ci]
2024-01-21 16:07:44 -08:00
Andrew Kane
d83addfa8b
Added more filtering tests
2024-01-21 16:03:22 -08:00
Andrew Kane
67b609cc4e
Updated CI to Debian 12 [skip ci]
2024-01-21 12:40:55 -08:00
Andrew Kane
5cb73fbd65
Added test for filtering with IVFFlat
2024-01-20 21:38:40 -08:00