Andrew Kane
aa0b7ddf70
Removed code for pg12 [skip ci]
2024-09-20 15:19:50 -07:00
Andrew Kane
d499ead3c6
Removed todo [skip ci]
2024-09-20 15:19:23 -07:00
Andrew Kane
f20f5e28b8
Added versioning to tuples
2024-09-20 15:12:39 -07:00
Andrew Kane
3dde18a883
Fixed CI
2024-09-20 14:13:33 -07:00
Andrew Kane
0af1c7dd55
Merge branch 'master' into hnsw-streaming
2024-09-20 13:57:23 -07:00
Andrew Kane
f6ebc5d708
Fixed warning [skip ci]
2024-09-20 13:56:27 -07:00
Andrew Kane
a6ab5d07c0
Fixed CI
2024-09-19 20:50:51 -07:00
Andrew Kane
aa77346103
Improved code [skip ci]
2024-09-19 19:57:16 -07:00
Andrew Kane
b0da2d95d9
Fixed array_to_sparsevec on Windows [skip ci]
2024-09-19 19:52:16 -07:00
Andrew Kane
3fb05eb847
Added casts for arrays to sparsevec - #604
...
Co-authored-by: Narek Galstyan <narekg@berkeley.edu >
Co-authored-by: Di Qi <di@lantern.dev >
2024-09-19 19:17:05 -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
Jonathan S. Katz
05fb382031
Swap max costing values to align with upstream guidance ( #658 )
...
A feature targeted for PostgreSQL 18 (postgres/postgres@e2225346 )
that makes optimizations around disabled path nodes impacted pgvector
such that PostgreSQL would choose to perform an index scan when it
should have used a different scan (e.g. `SELECT count(*) FROM table`).
Per upstream guidance[1], the recommendation is to switch to using
`get_float8_infinity()`, which achieves the same behavior in backbranches,
and can be adapated to work with the new behavior introduced in PostgreSQL 18.
[1] https://www.postgresql.org/message-id/2281822.1724441531%40sss.pgh.pa.us
2024-09-19 18:01:59 -07:00
Andrew Kane
aaff3de409
Free memory [skip ci]
2024-09-19 15:32:22 -07:00
Andrew Kane
8e1853fbf3
Improved variable name [skip ci]
2024-09-19 15:09:40 -07:00
Andrew Kane
4d1c6ff955
Merge branch 'master' into hnsw-streaming
2024-09-19 14:52:34 -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
Andrew Kane
af1727775d
Added streaming option for HNSW [skip ci]
2024-09-18 14:55:58 -07:00
Andrew Kane
4af5a127e0
Revert "Improved cleanup for IVFFlat index scans [skip ci]"
...
This reverts commit da7d3959a3 .
2024-09-02 01:52:28 -07:00
Andrew Kane
e47984e616
Reset tuple sort for Postgres 12 [skip ci]
2024-08-24 22:10:26 -07:00
Andrew Kane
da7d3959a3
Improved cleanup for IVFFlat index scans [skip ci]
2024-08-24 21:59:44 -07:00
Andrew Kane
dadbbc3758
Renamed InitSortState to InitScanSortState [skip ci]
2024-08-24 21:53:15 -07:00
Andrew Kane
6af0a43d62
Added InitBuildSortState function [skip ci]
2024-08-24 21:50:31 -07:00
Andrew Kane
ffcb90d094
Added InitSortState function [skip ci]
2024-08-24 21:42:18 -07:00
Andrew Kane
8a312c3c8e
Added memory usage for IVFFlat index scans [skip ci]
2024-08-24 21:30:40 -07:00
Andrew Kane
5d86b177ab
Fixed -DIVFFLAT_MEMORY [skip ci]
2024-08-24 20:56:33 -07:00
Andrew Kane
ea99957fae
Added fields to IndexAmRoutine
2024-08-22 20:39:16 -07:00
Samuel Marks
4cede1a9c9
[src/hnswutils.c] Resolve 1 -Wmaybe-uninitialized ( #654 )
2024-08-22 19:51:16 -07:00
Andrew Kane
bb855e6cb4
Updated comment [skip ci]
2024-08-06 10:35:26 -07:00
Andrew Kane
57fb706242
Fixed locking for parallel HNSW index builds - fixes #635
2024-08-04 11:27:51 -07:00
Andrew Kane
6c692ef23f
Fixed compilation error with GCC 14 on i386 when SSE2 is not enabled
2024-07-27 06:20:27 -07:00
Andrew Kane
06d1fa1402
Added alignment check to ensure consistency with PageIndexTupleOverwrite
2024-07-19 15:50:24 -07:00
Andrew Kane
8c5a4bfb6c
Fixed failed to add index item error with sparsevec - fixes #625
2024-07-19 13:54:36 -07:00
Andrew Kane
8772c8de68
Fixed compilation error with FreeBSD ARM
2024-06-30 11:23:39 -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
2a8b9d689e
Moved check
2024-06-11 15:45:03 -07:00
Andrew Kane
18cd8a60c3
Updated comment [skip ci]
2024-06-10 22:02:40 -07:00
Andrew Kane
8c91a9f56a
Fixed initialization fork for IVFFlat indexes on unlogged tables - #591
2024-06-10 21:55:17 -07:00
Andrew Kane
9e91af5989
Added checks for invalid indexes - #591
2024-06-10 21:20:54 -07:00
Narek Galstyan
9dcf1bdc80
Fix init_fork WAL-logging on unlogged indexes ( #591 )
...
Currently pgvector does not create any WAL records for unlogged tables
Postgres assumes INIT_FORK of unlogged tables is persistent and uses it
to reset the table index to its default empty state after a server
crash.
This patch makes INIT_FORK of unlogged table WAL-tracked, which ensures
an unlogged table is usable after a crash-restart
2024-06-10 21:16:32 -07:00
Andrew Kane
49c1f13095
Improved performance of on-disk HNSW index builds - #570
2024-05-29 12:03:58 -07:00
Andrew Kane
69f49290fb
Fixed compilation warning with Clang < 14 - closes #546
2024-05-07 20:53:41 -07:00
Andrew Kane
ad91451266
Updated changelog and comment [skip ci]
2024-05-07 18:03:21 -07:00