Commit Graph

51 Commits

Author SHA1 Message Date
Andrew Kane
aa77346103 Improved code [skip ci] 2024-09-19 19:57:16 -07:00
Andrew Kane
b0da2d95d9 Fixed array_to_sparsevec on Windows [skip ci] 2024-09-19 19:52:16 -07:00
Andrew Kane
3fb05eb847 Added casts for arrays to sparsevec - #604
Co-authored-by: Narek Galstyan <narekg@berkeley.edu>
Co-authored-by: Di Qi <di@lantern.dev>
2024-09-19 19:17:05 -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
a72511db7f Removed unneeded comments [skip ci] 2024-04-27 11:43:45 -07:00
Andrew Kane
6f2afb16ff Use consistent error message for sparsevec index out of bounds [skip ci] 2024-04-26 17:27:09 -07:00
Andrew Kane
0959e69529 Added comments [skip ci] 2024-04-26 17:24:15 -07:00
Andrew Kane
1e94907179 Improved sparsevec error messages [skip ci] 2024-04-26 17:11:11 -07:00
Andrew Kane
78e5bcf229 Switched to 0-based numbering for sparsevec on-disk format 2024-04-24 12:51:24 -07:00
Andrew Kane
4d21eea6f1 Updated comments [skip ci] 2024-04-24 11:27:09 -07:00
Andrew Kane
03ca9adc4c Added comments [skip ci] 2024-04-24 11:26:05 -07:00
Andrew Kane
c3448a25e2 Improved error messages for sparsevec input 2024-04-24 11:12:28 -07:00
Andrew Kane
b2a5259607 Switched to strtoint for sparsevec input 2024-04-24 09:56:09 -07:00
Andrew Kane
281a74f54e Improved consistency of sparsevec_l1_distance with vector [skip ci] 2024-04-23 21:24:02 -07:00
Andrew Kane
034713c803 Improved consistency with vector [skip ci] 2024-04-23 21:13:00 -07:00
Andrew Kane
ed2e460f00 Improved consistency with vector [skip ci] 2024-04-23 21:11:27 -07:00
Heikki Linnakangas
d1b83991af Forbid zero values in sparsevec's binary input function (#528)
The text input function simply left out any zero values, but the
binary input function did not. That's problematic because you end up
with an "unnormalized" sparse vector, which behaves in weird ways.  At
least sparsevec_cmp_internal() expects both inputs to not contain
zeros.

The binary send function never produces such zero values, but an
external tool could. Or to test, you can use COPY TO (FORMAT BINARY),
use a hex editor to edit one of the values to be zero, and copy it
back with COPY FROM (FORMAT BINARY).
2024-04-23 09:13:53 -07:00
Andrew Kane
fb77671d05 Added casts between halfvec and sparsevec 2024-04-19 18:03:07 -07:00
Andrew Kane
fd4fbd238c Updated sparsevec input to support indices in any order [skip ci] 2024-04-19 16:54:19 -07:00
Andrew Kane
588873e145 Added comment [skip ci] 2024-04-16 11:38:59 -07:00
Andrew Kane
7adb8a6e0e Fixed sparsevec comparison function and added test for consistency 2024-04-16 11:36:45 -07:00
Andrew Kane
5b0eff9dae Updated comment [skip ci] 2024-04-15 15:53:07 -07:00
Andrew Kane
5cf75c0b83 Added comment [skip ci] 2024-04-15 15:50:59 -07:00
Andrew Kane
bf3ef4de56 Improved safety check [skip ci] 2024-04-15 14:55:32 -07:00
Andrew Kane
2c82f05503 Improved safety check [skip ci] 2024-04-15 14:51:24 -07:00
Andrew Kane
f655166639 Improved safety check [skip ci] 2024-04-15 14:50:28 -07:00
Andrew Kane
7580e99205 Improved safety check [skip ci] 2024-04-15 14:49:40 -07:00
Andrew Kane
a415420a1c Updated l2_normalize to remove zeros for sparsevec 2024-04-15 14:42:53 -07:00
Andrew Kane
ceeba6a134 Added todo [skip ci] 2024-04-15 14:11:17 -07:00
Andrew Kane
127ecdd650 Added l2_normalize function for sparsevec 2024-04-15 14:05:18 -07:00
Andrew Kane
ba99255bbb Switched to float for consistency with other distance functions 2024-04-15 10:20:27 -07:00
Andrew Kane
b12cd121a5 Use fabsf for l1_distance 2024-04-14 23:33:27 -07:00
Andrew Kane
4f6c4850d9 Added l1_distance function for sparsevec [skip ci] 2024-04-14 22:59:28 -07:00
Andrew Kane
44e536b4ae Renamed functions to l2_norm [skip ci] 2024-04-14 16:29:27 -07:00
Andrew Kane
b4b914a580 Fixed sparsevec_cmp_internal 2024-04-14 14:04:03 -07:00
Andrew Kane
88788472ba Added comparison operators for sparsevec 2024-04-14 13:40:37 -07:00
Andrew Kane
8a4845b52e Fixed CI 2024-04-13 16:09:42 -07:00
Andrew Kane
96b30fd25d Improved error message and tests for sparsevec_in 2024-04-13 15:50:40 -07:00
Andrew Kane
545ae30057 Improved performance of sparsevec_in 2024-04-13 15:42:16 -07:00
Andrew Kane
20fb2e0797 Improved sparsevec_in [skip ci] 2024-04-13 15:13:08 -07:00
Andrew Kane
8f93d02c71 Updated comments [skip ci] 2024-04-13 14:06:10 -07:00
Andrew Kane
c5c82bafda Updated invalid input syntax messages to be consistent [skip ci] 2024-04-13 11:32:47 -07:00
Andrew Kane
62b411f94c Improved sparsevec input test [skip ci] 2024-04-09 16:44:34 -07:00
Andrew Kane
82a17b81f5 Improved sparsevec input test [skip ci] 2024-04-09 16:41:48 -07:00
Andrew Kane
bd6fdb73eb Improved naming [skip ci] 2024-04-08 16:35:57 -07:00
Andrew Kane
d861a0304e Removed extra space [skip ci] 2024-04-07 19:02:30 -07:00
Andrew Kane
8d7e0e693c Fixed vector to sparsevec conversion 2024-04-07 10:30:54 -07:00
Andrew Kane
60104264d5 Improved error message [skip ci] 2024-04-06 15:52:26 -07:00
Andrew Kane
4450029bdc Changed indices to start at 1 for sparse vectors to match SQL 2024-04-06 14:02:07 -07:00
Andrew Kane
fc1aeee62c Added SPARSEVEC_MAX_NNZ 2024-04-03 21:05:35 -07:00