@@ -22,6 +22,12 @@ CREATE OPERATOR || (
2222 LEFTARG = vector, RIGHTARG = vector, PROCEDURE = vector_concat
2323);
2424
25+ CREATE FUNCTION ivfflat_bit_max_dims (internal) RETURNS internal
26+ AS ' MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
27+
28+ CREATE FUNCTION ivfflat_halfvec_max_dims (internal) RETURNS internal
29+ AS ' MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
30+
2531CREATE FUNCTION ivfflat_bit_support (internal) RETURNS internal
2632 AS ' MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
2733
@@ -66,7 +72,8 @@ CREATE OPERATOR CLASS bit_hamming_ops
6672 OPERATOR 1 < ~> (bit , bit ) FOR ORDER BY float_ops,
6773 FUNCTION 1 hamming_distance(bit , bit ),
6874 FUNCTION 3 hamming_distance(bit , bit ),
69- FUNCTION 6 ivfflat_bit_support(internal);
75+ FUNCTION 6 ivfflat_bit_max_dims(internal),
76+ FUNCTION 7 ivfflat_bit_support(internal);
7077
7178CREATE OPERATOR CLASS bit_hamming_ops
7279 FOR TYPE bit USING hnsw AS
@@ -333,7 +340,8 @@ CREATE OPERATOR CLASS halfvec_l2_ops
333340 OPERATOR 1 < - > (halfvec, halfvec) FOR ORDER BY float_ops,
334341 FUNCTION 1 halfvec_l2_squared_distance(halfvec, halfvec),
335342 FUNCTION 3 l2_distance(halfvec, halfvec),
336- FUNCTION 6 ivfflat_halfvec_support(internal);
343+ FUNCTION 6 ivfflat_halfvec_max_dims(internal),
344+ FUNCTION 7 ivfflat_halfvec_support(internal);
337345
338346CREATE OPERATOR CLASS halfvec_ip_ops
339347 FOR TYPE halfvec USING ivfflat AS
@@ -342,7 +350,8 @@ CREATE OPERATOR CLASS halfvec_ip_ops
342350 FUNCTION 3 halfvec_spherical_distance(halfvec, halfvec),
343351 FUNCTION 4 l2_norm(halfvec),
344352 FUNCTION 5 l2_normalize(halfvec),
345- FUNCTION 6 ivfflat_halfvec_support(internal);
353+ FUNCTION 6 ivfflat_halfvec_max_dims(internal),
354+ FUNCTION 7 ivfflat_halfvec_support(internal);
346355
347356CREATE OPERATOR CLASS halfvec_cosine_ops
348357 FOR TYPE halfvec USING ivfflat AS
@@ -352,7 +361,8 @@ CREATE OPERATOR CLASS halfvec_cosine_ops
352361 FUNCTION 3 halfvec_spherical_distance(halfvec, halfvec),
353362 FUNCTION 4 l2_norm(halfvec),
354363 FUNCTION 5 l2_normalize(halfvec),
355- FUNCTION 6 ivfflat_halfvec_support(internal);
364+ FUNCTION 6 ivfflat_halfvec_max_dims(internal),
365+ FUNCTION 7 ivfflat_halfvec_support(internal);
356366
357367CREATE OPERATOR CLASS halfvec_l2_ops
358368 FOR TYPE halfvec USING hnsw AS
0 commit comments