Skip to content

Commit fc3ebf4

Browse files
committed
Updated casts [skip ci]
1 parent 0507fc9 commit fc3ebf4

2 files changed

Lines changed: 26 additions & 28 deletions

File tree

sql/vector--0.6.2--0.7.0.sql

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,12 @@ CREATE FUNCTION halfvec_spherical_distance(halfvec, halfvec) RETURNS float8
125125
CREATE FUNCTION halfvec(halfvec, integer, boolean) RETURNS halfvec
126126
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
127127

128+
CREATE FUNCTION halfvec_to_vector(halfvec, integer, boolean) RETURNS vector
129+
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
130+
131+
CREATE FUNCTION vector_to_halfvec(vector, integer, boolean) RETURNS halfvec
132+
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
133+
128134
CREATE FUNCTION array_to_halfvec(integer[], integer, boolean) RETURNS halfvec
129135
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
130136

@@ -143,8 +149,14 @@ CREATE FUNCTION halfvec_to_float4(halfvec, integer, boolean) RETURNS real[]
143149
CREATE CAST (halfvec AS halfvec)
144150
WITH FUNCTION halfvec(halfvec, integer, boolean) AS IMPLICIT;
145151

152+
CREATE CAST (halfvec AS vector)
153+
WITH FUNCTION halfvec_to_vector(halfvec, integer, boolean) AS ASSIGNMENT;
154+
155+
CREATE CAST (vector AS halfvec)
156+
WITH FUNCTION vector_to_halfvec(vector, integer, boolean) AS IMPLICIT;
157+
146158
CREATE CAST (halfvec AS real[])
147-
WITH FUNCTION halfvec_to_float4(halfvec, integer, boolean) AS IMPLICIT;
159+
WITH FUNCTION halfvec_to_float4(halfvec, integer, boolean) AS ASSIGNMENT;
148160

149161
CREATE CAST (integer[] AS halfvec)
150162
WITH FUNCTION array_to_halfvec(integer[], integer, boolean) AS ASSIGNMENT;
@@ -269,18 +281,6 @@ CREATE OPERATOR CLASS halfvec_cosine_ops
269281
FUNCTION 1 halfvec_negative_inner_product(halfvec, halfvec),
270282
FUNCTION 2 halfvec_norm(halfvec);
271283

272-
CREATE FUNCTION halfvec_to_vector(halfvec, integer, boolean) RETURNS vector
273-
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
274-
275-
CREATE FUNCTION vector_to_halfvec(vector, integer, boolean) RETURNS halfvec
276-
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
277-
278-
CREATE CAST (halfvec AS vector)
279-
WITH FUNCTION halfvec_to_vector(halfvec, integer, boolean) AS ASSIGNMENT;
280-
281-
CREATE CAST (vector AS halfvec)
282-
WITH FUNCTION vector_to_halfvec(vector, integer, boolean) AS IMPLICIT;
283-
284284
CREATE TYPE sparsevec;
285285

286286
CREATE FUNCTION sparsevec_in(cstring, oid, integer) RETURNS sparsevec

sql/vector.sql

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,12 @@ CREATE FUNCTION halfvec_spherical_distance(halfvec, halfvec) RETURNS float8
422422
CREATE FUNCTION halfvec(halfvec, integer, boolean) RETURNS halfvec
423423
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
424424

425+
CREATE FUNCTION halfvec_to_vector(halfvec, integer, boolean) RETURNS vector
426+
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
427+
428+
CREATE FUNCTION vector_to_halfvec(vector, integer, boolean) RETURNS halfvec
429+
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
430+
425431
CREATE FUNCTION array_to_halfvec(integer[], integer, boolean) RETURNS halfvec
426432
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
427433

@@ -442,8 +448,14 @@ CREATE FUNCTION halfvec_to_float4(halfvec, integer, boolean) RETURNS real[]
442448
CREATE CAST (halfvec AS halfvec)
443449
WITH FUNCTION halfvec(halfvec, integer, boolean) AS IMPLICIT;
444450

451+
CREATE CAST (halfvec AS vector)
452+
WITH FUNCTION halfvec_to_vector(halfvec, integer, boolean) AS ASSIGNMENT;
453+
454+
CREATE CAST (vector AS halfvec)
455+
WITH FUNCTION vector_to_halfvec(vector, integer, boolean) AS IMPLICIT;
456+
445457
CREATE CAST (halfvec AS real[])
446-
WITH FUNCTION halfvec_to_float4(halfvec, integer, boolean) AS IMPLICIT;
458+
WITH FUNCTION halfvec_to_float4(halfvec, integer, boolean) AS ASSIGNMENT;
447459

448460
CREATE CAST (integer[] AS halfvec)
449461
WITH FUNCTION array_to_halfvec(integer[], integer, boolean) AS ASSIGNMENT;
@@ -572,20 +584,6 @@ CREATE OPERATOR CLASS halfvec_cosine_ops
572584
FUNCTION 1 halfvec_negative_inner_product(halfvec, halfvec),
573585
FUNCTION 2 halfvec_norm(halfvec);
574586

575-
-- extension casts
576-
577-
CREATE FUNCTION halfvec_to_vector(halfvec, integer, boolean) RETURNS vector
578-
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
579-
580-
CREATE FUNCTION vector_to_halfvec(vector, integer, boolean) RETURNS halfvec
581-
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
582-
583-
CREATE CAST (halfvec AS vector)
584-
WITH FUNCTION halfvec_to_vector(halfvec, integer, boolean) AS ASSIGNMENT;
585-
586-
CREATE CAST (vector AS halfvec)
587-
WITH FUNCTION vector_to_halfvec(vector, integer, boolean) AS IMPLICIT;
588-
589587
--- sparsevec type
590588

591589
CREATE TYPE sparsevec;

0 commit comments

Comments
 (0)