-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Expand file tree
/
Copy pathvector--0.8.6--0.8.7.sql
More file actions
296 lines (149 loc) · 11.6 KB
/
Copy pathvector--0.8.6--0.8.7.sql
File metadata and controls
296 lines (149 loc) · 11.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "ALTER EXTENSION vector UPDATE TO '0.8.7'" to load this file. \quit
COMMENT ON FUNCTION vector_in(cstring, oid, integer) IS 'I/O';
COMMENT ON FUNCTION vector_out(vector) IS 'I/O';
COMMENT ON FUNCTION vector_typmod_in(cstring[]) IS 'I/O typmod';
COMMENT ON FUNCTION vector_recv(internal, oid, integer) IS 'I/O';
COMMENT ON FUNCTION vector_send(vector) IS 'I/O';
COMMENT ON TYPE vector IS 'single-precision vector';
COMMENT ON FUNCTION l2_distance(vector, vector) IS 'Euclidean distance';
COMMENT ON FUNCTION inner_product(vector, vector) IS 'inner product';
COMMENT ON FUNCTION cosine_distance(vector, vector) IS 'cosine distance';
COMMENT ON FUNCTION l1_distance(vector, vector) IS 'taxicab distance';
COMMENT ON FUNCTION vector_dims(vector) IS 'number of dimensions';
COMMENT ON FUNCTION vector_norm(vector) IS 'Euclidean norm';
COMMENT ON FUNCTION l2_normalize(vector) IS 'normalize with Euclidean norm';
COMMENT ON FUNCTION binary_quantize(vector) IS 'binary quantize';
COMMENT ON FUNCTION subvector(vector, int, int) IS 'subvector';
COMMENT ON FUNCTION vector_add(vector, vector) IS 'implementation of + operator';
COMMENT ON FUNCTION vector_sub(vector, vector) IS 'implementation of - operator';
COMMENT ON FUNCTION vector_mul(vector, vector) IS 'implementation of * operator';
COMMENT ON FUNCTION vector_concat(vector, vector) IS 'implementation of || operator';
COMMENT ON FUNCTION vector_lt(vector, vector) IS 'implementation of < operator';
COMMENT ON FUNCTION vector_le(vector, vector) IS 'implementation of <= operator';
COMMENT ON FUNCTION vector_eq(vector, vector) IS 'implementation of = operator';
COMMENT ON FUNCTION vector_ne(vector, vector) IS 'implementation of <> operator';
COMMENT ON FUNCTION vector_ge(vector, vector) IS 'implementation of >= operator';
COMMENT ON FUNCTION vector_gt(vector, vector) IS 'implementation of > operator';
COMMENT ON FUNCTION vector_cmp(vector, vector) IS 'less-equal-greater';
COMMENT ON FUNCTION vector_l2_squared_distance(vector, vector) IS 'squared Euclidean distance';
COMMENT ON FUNCTION vector_negative_inner_product(vector, vector) IS 'negative inner product';
COMMENT ON FUNCTION vector_spherical_distance(vector, vector) IS 'spherical distance';
COMMENT ON FUNCTION vector_accum(double precision[], vector) IS 'aggregate transition function';
COMMENT ON FUNCTION vector_avg(double precision[]) IS 'aggregate final function';
COMMENT ON FUNCTION vector_combine(double precision[], double precision[]) IS 'aggregate combine function';
COMMENT ON AGGREGATE avg(vector) IS 'the average (arithmetic mean) as vector of all vector values';
COMMENT ON AGGREGATE sum(vector) IS 'sum as vector across all vector input values';
COMMENT ON FUNCTION vector(vector, integer, boolean) IS 'adjust vector to typmod';
COMMENT ON FUNCTION array_to_vector(integer[], integer, boolean) IS 'convert int4 array to vector';
COMMENT ON FUNCTION array_to_vector(real[], integer, boolean) IS 'convert float4 array to vector';
COMMENT ON FUNCTION array_to_vector(double precision[], integer, boolean) IS 'convert float8 array to vector';
COMMENT ON FUNCTION array_to_vector(numeric[], integer, boolean) IS 'convert numeric array to vector';
COMMENT ON FUNCTION vector_to_float4(vector, integer, boolean) IS 'convert vector to float4 array';
COMMENT ON OPERATOR + (vector, vector) IS 'add';
COMMENT ON OPERATOR - (vector, vector) IS 'subtract';
COMMENT ON OPERATOR * (vector, vector) IS 'multiply';
COMMENT ON OPERATOR || (vector, vector) IS 'concatenate';
COMMENT ON OPERATOR < (vector, vector) IS 'less than';
COMMENT ON OPERATOR <= (vector, vector) IS 'less than or equal';
COMMENT ON OPERATOR = (vector, vector) IS 'equal';
COMMENT ON OPERATOR <> (vector, vector) IS 'not equal';
COMMENT ON OPERATOR >= (vector, vector) IS 'greater than or equal';
COMMENT ON OPERATOR > (vector, vector) IS 'greater than';
COMMENT ON FUNCTION ivfflathandler(internal) IS 'ivfflat index access method handler';
COMMENT ON FUNCTION hnswhandler(internal) IS 'hnsw index access method handler';
COMMENT ON FUNCTION ivfflat_halfvec_support(internal) IS 'ivfflat halfvec support';
COMMENT ON FUNCTION ivfflat_bit_support(internal) IS 'ivfflat bit support';
COMMENT ON FUNCTION hnsw_halfvec_support(internal) IS 'hnsw halfvec support';
COMMENT ON FUNCTION hnsw_bit_support(internal) IS 'hnsw bit support';
COMMENT ON FUNCTION hnsw_sparsevec_support(internal) IS 'hnsw sparsevec support';
COMMENT ON FUNCTION halfvec_in(cstring, oid, integer) IS 'I/O';
COMMENT ON FUNCTION halfvec_out(halfvec) IS 'I/O';
COMMENT ON FUNCTION halfvec_typmod_in(cstring[]) IS 'I/O typmod';
COMMENT ON FUNCTION halfvec_recv(internal, oid, integer) IS 'I/O';
COMMENT ON FUNCTION halfvec_send(halfvec) IS 'I/O';
COMMENT ON TYPE halfvec IS 'half-precision vector';
COMMENT ON FUNCTION l2_distance(halfvec, halfvec) IS 'Euclidean distance';
COMMENT ON FUNCTION inner_product(halfvec, halfvec) IS 'inner product';
COMMENT ON FUNCTION cosine_distance(halfvec, halfvec) IS 'cosine distance';
COMMENT ON FUNCTION l1_distance(halfvec, halfvec) IS 'taxicab distance';
COMMENT ON FUNCTION vector_dims(halfvec) IS 'number of dimensions';
COMMENT ON FUNCTION l2_norm(halfvec) IS 'Euclidean norm';
COMMENT ON FUNCTION l2_normalize(halfvec) IS 'normalize with Euclidean norm';
COMMENT ON FUNCTION binary_quantize(halfvec) IS 'binary quantize';
COMMENT ON FUNCTION subvector(halfvec, int, int) IS 'subvector';
COMMENT ON FUNCTION halfvec_add(halfvec, halfvec) IS 'implementation of + operator';
COMMENT ON FUNCTION halfvec_sub(halfvec, halfvec) IS 'implementation of - operator';
COMMENT ON FUNCTION halfvec_mul(halfvec, halfvec) IS 'implementation of * operator';
COMMENT ON FUNCTION halfvec_concat(halfvec, halfvec) IS 'implementation of || operator';
COMMENT ON FUNCTION halfvec_lt(halfvec, halfvec) IS 'implementation of < operator';
COMMENT ON FUNCTION halfvec_le(halfvec, halfvec) IS 'implementation of <= operator';
COMMENT ON FUNCTION halfvec_eq(halfvec, halfvec) IS 'implementation of = operator';
COMMENT ON FUNCTION halfvec_ne(halfvec, halfvec) IS 'implementation of <> operator';
COMMENT ON FUNCTION halfvec_ge(halfvec, halfvec) IS 'implementation of >= operator';
COMMENT ON FUNCTION halfvec_gt(halfvec, halfvec) IS 'implementation of > operator';
COMMENT ON FUNCTION halfvec_cmp(halfvec, halfvec) IS 'less-equal-greater';
COMMENT ON FUNCTION halfvec_l2_squared_distance(halfvec, halfvec) IS 'squared Euclidean distance';
COMMENT ON FUNCTION halfvec_negative_inner_product(halfvec, halfvec) IS 'negative inner product';
COMMENT ON FUNCTION halfvec_spherical_distance(halfvec, halfvec) IS 'spherical distance';
COMMENT ON FUNCTION halfvec_accum(double precision[], halfvec) IS 'aggregate transition function';
COMMENT ON FUNCTION halfvec_avg(double precision[]) IS 'aggregate final function';
COMMENT ON FUNCTION halfvec_combine(double precision[], double precision[]) IS 'aggregate combine function';
COMMENT ON AGGREGATE avg(halfvec) IS 'the average (arithmetic mean) as halfvec of all halfvec values';
COMMENT ON AGGREGATE sum(halfvec) IS 'sum as halfvec across all halfvec input values';
COMMENT ON FUNCTION halfvec(halfvec, integer, boolean) IS 'adjust halfvec to typmod';
COMMENT ON FUNCTION halfvec_to_vector(halfvec, integer, boolean) IS 'convert halfvec to vector';
COMMENT ON FUNCTION vector_to_halfvec(vector, integer, boolean) IS 'convert vector to halfvec';
COMMENT ON FUNCTION array_to_halfvec(integer[], integer, boolean) IS 'convert int4 array to halfvec';
COMMENT ON FUNCTION array_to_halfvec(real[], integer, boolean) IS 'convert float4 array to halfvec';
COMMENT ON FUNCTION array_to_halfvec(double precision[], integer, boolean) IS 'convert float8 array to halfvec';
COMMENT ON FUNCTION array_to_halfvec(numeric[], integer, boolean) IS 'convert numeric array to halfvec';
COMMENT ON FUNCTION halfvec_to_float4(halfvec, integer, boolean) IS 'convert halfvec to float4 array';
COMMENT ON OPERATOR + (halfvec, halfvec) IS 'add';
COMMENT ON OPERATOR - (halfvec, halfvec) IS 'subtract';
COMMENT ON OPERATOR * (halfvec, halfvec) IS 'multiply';
COMMENT ON OPERATOR || (halfvec, halfvec) IS 'concatenate';
COMMENT ON OPERATOR < (halfvec, halfvec) IS 'less than';
COMMENT ON OPERATOR <= (halfvec, halfvec) IS 'less than or equal';
COMMENT ON OPERATOR = (halfvec, halfvec) IS 'equal';
COMMENT ON OPERATOR <> (halfvec, halfvec) IS 'not equal';
COMMENT ON OPERATOR >= (halfvec, halfvec) IS 'greater than or equal';
COMMENT ON OPERATOR > (halfvec, halfvec) IS 'greater than';
COMMENT ON FUNCTION hamming_distance(bit, bit) IS 'Hamming distance';
COMMENT ON FUNCTION jaccard_distance(bit, bit) IS 'Jaccard distance';
COMMENT ON FUNCTION sparsevec_in(cstring, oid, integer) IS 'I/O';
COMMENT ON FUNCTION sparsevec_out(sparsevec) IS 'I/O';
COMMENT ON FUNCTION sparsevec_typmod_in(cstring[]) IS 'I/O typmod';
COMMENT ON FUNCTION sparsevec_recv(internal, oid, integer) IS 'I/O';
COMMENT ON FUNCTION sparsevec_send(sparsevec) IS 'I/O';
COMMENT ON TYPE sparsevec IS 'single-precision sparse vector';
COMMENT ON FUNCTION l2_distance(sparsevec, sparsevec) IS 'Euclidean distance';
COMMENT ON FUNCTION inner_product(sparsevec, sparsevec) IS 'inner product';
COMMENT ON FUNCTION cosine_distance(sparsevec, sparsevec) IS 'cosine distance';
COMMENT ON FUNCTION l1_distance(sparsevec, sparsevec) IS 'taxicab distance';
COMMENT ON FUNCTION l2_norm(sparsevec) IS 'Euclidean norm';
COMMENT ON FUNCTION l2_normalize(sparsevec) IS 'normalize with Euclidean norm';
COMMENT ON FUNCTION sparsevec_lt(sparsevec, sparsevec) IS 'implementation of < operator';
COMMENT ON FUNCTION sparsevec_le(sparsevec, sparsevec) IS 'implementation of <= operator';
COMMENT ON FUNCTION sparsevec_eq(sparsevec, sparsevec) IS 'implementation of = operator';
COMMENT ON FUNCTION sparsevec_ne(sparsevec, sparsevec) IS 'implementation of <> operator';
COMMENT ON FUNCTION sparsevec_ge(sparsevec, sparsevec) IS 'implementation of >= operator';
COMMENT ON FUNCTION sparsevec_gt(sparsevec, sparsevec) IS 'implementation of > operator';
COMMENT ON FUNCTION sparsevec_cmp(sparsevec, sparsevec) IS 'less-equal-greater';
COMMENT ON FUNCTION sparsevec_l2_squared_distance(sparsevec, sparsevec) IS 'squared Euclidean distance';
COMMENT ON FUNCTION sparsevec_negative_inner_product(sparsevec, sparsevec) IS 'negative inner product';
COMMENT ON FUNCTION sparsevec(sparsevec, integer, boolean) IS 'adjust sparsevec to typmod';
COMMENT ON FUNCTION vector_to_sparsevec(vector, integer, boolean) IS 'convert vector to sparsevec';
COMMENT ON FUNCTION sparsevec_to_vector(sparsevec, integer, boolean) IS 'convert sparsevec to vector';
COMMENT ON FUNCTION halfvec_to_sparsevec(halfvec, integer, boolean) IS 'convert halfvec to sparsevec';
COMMENT ON FUNCTION sparsevec_to_halfvec(sparsevec, integer, boolean) IS 'convert sparsevec to halfvec';
COMMENT ON FUNCTION array_to_sparsevec(integer[], integer, boolean) IS 'convert int4 array to sparsevec';
COMMENT ON FUNCTION array_to_sparsevec(real[], integer, boolean) IS 'convert float4 array to sparsevec';
COMMENT ON FUNCTION array_to_sparsevec(double precision[], integer, boolean) IS 'convert float8 array to sparsevec';
COMMENT ON FUNCTION array_to_sparsevec(numeric[], integer, boolean) IS 'convert numeric array to sparsevec';
COMMENT ON OPERATOR < (sparsevec, sparsevec) IS 'less than';
COMMENT ON OPERATOR <= (sparsevec, sparsevec) IS 'less than or equal';
COMMENT ON OPERATOR = (sparsevec, sparsevec) IS 'equal';
COMMENT ON OPERATOR <> (sparsevec, sparsevec) IS 'not equal';
COMMENT ON OPERATOR >= (sparsevec, sparsevec) IS 'greater than or equal';
COMMENT ON OPERATOR > (sparsevec, sparsevec) IS 'greater than';