Commit Graph

48 Commits

Author SHA1 Message Date
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
Andrew Kane
de26e1e78a Perform version check earlier [skip ci] 2022-12-07 15:52:35 -08:00
Andrew Kane
8691d2ad53 Include port.h to fix buggy strtof on some platforms 2022-12-07 15:47:39 -08:00
Andrew Kane
573200c188 Use pg_prng_uint32 for Postgres 15 2022-12-07 15:28:11 -08:00
Andrew Kane
9ff5ceacca Dropped support for Postgres 9.6 [skip ci] 2022-10-14 13:44:13 -07:00
Andrew Kane
0a68b040fb DRY code 2022-07-31 21:56:44 -07:00
Andrew Kane
4ca264ba02 Added Davies-Bouldin index [skip ci] 2022-02-15 19:08:47 -08:00
Andrew Kane
88be03a3fa Removed unused code 2022-02-14 21:37:53 -08:00
Andrew Kane
c35e9f3b84 Removed comment [skip ci] 2022-02-13 03:53:30 -08:00
Andrew Kane
ce72ca8620 Switched to heap for nearest lists for performance 2022-02-13 02:59:27 -08:00
Andrew Kane
41d11c62d6 Fixed style [skip ci] 2022-02-12 22:14:57 -08:00
Andrew Kane
fa5e90585d Added inertia 2022-02-12 21:23:53 -08:00
Andrew Kane
2da27e2f01 Updated name [skip ci] 2022-02-11 15:52:59 -08:00
Andrew Kane
7dd934913d Improved output [skip ci] 2022-02-11 15:51:14 -08:00
Andrew Kane
9b46987e73 Added support for benchmarking 2022-02-11 15:48:13 -08:00
Andrew Kane
51dc18d5b7 Added compiler error for unsupported versions of Postgres 2022-02-06 15:15:46 -08:00
Andrew Kane
f4eaa3de1f Fixed issue with index not reusing space 2022-02-06 11:23:10 -08:00
Andrew Kane
fc1de9806a Added tuples_done and tuples_total 2022-01-29 23:15:46 -08:00
Andrew Kane
9ec174137f Added build phase progress for Postgres 12+ 2022-01-29 19:19:16 -08:00
Andrew Kane
8dde26920c Added support for Postgres 14 2021-09-30 16:28:25 -07:00
Andrew Kane
b8f3688e41 Fixed kmeans for inner product 2021-05-06 22:31:17 -07:00
Andrew Kane
67e317141b Fixed multiple definition error with GCC 10 - #4 2021-05-06 16:25:43 -07:00
Andrew Kane
a3d946f3bf Added src directory 2021-04-20 14:43:04 -07:00