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