1
0
mirror of https://github.com/pgvector/pgvector.git synced 2026-10-23 10:48:54 +03:00
Files
pgvector/sql/vector--0.8.6--0.8.7.sql
2026-08-07 23:04:38 -07:00

297 lines
12 KiB
SQL

-- 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';