Commit Graph

49 Commits

Author SHA1 Message Date
Andrew Kane
71f54cabf4 Use variable for sequential ratio [skip ci] 2024-09-28 19:29:53 -07:00
Andrew Kane
d423ac3230 Improved total cost for cost estimation 2024-09-28 19:10:49 -07:00
Andrew Kane
8e979ed377 Do not adjust index selectivity based on probes [skip ci] 2024-09-25 13:48:24 -07:00
Andrew Kane
b738ffecc1 Dropped support for Postgres 12 2024-09-19 18:13:54 -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
ea99957fae Added fields to IndexAmRoutine 2024-08-22 20:39:16 -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
5dec500879 Reduced support functions for IVFFlat - #527 2024-04-25 13:56:20 -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
69c3e719f7 Added support functions for max dimensions for ivfflat 2024-04-24 15:27:10 -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
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
Andrew Kane
083008c21e Added validation for GUC parameters 2024-01-22 23:55:30 -08:00
Andrew Kane
a1e526ef82 Dropped support for Postgres 11 2024-01-22 23:52:54 -08:00
Andrew Kane
bab5fea9e7 Improved variable name [skip ci] 2023-09-03 12:32:59 -07:00
Andrew Kane
b1f9519689 Get info from metapage to determine cost 2023-09-03 12:31:01 -07:00
Andrew Kane
86c29b3bf0 Improved param code 2023-08-23 21:10:00 -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
629fa6f0cd Updated cost estimation code (same logic) 2023-06-10 10:52:29 -07:00
Andrew Kane
a33e72d58e Always change some cost to sequential, and always update total cost 2023-06-10 02:10:53 -07:00
Andrew Kane
49e6a72d36 Remove cost of extra pages when random_page_cost equals seq_page_cost 2023-06-10 01:18:21 -07:00
Andrew Kane
b158a5fa48 Moved get_tablespace_page_costs [skip ci] 2023-06-10 01:07:54 -07:00
Andrew Kane
81cc04df61 Only adjust cost if random_page_cost is higher than seq_page_cost 2023-06-10 01:06:05 -07:00
Andrew Kane
8cb32cac76 Added comment [skip ci] 2023-06-09 21:20:48 -07:00
Andrew Kane
4ce915cf16 Improved cost estimate - #133 2023-06-09 21:11:16 -07:00
Andrew Kane
41b766c24b Use index tuples 2023-06-09 19:55:49 -07:00
Jonathan S. Katz
7446cbde8f Update ivfflat cost estimation to choose index for more searches (#133)
Co-authored-by: Andrew Kane <andrew@ankane.org>
2023-06-09 17:53:14 -07:00
Andrew Kane
451ac59a03 Improved code [skip ci] 2023-05-20 19:04:35 -07:00
Andrew Kane
6f94c5e897 Improved code [skip ci] 2023-05-20 19:02:38 -07:00
Andrew Kane
0f69cc789a Combined sampling table and performing k-means phases 2022-12-23 08:07:09 -08:00
Andrew Kane
b09e14ce14 Dropped support for Postgres 10 2022-12-23 08:03:03 -08:00
Andrew Kane
1b5cb17f22 Removed code for Postgres < 10 2022-12-22 21:21:29 -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
5aeabc3648 Added comments on index handler [skip ci] 2022-02-06 15:26:18 -08:00
Andrew Kane
687ec6d8d7 Added amadjustmembers 2022-02-06 15:21:59 -08:00
Andrew Kane
9b11b05cd7 Added comment for amcanreturn [skip ci] 2022-02-06 11:28:03 -08:00
Andrew Kane
ab079c1911 Added support for parallel vacuum 2022-02-06 11:25:38 -08:00
Andrew Kane
9ec174137f Added build phase progress for Postgres 12+ 2022-01-29 19:19:16 -08:00
Andrew Kane
bd36231871 Less space [skip ci] 2021-06-09 04:03:06 -07:00
Andrew Kane
523788d964 Improved code 2021-06-09 03:59:00 -07:00
Andrew Kane
1eed57310a Use DBL_MAX for cost 2021-06-09 03:31:41 -07:00
Andrew Kane
57e6a01214 Fixed segmentation fault with COUNT - fixes #9 2021-06-09 03:13:22 -07:00
Andrew Kane
67e317141b Fixed multiple definition error with GCC 10 - #4 2021-05-06 16:25:43 -07:00
Andrew Kane
955a5a6082 Removed completed todo [skip ci] 2021-04-26 01:09:05 -07:00
Andrew Kane
8863920fdc Improved cost estimation 2021-04-26 01:04:01 -07:00
Andrew Kane
a3d946f3bf Added src directory 2021-04-20 14:43:04 -07:00