Commit Graph

616 Commits

Author SHA1 Message Date
Andrew Kane
c17d51588a Removed distance from neighbor tuples 2023-08-08 18:11:11 -07:00
Andrew Kane
51d292c93d Added HNSW index type - #181 2023-08-08 16:42:47 -07:00
Andrew Kane
e45c84fd46 Added space before comment [skip ci] 2023-08-05 10:20:30 -07:00
Andrew Kane
37b49b0a37 Fixed results for NULL and NaN distances - fixes #205
Co-authored-by: Xiaoran Wang <wxiaoran@vmware.com>
2023-08-05 09:36:58 -07:00
Andrew Kane
e36cf20bce Fixed CI 2023-07-25 15:44:04 -07:00
Andrew Kane
47e5a86b63 Fixed out of range results for cosine distance - fixes #196 2023-07-25 14:54:13 -07:00
Andrew Kane
b710dc68a0 Use fused multiply-add for cosine distance 2023-07-18 16:10:17 -07:00
Andrew Kane
8a05debda1 Ran pgindent [skip ci] 2023-07-18 16:08:50 -07:00
Pavel Borisov
3950bc3dc6 Speed up ivfflat build: use float instead of double for dot product (#180)
calculation

On ARM this makes CPU using vector multiply-add instruction (fmadd)
instead of vector multiplication + conversion to double + addition
(fmul + fcvt + fadd) at each vector dimension.

Output of distance functions and calculations that are are done once
per vector pair are left double as this don't make speed difference
and for compatibility.
2023-07-18 12:55:38 -07:00
Andrew Kane
f4c28b1c06 Improved includes 2023-07-17 13:17:48 -07:00
Andrew Kane
d13eb8563e Improved includes 2023-07-17 13:15:10 -07:00
Andrew Kane
f6fc033622 Removed unneeded comments [skip ci] 2023-07-17 13:08:27 -07:00
Andrew Kane
518a35784d Improved variable name [skip ci] 2023-07-17 00:18:14 -07:00
Andrew Kane
c3394ace03 Removed unused variable from IvfflatUpdateList 2023-07-17 00:15:20 -07:00
Andrew Kane
98ba795d83 Improved variable scoping 2023-07-17 00:11:21 -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
a0c7f618ff Simplified sum aggregate 2023-07-16 15:30:03 -07:00
Andrew Kane
13ecd271ba Removed unneeded lists check [skip ci] 2023-07-15 23:06:34 -07:00
Andrew Kane
1d47d7218d Improved array_to_vector [skip ci] 2023-07-15 22:56:29 -07:00
Andrew Kane
42007b41ea Improved null check and fixed message [skip ci] 2023-07-15 22:51:40 -07:00
Andrew Kane
890f189495 Removed todo [skip ci] 2023-07-15 22:37:52 -07:00
Andrew Kane
ed1bc3e856 Added sum aggregate 2023-07-15 20:25:30 -07:00
Andrew Kane
08e7209810 Added element-wise multiplication for vectors 2023-07-15 20:19:51 -07:00
Andrew Kane
cd4ac17f9f Added l1_distance function - #166 2023-07-15 20:13:45 -07:00
Andrew Kane
b6a822918f Added support for parallel index builds 2023-07-15 19:52:25 -07:00
Andrew Kane
21d5d7e934 Improved variable scoping 2023-07-15 19:01:40 -07:00
Andrew Kane
ea47342870 Improved variable scoping 2023-07-15 18:53:41 -07:00
Andrew Kane
22e9be6528 Use LockRelationForExtension 2023-07-15 18:25:26 -07:00
Andrew Kane
06c3e68bef Fixed segmentation fault with text representation 2023-06-12 01:09:40 -07:00
Andrew Kane
eff0de6a64 Updated comments [skip ci] 2023-06-11 18:36:41 -07:00
Andrew Kane
3cf7ce6543 Added comment for CheckDim [skip ci] 2023-06-11 13:06:51 -07:00
Andrew Kane
3cb6440744 Simplified PrintVector [skip ci] 2023-06-11 12:54:18 -07:00
Andrew Kane
b6a0d2b12b Check for empty string like float4in [skip ci] 2023-06-11 12:34:24 -07:00
Andrew Kane
f8c85905c3 Use vector_isspace to remove whitespace before strtof 2023-06-11 12:21:27 -07:00
Andrew Kane
0a98a953cd Fixed consecutive delimiters with text representation 2023-06-11 12:10:52 -07:00
Andrew Kane
a577c2df80 Updated format [skip ci] 2023-06-11 12:04:02 -07:00
Andrew Kane
7ee9e86b10 Improved error message for invalid input syntax 2023-06-11 12:00:04 -07:00
Andrew Kane
5fdf5573a0 No need to manually free memory on errors 2023-06-11 09:42:20 -07:00
Andrew Kane
2b939edfee Improved error message for malformed vector literal - #153 2023-06-11 09:24:11 -07:00
Andrew Kane
987026a559 Improved benchmarking for index build [skip ci] 2023-06-10 21:50:31 -07:00
Andrew Kane
6ad276aa54 Added Postgres 16 to CI 2023-06-10 11:35:28 -07:00
Andrew Kane
c03ce7d62a Ensure insert page is always set 2023-06-10 11:29:47 -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