pgvector.git / summary / log / commit / refs

commit    0ddf65c2a3ffffe294104b764fc2f6e5cb7be781
Author:   Andrew Kane <andrew@ankane.org>
Date:     Fri Apr 26 04:31:43 2024 +0000

    Added separate SQL function for halfvec_combine [skip ci]


sql/vector--0.6.2--0.7.0.sql | 5 ++++- sql/vector.sql | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/sql/vector--0.6.2--0.7.0.sql b/sql/vector--0.6.2--0.7.0.sql index 0d0a07c5..e9d9c252 100644 --- a/sql/vector--0.6.2--0.7.0.sql +++ b/sql/vector--0.6.2--0.7.0.sql @@ -178,11 +178,14 @@ CREATE FUNCTION halfvec_accum(double precision[], halfvec) RETURNS double precis CREATE FUNCTION halfvec_avg(double precision[]) RETURNS halfvec AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION halfvec_combine(double precision[], double precision[]) RETURNS double precision[] + AS 'MODULE_PATHNAME', 'vector_combine' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + CREATE AGGREGATE avg(halfvec) ( SFUNC = halfvec_accum, STYPE = double precision[], FINALFUNC = halfvec_avg, - COMBINEFUNC = vector_combine, + COMBINEFUNC = halfvec_combine, INITCOND = '{0}', PARALLEL = SAFE ); diff --git a/sql/vector.sql b/sql/vector.sql index 75d27b64..58ff773b 100644 --- a/sql/vector.sql +++ b/sql/vector.sql @@ -479,13 +479,16 @@ CREATE FUNCTION halfvec_accum(double precision[], halfvec) RETURNS double precis CREATE FUNCTION halfvec_avg(double precision[]) RETURNS halfvec AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION halfvec_combine(double precision[], double precision[]) RETURNS double precision[] + AS 'MODULE_PATHNAME', 'vector_combine' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + -- halfvec aggregates CREATE AGGREGATE avg(halfvec) ( SFUNC = halfvec_accum, STYPE = double precision[], FINALFUNC = halfvec_avg, - COMBINEFUNC = vector_combine, + COMBINEFUNC = halfvec_combine, INITCOND = '{0}', PARALLEL = SAFE ); [parent: 1475c06902f6]