Commit Graph

72 Commits

Author SHA1 Message Date
Andrew Kane
c91fc7e0f7 Changed VectorArrayGet and VectorArraySet to functions [skip ci] 2024-04-25 17:27:10 -07:00
Andrew Kane
ebc76114ad Fixed item size [skip ci] 2024-04-25 14:03:42 -07:00
Andrew Kane
5dec500879 Reduced support functions for IVFFlat - #527 2024-04-25 13:56:20 -07:00
Andrew Kane
2bf1175ab0 Removed unused fields from IvfflatTypeInfo [skip ci] 2024-04-25 12:36:15 -07:00
Andrew Kane
ec640f3b57 Switched to static const for IVFFlat type info 2024-04-25 12:30:49 -07:00
Andrew Kane
96fdf63787 Improved function name [skip ci] 2024-04-25 12:05:15 -07:00
Andrew Kane
e9c3c42e1c Reduced support functions for ivfflat - #527 2024-04-25 11:49:48 -07:00
Andrew Kane
8f00d679d6 Removed type-specific code from IVFFlat - #527 2024-04-24 22:19:53 -07:00
Andrew Kane
8b6eab25a3 Moved IvfflatGetType [skip ci] 2024-04-24 15:34:10 -07:00
Andrew Kane
69c3e719f7 Added support functions for max dimensions for ivfflat 2024-04-24 15:27:10 -07:00
Andrew Kane
ad3f811fa3 Use VARSIZE_ANY instead of itemsize to avoid uninitialized bytes 2024-04-23 23:52:02 -07:00
Andrew Kane
0da6213a60 Moved type lookup to support functions - #527 2024-04-23 13:02:47 -07:00
Andrew Kane
bd62561a19 Added support function for l2_normalize to ivfflat 2024-04-22 19:06:06 -07:00
Andrew Kane
2b77005610 Removed type-specific code from ivfscan 2024-04-22 18:12:18 -07:00
Andrew Kane
8b33a359ce Updated VECTOR_ARRAY_SIZE for alignment [skip ci] 2024-04-17 00:55:28 -07:00
Andrew Kane
04af15c9d6 Added support for bit to IVFFlat 2024-04-16 17:12:27 -07:00
Andrew Kane
8d9400bae3 Added support for halfvec to IVFFlat 2024-04-11 19:56:39 -07:00
Andrew Kane
1c26da6ef5 Mark type-specific code [skip ci] 2024-04-11 16:44:10 -07:00
Andrew Kane
17c2f9c0b6 Removed more vector-specific code from IVFFlat 2024-04-11 13:59:20 -07:00
Andrew Kane
d84fc303ee Removed vector-specific code from IVFFlat [skip ci] 2024-04-11 13:49:28 -07:00
Andrew Kane
4ff36af67e Added itemsize to VectorArray [skip ci] 2024-04-11 13:47:36 -07:00
Andrew Kane
5834b58c5a Moved VECTOR_SIZE out of IVFFLAT_LIST_SIZE [skip ci] 2024-04-11 09:43:35 -07:00
Andrew Kane
35d0fe88b9 Added IvfflatType [skip ci] 2024-04-03 16:40:27 -07:00
Andrew Kane
ba18942fcf Removed normvec from IVFFlat for simplicity (no difference in performance) 2024-03-27 16:41:17 -07: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
Andrew Kane
a1e526ef82 Dropped support for Postgres 11 2024-01-22 23:52:54 -08: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
bca50a03fa Use consistent variable name 2023-09-12 19:24:31 -07:00
Andrew Kane
bbbe1db72b Improved performance of index scans for IVFFlat after updates and deletes 2023-09-03 14:21:57 -07:00
Andrew Kane
b1f9519689 Get info from metapage to determine cost 2023-09-03 12:31:01 -07:00
Andrew Kane
db747e5aa0 Get lists from metapage 2023-09-03 10:34:44 -07:00
Andrew Kane
86c29b3bf0 Improved param code 2023-08-23 21:10:00 -07:00
Andrew Kane
e406b7f5ea Added comments [skip ci] 2023-08-23 21:03:07 -07:00
Andrew Kane
51d292c93d Added HNSW index type - #181 2023-08-08 16:42:47 -07:00
Andrew Kane
d13eb8563e Improved includes 2023-07-17 13:15:10 -07:00
Andrew Kane
c3394ace03 Removed unused variable from IvfflatUpdateList 2023-07-17 00:15:20 -07:00
Andrew Kane
6e8746277e Moved _PG_init 2023-07-16 20:03:34 -07:00
Andrew Kane
ad8df27fbb Changed sorting tuples indexing phase to assigning tuples [skip ci] 2023-07-16 18:46:45 -07:00
Andrew Kane
b6a822918f Added support for parallel index builds 2023-07-15 19:52:25 -07:00
Andrew Kane
7b0b6a7875 Increased max dimensions for vector from 1024 to 16000 and increased max dimensions for index from 1024 to 2000 2023-01-10 14:49:50 -08:00
Andrew Kane
b1237c7c4e Added separate dimensions limit for ivfflat indexes 2023-01-10 01:20:25 -08:00
Andrew Kane
ec800ef903 Use memory context for building index 2023-01-10 00:53:33 -08:00
Andrew Kane
e2b103a343 Updated version check [skip ci] 2023-01-09 15:54:44 -08:00
Andrew Kane
0f69cc789a Combined sampling table and performing k-means phases 2022-12-23 08:07:09 -08:00
Andrew Kane
1b5cb17f22 Removed code for Postgres < 10 2022-12-22 21:21:29 -08:00
Andrew Kane
9e2e726010 Improved macros [skip ci] 2022-12-08 15:42:22 -08:00
Andrew Kane
2621f9f947 Added experimental support for Windows (including auto-vectorization) - closes #49 2022-12-08 13:27:26 -08:00
Andrew Kane
9c9489e888 Removed nested FLEXIBLE_ARRAY_MEMBER for Windows 2022-12-07 19:53:48 -08:00
Andrew Kane
d376011087 Added VectorArrayFree 2022-12-07 19:45:44 -08:00