/* */ /* This file is auto generated by pgrx. The ordering of items is not stable, it is driven by a dependency graph. */ /* */ /* */ -- src/index/mod.rs:180 CREATE FUNCTION turbovec_index_handler(internal) RETURNS index_am_handler AS 'MODULE_PATHNAME', 'turbovec_index_handler_wrapper' LANGUAGE c; /* */ /* */ -- src/bitvec.rs:25 -- Bitvec CREATE TYPE Bitvec; -- src/bitvec.rs:25 -- pg_turbovec::bitvec::bitvec_in CREATE FUNCTION "bitvec_in"( "input" cstring /* Option < & :: core :: ffi :: CStr > */ ) RETURNS Bitvec /* Option < Bitvec > */ IMMUTABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'bitvec_in_wrapper'; -- src/bitvec.rs:25 -- pg_turbovec::bitvec::bitvec_out CREATE FUNCTION "bitvec_out"( "input" Bitvec /* Bitvec */ ) RETURNS cstring /* :: pgrx :: ffi :: CString */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'bitvec_out_wrapper'; -- src/bitvec.rs:25 -- Bitvec CREATE TYPE Bitvec ( INTERNALLENGTH = variable, INPUT = bitvec_in, /* pg_turbovec::bitvec::bitvec_in */ OUTPUT = bitvec_out, /* pg_turbovec::bitvec::bitvec_out */ STORAGE = extended ); /* */ /* */ -- src/bitvec.rs:169 -- pg_turbovec::bitvec::bitvec_dims CREATE FUNCTION "bitvec_dims"( "v" Bitvec /* Bitvec */ ) RETURNS INT /* i32 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'bitvec_dims_wrapper'; /* */ /* */ -- src/bitvec.rs:174 -- pg_turbovec::bitvec::bitvec_popcount CREATE FUNCTION "bitvec_popcount"( "v" Bitvec /* Bitvec */ ) RETURNS bigint /* i64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'bitvec_popcount_wrapper'; /* */ /* */ -- src/halfvec.rs:27 -- Halfvec CREATE TYPE Halfvec; -- src/halfvec.rs:27 -- pg_turbovec::halfvec::halfvec_in CREATE FUNCTION "halfvec_in"( "input" cstring /* Option < & :: core :: ffi :: CStr > */ ) RETURNS Halfvec /* Option < Halfvec > */ IMMUTABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_in_wrapper'; -- src/halfvec.rs:27 -- pg_turbovec::halfvec::halfvec_out CREATE FUNCTION "halfvec_out"( "input" Halfvec /* Halfvec */ ) RETURNS cstring /* :: pgrx :: ffi :: CString */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_out_wrapper'; -- src/halfvec.rs:27 -- Halfvec CREATE TYPE Halfvec ( INTERNALLENGTH = variable, INPUT = halfvec_in, /* pg_turbovec::halfvec::halfvec_in */ OUTPUT = halfvec_out, /* pg_turbovec::halfvec::halfvec_out */ STORAGE = extended ); /* */ /* */ -- src/halfvec_ops.rs:44 -- pg_turbovec::halfvec_ops::halfvec_cosine_distance CREATE FUNCTION "halfvec_cosine_distance"( "a" Halfvec, /* Halfvec */ "b" Halfvec /* Halfvec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_cosine_distance_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:120 -- pg_turbovec::halfvec_ops::halfvec_mul CREATE FUNCTION "halfvec_mul"( "a" Halfvec, /* Halfvec */ "b" Halfvec /* Halfvec */ ) RETURNS Halfvec /* Halfvec */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_mul_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:94 -- pg_turbovec::halfvec_ops::halfvec_add CREATE FUNCTION "halfvec_add"( "a" Halfvec, /* Halfvec */ "b" Halfvec /* Halfvec */ ) RETURNS Halfvec /* Halfvec */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_add_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:20 -- pg_turbovec::halfvec_ops::halfvec_l2_distance CREATE FUNCTION "halfvec_l2_distance"( "a" Halfvec, /* Halfvec */ "b" Halfvec /* Halfvec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_l2_distance_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:50 -- pg_turbovec::halfvec_ops::halfvec_l1_distance CREATE FUNCTION "halfvec_l1_distance"( "a" Halfvec, /* Halfvec */ "b" Halfvec /* Halfvec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_l1_distance_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:56 -- pg_turbovec::halfvec_ops::halfvec_dims CREATE FUNCTION "halfvec_dims"( "v" Halfvec /* Halfvec */ ) RETURNS INT /* i32 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_dims_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:26 -- pg_turbovec::halfvec_ops::halfvec_l2_squared_distance CREATE FUNCTION "halfvec_l2_squared_distance"( "a" Halfvec, /* Halfvec */ "b" Halfvec /* Halfvec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_l2_squared_distance_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:78 -- pg_turbovec::halfvec_ops::halfvec_l2_normalize CREATE FUNCTION "halfvec_l2_normalize"( "v" Halfvec /* Halfvec */ ) RETURNS Halfvec /* Halfvec */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_l2_normalize_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:168 -- pg_turbovec::halfvec_ops::array_to_halfvec CREATE FUNCTION "array_to_halfvec"( "arr" real[] /* Vec < Option < f32 > > */ ) RETURNS Halfvec /* Halfvec */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'array_to_halfvec_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:38 -- pg_turbovec::halfvec_ops::halfvec_negative_inner_product CREATE FUNCTION "halfvec_negative_inner_product"( "a" Halfvec, /* Halfvec */ "b" Halfvec /* Halfvec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_negative_inner_product_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:32 -- pg_turbovec::halfvec_ops::halfvec_inner_product CREATE FUNCTION "halfvec_inner_product"( "a" Halfvec, /* Halfvec */ "b" Halfvec /* Halfvec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_inner_product_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:135 -- pg_turbovec::halfvec_ops::halfvec_concat CREATE FUNCTION "halfvec_concat"( "a" Halfvec, /* Halfvec */ "b" Halfvec /* Halfvec */ ) RETURNS Halfvec /* Halfvec */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_concat_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:67 -- pg_turbovec::halfvec_ops::halfvec_norm CREATE FUNCTION "halfvec_norm"( "v" Halfvec /* Halfvec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_norm_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:107 -- pg_turbovec::halfvec_ops::halfvec_sub CREATE FUNCTION "halfvec_sub"( "a" Halfvec, /* Halfvec */ "b" Halfvec /* Halfvec */ ) RETURNS Halfvec /* Halfvec */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_sub_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:181 -- pg_turbovec::halfvec_ops::halfvec_to_array CREATE FUNCTION "halfvec_to_array"( "v" Halfvec /* Halfvec */ ) RETURNS real[] /* :: std :: vec :: Vec < f32 > */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_to_array_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:190 -- HalfvecAccum CREATE TYPE HalfvecAccum; -- src/halfvec_ops.rs:190 -- pg_turbovec::halfvec_ops::halfvecaccum_in CREATE FUNCTION "halfvecaccum_in"( "input" cstring /* Option < & '_ :: core :: ffi :: CStr > */ ) RETURNS HalfvecAccum /* Option < HalfvecAccum > */ IMMUTABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvecaccum_in_wrapper'; -- src/halfvec_ops.rs:190 -- pg_turbovec::halfvec_ops::halfvecaccum_out CREATE FUNCTION "halfvecaccum_out"( "input" HalfvecAccum /* HalfvecAccum */ ) RETURNS cstring /* :: pgrx :: ffi :: CString */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvecaccum_out_wrapper'; -- src/halfvec_ops.rs:190 -- HalfvecAccum CREATE TYPE HalfvecAccum ( INTERNALLENGTH = variable, INPUT = halfvecaccum_in, /* pg_turbovec::halfvec_ops::halfvecaccum_in */ OUTPUT = halfvecaccum_out, /* pg_turbovec::halfvec_ops::halfvecaccum_out */ STORAGE = extended ); /* */ /* */ -- src/halfvec_ops.rs:228 -- pg_turbovec::halfvec_ops::halfvec_combine CREATE FUNCTION "halfvec_combine"( "s1" HalfvecAccum, /* Option < HalfvecAccum > */ "s2" HalfvecAccum /* Option < HalfvecAccum > */ ) RETURNS HalfvecAccum /* Option < HalfvecAccum > */ IMMUTABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_combine_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:217 -- pg_turbovec::halfvec_ops::halfvec_accum CREATE FUNCTION "halfvec_accum"( "state" HalfvecAccum, /* Option < HalfvecAccum > */ "value" Halfvec /* Halfvec */ ) RETURNS HalfvecAccum /* HalfvecAccum */ IMMUTABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_accum_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:271 -- pg_turbovec::halfvec_ops::halfvec_sum_finalfn CREATE FUNCTION "halfvec_sum_finalfn"( "state" HalfvecAccum /* HalfvecAccum */ ) RETURNS Halfvec /* Option < Halfvec > */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_sum_finalfn_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:257 -- pg_turbovec::halfvec_ops::halfvec_avg_finalfn CREATE FUNCTION "halfvec_avg_finalfn"( "state" HalfvecAccum /* HalfvecAccum */ ) RETURNS Halfvec /* Option < Halfvec > */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_avg_finalfn_wrapper'; /* */ /* */ -- src/bitvec.rs:128 -- pg_turbovec::bitvec::hamming_distance CREATE FUNCTION "hamming_distance"( "a" Bitvec, /* Bitvec */ "b" Bitvec /* Bitvec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'hamming_distance_wrapper'; /* */ /* */ -- src/extras.rs:260 -- pg_turbovec::extras::index_degradation CREATE FUNCTION "index_degradation"( "index" oid /* pg_sys :: Oid */ ) RETURNS TABLE ( "degraded" bool, /* bool */ "lists" INT, /* i32 */ "n_vectors" bigint, /* i64 */ "scan_fraction" double precision, /* f64 */ "est_slowdown" double precision, /* f64 */ "recovery" TEXT /* Option < String > */ ) STRICT STABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'index_degradation_wrapper'; /* */ /* */ -- src/extras.rs:216 -- pg_turbovec::extras::index_is_degraded CREATE FUNCTION "index_is_degraded"( "index" oid /* pg_sys :: Oid */ ) RETURNS bool /* bool */ STRICT STABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'index_is_degraded_wrapper'; /* */ /* */ -- src/bitvec.rs:146 -- pg_turbovec::bitvec::jaccard_distance CREATE FUNCTION "jaccard_distance"( "a" Bitvec, /* Bitvec */ "b" Bitvec /* Bitvec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'jaccard_distance_wrapper'; /* */ /* */ -- src/partition.rs:258 -- pg_turbovec::partition::refresh_partition_summary CREATE FUNCTION "refresh_partition_summary"( "parent" oid, /* pg_sys :: Oid */ "vec_col" TEXT /* & str */ ) RETURNS bigint /* i64 */ STRICT LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'refresh_partition_summary_wrapper'; /* */ /* */ -- src/hybrid.rs:146 -- pg_turbovec::hybrid::rrf_score CREATE FUNCTION "rrf_score"( "rank" INT, /* i32 */ "k" INT DEFAULT 60 /* i32 */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'rrf_score_wrapper'; /* */ /* */ -- src/sparsevec.rs:24 -- Sparsevec CREATE TYPE Sparsevec; -- src/sparsevec.rs:24 -- pg_turbovec::sparsevec::sparsevec_in CREATE FUNCTION "sparsevec_in"( "input" cstring /* Option < & :: core :: ffi :: CStr > */ ) RETURNS Sparsevec /* Option < Sparsevec > */ IMMUTABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_in_wrapper'; -- src/sparsevec.rs:24 -- pg_turbovec::sparsevec::sparsevec_out CREATE FUNCTION "sparsevec_out"( "input" Sparsevec /* Sparsevec */ ) RETURNS cstring /* :: pgrx :: ffi :: CString */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_out_wrapper'; -- src/sparsevec.rs:24 -- Sparsevec CREATE TYPE Sparsevec ( INTERNALLENGTH = variable, INPUT = sparsevec_in, /* pg_turbovec::sparsevec::sparsevec_in */ OUTPUT = sparsevec_out, /* pg_turbovec::sparsevec::sparsevec_out */ STORAGE = extended ); /* */ /* */ -- src/sparsevec_ops.rs:110 -- pg_turbovec::sparsevec_ops::sparsevec_dims CREATE FUNCTION "sparsevec_dims"( "v" Sparsevec /* Sparsevec */ ) RETURNS INT /* i32 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_dims_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:83 -- pg_turbovec::sparsevec_ops::sparsevec_norm CREATE FUNCTION "sparsevec_norm"( "v" Sparsevec /* Sparsevec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_norm_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:46 -- pg_turbovec::sparsevec_ops::sparsevec_inner_product CREATE FUNCTION "sparsevec_inner_product"( "a" Sparsevec, /* Sparsevec */ "b" Sparsevec /* Sparsevec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_inner_product_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:54 -- pg_turbovec::sparsevec_ops::sparsevec_negative_inner_product CREATE FUNCTION "sparsevec_negative_inner_product"( "a" Sparsevec, /* Sparsevec */ "b" Sparsevec /* Sparsevec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_negative_inner_product_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:59 -- pg_turbovec::sparsevec_ops::sparsevec_l2_squared_distance CREATE FUNCTION "sparsevec_l2_squared_distance"( "a" Sparsevec, /* Sparsevec */ "b" Sparsevec /* Sparsevec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_l2_squared_distance_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:75 -- pg_turbovec::sparsevec_ops::sparsevec_l1_distance CREATE FUNCTION "sparsevec_l1_distance"( "a" Sparsevec, /* Sparsevec */ "b" Sparsevec /* Sparsevec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_l1_distance_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:121 -- pg_turbovec::sparsevec_ops::sparsevec_nnz CREATE FUNCTION "sparsevec_nnz"( "v" Sparsevec /* Sparsevec */ ) RETURNS INT /* i32 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_nnz_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:70 -- pg_turbovec::sparsevec_ops::sparsevec_l2_distance CREATE FUNCTION "sparsevec_l2_distance"( "a" Sparsevec, /* Sparsevec */ "b" Sparsevec /* Sparsevec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_l2_distance_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:98 -- pg_turbovec::sparsevec_ops::sparsevec_cosine_distance CREATE FUNCTION "sparsevec_cosine_distance"( "a" Sparsevec, /* Sparsevec */ "b" Sparsevec /* Sparsevec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_cosine_distance_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:167 -- SparsevecAccum CREATE TYPE SparsevecAccum; -- src/sparsevec_ops.rs:167 -- pg_turbovec::sparsevec_ops::sparsevecaccum_in CREATE FUNCTION "sparsevecaccum_in"( "input" cstring /* Option < & '_ :: core :: ffi :: CStr > */ ) RETURNS SparsevecAccum /* Option < SparsevecAccum > */ IMMUTABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevecaccum_in_wrapper'; -- src/sparsevec_ops.rs:167 -- pg_turbovec::sparsevec_ops::sparsevecaccum_out CREATE FUNCTION "sparsevecaccum_out"( "input" SparsevecAccum /* SparsevecAccum */ ) RETURNS cstring /* :: pgrx :: ffi :: CString */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevecaccum_out_wrapper'; -- src/sparsevec_ops.rs:167 -- SparsevecAccum CREATE TYPE SparsevecAccum ( INTERNALLENGTH = variable, INPUT = sparsevecaccum_in, /* pg_turbovec::sparsevec_ops::sparsevecaccum_in */ OUTPUT = sparsevecaccum_out, /* pg_turbovec::sparsevec_ops::sparsevecaccum_out */ STORAGE = extended ); /* */ /* */ -- src/sparsevec_ops.rs:238 -- pg_turbovec::sparsevec_ops::sparsevec_sum_finalfn CREATE FUNCTION "sparsevec_sum_finalfn"( "state" SparsevecAccum /* SparsevecAccum */ ) RETURNS Sparsevec /* Option < Sparsevec > */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_sum_finalfn_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:199 -- pg_turbovec::sparsevec_ops::sparsevec_accum CREATE FUNCTION "sparsevec_accum"( "state" SparsevecAccum, /* Option < SparsevecAccum > */ "value" Sparsevec /* Sparsevec */ ) RETURNS SparsevecAccum /* SparsevecAccum */ IMMUTABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_accum_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:210 -- pg_turbovec::sparsevec_ops::sparsevec_combine CREATE FUNCTION "sparsevec_combine"( "s1" SparsevecAccum, /* Option < SparsevecAccum > */ "s2" SparsevecAccum /* Option < SparsevecAccum > */ ) RETURNS SparsevecAccum /* Option < SparsevecAccum > */ IMMUTABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_combine_wrapper'; /* */ /* */ -- src/index/scan.rs:1608 -- pg_turbovec::index::scan::tid_to_bigint CREATE FUNCTION "tid_to_bigint"( "ctid" tid /* pg_sys :: ItemPointerData */ ) RETURNS bigint /* i64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'tid_to_bigint_wrapper'; /* */ /* */ -- src/extras.rs:399 -- pg_turbovec::extras::turbovec_check CREATE FUNCTION "turbovec_check"( "index" oid /* pg_sys :: Oid */ ) RETURNS TABLE ( "wire_version" INT, /* i32 */ "kind" TEXT, /* String */ "n_vectors" bigint, /* i64 */ "slot_count" bigint, /* i64 */ "count_matches" bool, /* bool */ "duplicate_id" bigint, /* Option < i64 > */ "is_corrupt" bool, /* bool */ "tombstone_density" double precision, /* f64 */ "reason" TEXT /* Option < String > */ ) STRICT STABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'turbovec_check_wrapper'; /* */ /* */ -- src/extras.rs:641 -- pg_turbovec::extras::turbovec_dump_id0 CREATE FUNCTION "turbovec_dump_id0"( "index" oid /* pg_sys :: Oid */ ) RETURNS TABLE ( "slot" bigint, /* i64 */ "id" bigint, /* i64 */ "prev_id" bigint, /* i64 */ "next_id" bigint /* i64 */ ) STRICT LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'turbovec_dump_id0_wrapper'; /* */ /* */ -- src/lib.rs:68 -- pg_turbovec::turbovec_version CREATE FUNCTION "turbovec_version"() RETURNS TEXT /* & '_ str */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'turbovec_version_wrapper'; /* */ /* */ -- src/aggregate.rs:43 -- VecAccum CREATE TYPE VecAccum; -- src/aggregate.rs:43 -- pg_turbovec::aggregate::vecaccum_in CREATE FUNCTION "vecaccum_in"( "input" cstring /* Option < & '_ :: core :: ffi :: CStr > */ ) RETURNS VecAccum /* Option < VecAccum > */ IMMUTABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vecaccum_in_wrapper'; -- src/aggregate.rs:43 -- pg_turbovec::aggregate::vecaccum_out CREATE FUNCTION "vecaccum_out"( "input" VecAccum /* VecAccum */ ) RETURNS cstring /* :: pgrx :: ffi :: CString */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vecaccum_out_wrapper'; -- src/aggregate.rs:43 -- VecAccum CREATE TYPE VecAccum ( INTERNALLENGTH = variable, INPUT = vecaccum_in, /* pg_turbovec::aggregate::vecaccum_in */ OUTPUT = vecaccum_out, /* pg_turbovec::aggregate::vecaccum_out */ STORAGE = extended ); /* */ /* */ -- src/aggregate.rs:91 -- pg_turbovec::aggregate::vec_combine CREATE FUNCTION "vec_combine"( "s1" VecAccum, /* Option < VecAccum > */ "s2" VecAccum /* Option < VecAccum > */ ) RETURNS VecAccum /* Option < VecAccum > */ IMMUTABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_combine_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:62 -- pg_turbovec::halfvec_ops::vector_dims CREATE FUNCTION "vector_dims"( "v" Halfvec /* Halfvec */ ) RETURNS INT /* i32 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vector_dims_halfvec_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:116 -- pg_turbovec::sparsevec_ops::vector_dims CREATE FUNCTION "vector_dims"( "v" Sparsevec /* Sparsevec */ ) RETURNS INT /* i32 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vector_dims_sparsevec_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:73 -- pg_turbovec::halfvec_ops::vector_norm CREATE FUNCTION "vector_norm"( "v" Halfvec /* Halfvec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vector_norm_halfvec_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:93 -- pg_turbovec::sparsevec_ops::vector_norm CREATE FUNCTION "vector_norm"( "v" Sparsevec /* Sparsevec */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vector_norm_sparsevec_wrapper'; /* */ /* */ -- src/vec.rs:31 -- Vector CREATE TYPE Vector; -- src/vec.rs:31 -- pg_turbovec::vec::vector_in CREATE FUNCTION "vector_in"( "input" cstring /* Option < & :: core :: ffi :: CStr > */ ) RETURNS Vector /* Option < Vector > */ IMMUTABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vector_in_wrapper'; -- src/vec.rs:31 -- pg_turbovec::vec::vector_out CREATE FUNCTION "vector_out"( "input" Vector /* Vector */ ) RETURNS cstring /* :: pgrx :: ffi :: CString */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vector_out_wrapper'; -- src/vec.rs:31 -- Vector CREATE TYPE Vector ( INTERNALLENGTH = variable, INPUT = vector_in, /* pg_turbovec::vec::vector_in */ OUTPUT = vector_out, /* pg_turbovec::vec::vector_out */ STORAGE = extended ); /* */ /* */ -- src/partition.rs:370 -- requires: -- Vector -- Phase S-1: per-partition summary catalog (partition pruning). -- Derived data (partition means in ORIGINAL space), NOT index wire -- format. Safe to TRUNCATE/rebuild any time via -- turbovec.refresh_partition_summary(). One row per non-empty partition. CREATE TABLE turbovec.partition_summary ( parent regclass NOT NULL, partition regclass NOT NULL, centroid turbovec.vector NOT NULL, PRIMARY KEY (parent, partition) ); /* */ /* */ -- src/cast.rs:121 -- pg_turbovec::cast::array_to_vec_dim CREATE FUNCTION "array_to_vec_dim"( "arr" real[], /* Vec < Option < f32 > > */ "dim" INT, /* i32 */ "_transpose" bool /* bool */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'array_to_vec_dim_wrapper'; /* */ /* */ -- src/cast.rs:27 -- pg_turbovec::cast::float8_array_to_vec CREATE FUNCTION "float8_array_to_vec"( "arr" double precision[] /* Vec < Option < f64 > > */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'float8_array_to_vec_wrapper'; /* */ /* */ -- src/normalize.rs:17 -- pg_turbovec::normalize::vec_normalize CREATE FUNCTION "vec_normalize"( "v" Vector /* Vector */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_normalize_wrapper'; /* */ /* */ -- src/distance.rs:163 -- pg_turbovec::distance::vec_add CREATE FUNCTION "vec_add"( "a" Vector, /* Vector */ "b" Vector /* Vector */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_add_wrapper'; /* */ /* */ -- src/colbert.rs:64 -- pg_turbovec::colbert::colbert_search CREATE FUNCTION "colbert_search"( "rel" oid, /* pg_sys :: Oid */ "id_col" TEXT, /* & str */ "token_col" TEXT, /* & str */ "query" Vector[], /* Vec < Vector > */ "k" INT, /* i32 */ "per_token_k" INT DEFAULT 64, /* i32 */ "candidate_n" INT DEFAULT 256, /* i32 */ "bit_width" INT DEFAULT 4 /* i32 */ ) RETURNS TABLE ( "id" bigint, /* i64 */ "score" double precision /* f64 */ ) STRICT STABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'colbert_search_wrapper'; /* */ /* */ -- src/hybrid.rs:122 -- pg_turbovec::hybrid::max_sim_cosine CREATE FUNCTION "max_sim_cosine"( "query" Vector[], /* Vec < Vector > */ "doc" Vector[] /* Vec < Vector > */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'max_sim_cosine_wrapper'; /* */ /* */ -- src/aggregate.rs:134 -- pg_turbovec::aggregate::vec_sum_finalfn CREATE FUNCTION "vec_sum_finalfn"( "state" VecAccum /* VecAccum */ ) RETURNS Vector /* Option < Vector > */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_sum_finalfn_wrapper'; /* */ /* */ -- src/distance.rs:116 -- pg_turbovec::distance::cosine_distance CREATE FUNCTION "cosine_distance"( "a" Vector, /* Vector */ "b" Vector /* Vector */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'cosine_distance_wrapper'; /* */ /* */ -- src/bitvec.rs:181 -- pg_turbovec::bitvec::binary_quantize CREATE FUNCTION "binary_quantize"( "v" Vector /* Vector */ ) RETURNS Bitvec /* Bitvec */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'binary_quantize_wrapper'; /* */ /* */ -- src/bitvec.rs:199 -- requires: -- Bitvec -- hamming_distance -- jaccard_distance -- binary_quantize CREATE OPERATOR <~> ( LEFTARG = bitvec, RIGHTARG = bitvec, PROCEDURE = hamming_distance, COMMUTATOR = '<~>' ); CREATE OPERATOR <%> ( LEFTARG = bitvec, RIGHTARG = bitvec, PROCEDURE = jaccard_distance, COMMUTATOR = '<%>' ); /* */ /* */ -- src/aggregate.rs:78 -- pg_turbovec::aggregate::vec_accum CREATE FUNCTION "vec_accum"( "state" VecAccum, /* Option < VecAccum > */ "value" Vector /* Vector */ ) RETURNS VecAccum /* VecAccum */ IMMUTABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_accum_wrapper'; /* */ /* */ -- src/distance.rs:185 -- pg_turbovec::distance::vec_mul CREATE FUNCTION "vec_mul"( "a" Vector, /* Vector */ "b" Vector /* Vector */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_mul_wrapper'; /* */ /* */ -- src/distance.rs:174 -- pg_turbovec::distance::vec_sub CREATE FUNCTION "vec_sub"( "a" Vector, /* Vector */ "b" Vector /* Vector */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_sub_wrapper'; /* */ /* */ -- src/cast.rs:131 -- pg_turbovec::cast::array_to_vector CREATE FUNCTION "array_to_vector"( "arr" real[], /* Vec < Option < f32 > > */ "dim" INT, /* i32 */ "transpose" bool /* bool */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'array_to_vector_dim_wrapper'; /* */ /* */ -- src/cast.rs:68 -- pg_turbovec::cast::to_vec_text CREATE FUNCTION "to_vec_text"( "s" TEXT /* & str */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'to_vec_text_wrapper'; /* */ /* */ -- src/aggregate.rs:122 -- pg_turbovec::aggregate::vec_avg_finalfn CREATE FUNCTION "vec_avg_finalfn"( "state" VecAccum /* VecAccum */ ) RETURNS Vector /* Option < Vector > */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_avg_finalfn_wrapper'; /* */ /* */ -- src/aggregate.rs:143 -- requires: -- VecAccum -- vec_accum -- vec_combine -- vec_avg_finalfn -- vec_sum_finalfn CREATE AGGREGATE avg(vector) ( SFUNC = vec_accum, STYPE = VecAccum, FINALFUNC = vec_avg_finalfn, COMBINEFUNC = vec_combine, PARALLEL = SAFE ); CREATE AGGREGATE sum(vector) ( SFUNC = vec_accum, STYPE = VecAccum, FINALFUNC = vec_sum_finalfn, COMBINEFUNC = vec_combine, PARALLEL = SAFE ); /* */ /* */ -- src/normalize.rs:76 -- pg_turbovec::normalize::vec_random_unit CREATE FUNCTION "vec_random_unit"( "dim" INT /* i32 */ ) RETURNS Vector /* Vector */ STRICT VOLATILE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_random_unit_wrapper'; /* */ /* */ -- src/cast.rs:101 -- pg_turbovec::cast::to_vector CREATE FUNCTION "to_vector"( "s" TEXT, /* & str */ "dim" INT, /* i32 */ "transpose" bool /* bool */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'to_vector_text_dim_wrapper'; /* */ /* */ -- src/distance.rs:71 -- pg_turbovec::distance::inner_product CREATE FUNCTION "inner_product"( "a" Vector, /* Vector */ "b" Vector /* Vector */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'inner_product_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:162 -- pg_turbovec::halfvec_ops::halfvec_to_vector CREATE FUNCTION "halfvec_to_vector"( "v" Halfvec /* Halfvec */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'halfvec_to_vector_wrapper'; /* */ /* */ -- src/extras.rs:168 -- pg_turbovec::extras::vec_zeros CREATE FUNCTION "vec_zeros"( "dim" INT /* i32 */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_zeros_wrapper'; /* */ /* */ -- src/distance.rs:131 -- pg_turbovec::distance::l1_distance CREATE FUNCTION "l1_distance"( "a" Vector, /* Vector */ "b" Vector /* Vector */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'l1_distance_wrapper'; /* */ /* */ -- src/extras.rs:65 -- pg_turbovec::extras::vec_to_jsonb CREATE FUNCTION "vec_to_jsonb"( "v" Vector /* Vector */ ) RETURNS jsonb /* pgrx :: JsonB */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_to_jsonb_wrapper'; /* */ /* */ -- src/extras.rs:183 -- pg_turbovec::extras::vec_to_text CREATE FUNCTION "vec_to_text"( "v" Vector /* Vector */ ) RETURNS TEXT /* String */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_to_text_wrapper'; /* */ /* */ -- src/distance.rs:157 -- pg_turbovec::distance::vector_norm CREATE FUNCTION "vector_norm"( "v" Vector /* Vector */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vector_norm_wrapper'; /* */ /* */ -- src/extras.rs:87 -- pg_turbovec::extras::jsonb_to_vec CREATE FUNCTION "jsonb_to_vec"( "j" jsonb /* pgrx :: JsonB */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'jsonb_to_vec_wrapper'; /* */ /* */ -- src/extras.rs:679 -- requires: -- vec_to_jsonb -- jsonb_to_vec -- jsonb <-> vector explicit casts. CREATE CAST (vector AS jsonb) WITH FUNCTION vec_to_jsonb(vector); CREATE CAST (jsonb AS vector) WITH FUNCTION jsonb_to_vec(jsonb); /* */ /* */ -- src/partition.rs:336 -- pg_turbovec::partition::nearest_partitions CREATE FUNCTION "nearest_partitions"( "parent" oid, /* pg_sys :: Oid */ "query" Vector, /* Vector */ "k_partitions" INT, /* i32 */ "metric" TEXT DEFAULT '<=>' /* & str */ ) RETURNS TABLE ( "partition" oid /* pg_sys :: Oid */ ) STRICT STABLE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'nearest_partitions_wrapper'; /* */ /* */ -- src/distance.rs:198 -- pg_turbovec::distance::vector_concat CREATE FUNCTION "vector_concat"( "a" Vector, /* Vector */ "b" Vector /* Vector */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_concat_wrapper'; /* */ /* */ -- src/cast.rs:14 -- pg_turbovec::cast::array_to_vec CREATE FUNCTION "array_to_vec"( "arr" real[] /* Vec < Option < f32 > > */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'array_to_vec_wrapper'; /* */ /* */ -- src/cast.rs:60 -- pg_turbovec::cast::vec_to_array CREATE FUNCTION "vec_to_array"( "v" Vector /* Vector */ ) RETURNS real[] /* Vec < f32 > */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_to_array_wrapper'; /* */ /* */ -- src/distance.rs:56 -- pg_turbovec::distance::l2_squared_distance CREATE FUNCTION "l2_squared_distance"( "a" Vector, /* Vector */ "b" Vector /* Vector */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'l2_squared_distance_wrapper'; /* */ /* */ -- src/extras.rs:143 -- pg_turbovec::extras::vec_check_dim CREATE FUNCTION "vec_check_dim"( "v" Vector, /* Vector */ "expected" INT /* i32 */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vec_check_dim_wrapper'; /* */ /* */ -- src/distance.rs:143 -- pg_turbovec::distance::vector_dims CREATE FUNCTION "vector_dims"( "v" Vector /* Vector */ ) RETURNS INT /* i32 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vector_dims_wrapper'; /* */ /* */ -- src/distance.rs:94 -- pg_turbovec::distance::negative_inner_product CREATE FUNCTION "negative_inner_product"( "a" Vector, /* Vector */ "b" Vector /* Vector */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'negative_inner_product_wrapper'; /* */ /* */ -- src/cast.rs:77 -- pg_turbovec::cast::to_vector CREATE FUNCTION "to_vector"( "s" TEXT /* & str */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'to_vector_text_wrapper'; /* */ /* */ -- src/normalize.rs:40 -- pg_turbovec::normalize::turbovec_self_score CREATE FUNCTION "turbovec_self_score"( "v" Vector, /* Vector */ "bit_width" INT /* i32 */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'turbovec_self_score_wrapper'; /* */ /* */ -- src/hybrid.rs:104 -- pg_turbovec::hybrid::max_sim CREATE FUNCTION "max_sim"( "query" Vector[], /* Vec < Vector > */ "doc" Vector[] /* Vec < Vector > */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'max_sim_wrapper'; /* */ /* */ -- src/cast.rs:91 -- pg_turbovec::cast::to_vec_text_dim CREATE FUNCTION "to_vec_text_dim"( "s" TEXT, /* & str */ "dim" INT, /* i32 */ "_transpose" bool /* bool */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'to_vec_text_dim_wrapper'; /* */ /* */ -- src/normalize.rs:24 -- pg_turbovec::normalize::l2_normalize CREATE FUNCTION "l2_normalize"( "v" Vector /* Vector */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'l2_normalize_vector_wrapper'; /* */ /* */ -- src/extras.rs:32 -- pg_turbovec::extras::subvector CREATE FUNCTION "subvector"( "v" Vector, /* Vector */ "start" INT, /* i32 */ "length" INT /* i32 */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'subvector_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:151 -- pg_turbovec::sparsevec_ops::sparsevec_to_vector CREATE FUNCTION "sparsevec_to_vector"( "v" Sparsevec /* Sparsevec */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'sparsevec_to_vector_wrapper'; /* */ /* */ -- src/cast.rs:45 -- pg_turbovec::cast::int4_array_to_vec CREATE FUNCTION "int4_array_to_vec"( "arr" INT[] /* Vec < Option < i32 > > */ ) RETURNS Vector /* Vector */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'int4_array_to_vec_wrapper'; /* */ /* */ -- src/cast.rs:136 -- requires: -- Vector -- array_to_vec -- float8_array_to_vec -- int4_array_to_vec -- vec_to_array -- to_vec_text -- to_vec_text_dim -- array_to_vec_dim CREATE CAST (real[] AS vector) WITH FUNCTION array_to_vec(real[]); CREATE CAST (double precision[] AS vector) WITH FUNCTION float8_array_to_vec(double precision[]); CREATE CAST (integer[] AS vector) WITH FUNCTION int4_array_to_vec(integer[]); CREATE CAST (vector AS real[]) WITH FUNCTION vec_to_array(vector); -- pgvector-style aliases. The single-argument forms are -- equivalent to '...'::vector / array::vector; the -- three-argument forms add an explicit dim check. CREATE FUNCTION to_vec(text) RETURNS vector AS 'MODULE_PATHNAME', 'to_vec_text_wrapper' LANGUAGE c IMMUTABLE PARALLEL SAFE STRICT; CREATE FUNCTION to_vec(text, integer, boolean) RETURNS vector AS 'MODULE_PATHNAME', 'to_vec_text_dim_wrapper' LANGUAGE c IMMUTABLE PARALLEL SAFE STRICT; CREATE FUNCTION array_to_vec(real[], integer, boolean) RETURNS vector AS 'MODULE_PATHNAME', 'array_to_vec_dim_wrapper' LANGUAGE c IMMUTABLE PARALLEL SAFE STRICT; /* */ /* */ -- src/knn.rs:43 -- pg_turbovec::knn::knn CREATE FUNCTION "knn"( "rel" oid, /* pg_sys :: Oid */ "id_col" TEXT, /* & str */ "vec_col" TEXT, /* & str */ "query" Vector, /* Vector */ "k" INT, /* i32 */ "bit_width" INT DEFAULT 4, /* i32 */ "allowed" bigint[] DEFAULT NULL /* :: std :: option :: Option < Vec < i64 > > */ ) RETURNS TABLE ( "id" bigint, /* i64 */ "score" double precision /* f64 */ ) STABLE PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'knn_wrapper'; /* */ /* */ -- src/distance.rs:40 -- pg_turbovec::distance::l2_distance CREATE FUNCTION "l2_distance"( "a" Vector, /* Vector */ "b" Vector /* Vector */ ) RETURNS double precision /* f64 */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'l2_distance_wrapper'; /* */ /* */ -- src/distance.rs:220 -- requires: -- Vector -- l2_distance -- negative_inner_product -- cosine_distance -- l1_distance -- vec_add -- vec_sub -- vec_mul -- vec_concat CREATE OPERATOR <-> ( LEFTARG = vector, RIGHTARG = vector, PROCEDURE = l2_distance, COMMUTATOR = '<->' ); CREATE OPERATOR <#> ( LEFTARG = vector, RIGHTARG = vector, PROCEDURE = negative_inner_product, COMMUTATOR = '<#>' ); CREATE OPERATOR <=> ( LEFTARG = vector, RIGHTARG = vector, PROCEDURE = cosine_distance, COMMUTATOR = '<=>' ); CREATE OPERATOR <+> ( LEFTARG = vector, RIGHTARG = vector, PROCEDURE = l1_distance, COMMUTATOR = '<+>' ); CREATE OPERATOR + ( LEFTARG = vector, RIGHTARG = vector, PROCEDURE = vec_add, COMMUTATOR = '+' ); CREATE OPERATOR - ( LEFTARG = vector, RIGHTARG = vector, PROCEDURE = vec_sub ); CREATE OPERATOR * ( LEFTARG = vector, RIGHTARG = vector, PROCEDURE = vec_mul, COMMUTATOR = '*' ); CREATE OPERATOR || ( LEFTARG = vector, RIGHTARG = vector, PROCEDURE = vector_concat ); /* */ /* */ -- src/index/mod.rs:189 -- requires: -- turbovec_index_handler_decl -- vec_operators -- max_sim -- Phase Q (v1.3.0): the side-table `turbovec.am_storage` is -- gone. All index state lives in the index relation's main -- fork via the relfile path (the only storage strategy). -- Drop any leftover row from a v1.0.x..v1.2.0 install. Users -- with existing turbovec indexes must `REINDEX INDEX ;` -- after upgrade — `ambeginscan` errors loudly otherwise. DROP TABLE IF EXISTS turbovec.am_storage CASCADE; -- Register the access method. CREATE ACCESS METHOD turbovec TYPE INDEX HANDLER turbovec_index_handler; -- Operator classes. Strategy 1 is the order-by operator. CREATE OPERATOR CLASS vec_ip_ops DEFAULT FOR TYPE vector USING turbovec AS OPERATOR 1 <#> (vector, vector) FOR ORDER BY float_ops, FUNCTION 1 negative_inner_product(vector, vector); CREATE OPERATOR CLASS vec_cosine_ops FOR TYPE vector USING turbovec AS OPERATOR 1 <=> (vector, vector) FOR ORDER BY float_ops, FUNCTION 1 cosine_distance(vector, vector); -- L2 / L1 operator classes. The TurboQuant kernel ranks by -- inner-product internally, but our amgettuple sets -- xs_recheckorderby = true so the executor recomputes the -- exact distance against the heap tuple. For unit-norm -- vectors (the recommended insert mode), inner-product and L2 -- ranking are equivalent (L2 = sqrt(2 - 2*IP)), so the -- candidate set quality matches the cosine path. For L1 the -- candidate set is noisier but recheck guarantees exact final -- ordering. CREATE OPERATOR CLASS vec_l2_ops FOR TYPE vector USING turbovec AS OPERATOR 1 <-> (vector, vector) FOR ORDER BY float_ops, FUNCTION 1 l2_distance(vector, vector); CREATE OPERATOR CLASS vec_l1_ops FOR TYPE vector USING turbovec AS OPERATOR 1 <+> (vector, vector) FOR ORDER BY float_ops, FUNCTION 1 l1_distance(vector, vector); -- Phase F-2: the ColBERT / multivector token index kind. The -- opclass is over the ARRAY type `turbovec.vector[]` (a column of -- per-doc token arrays). It registers NO order-by operator and NO -- `<=>`-style binary operator: ColBERT has no single-vector -- orderby semantics, so the planner has nothing to match and will -- NEVER pick this index for an `ORDER BY ... <=> q` scan (the -- forbidden amrescan path). The opclass exists purely so -- CREATE INDEX ... USING turbovec (tokens vec_colbert_ops) -- is accepted and routes to the v5 persistent-token-index build. -- Reads go through turbovec.colbert_search(), not the planner; -- ambeginscan/amrescan REJECT an ORDER BY scan on a kind=colbert -- index with a HINT to use colbert_search. Support function 1 is -- max_sim (the Phase D MaxSim kernel) purely to satisfy the AM's -- amsupport = 1; it is never invoked by the (rejected) scan path. CREATE OPERATOR CLASS vec_colbert_ops FOR TYPE vector[] USING turbovec AS FUNCTION 1 max_sim(vector[], vector[]); /* */ /* */ -- src/cast.rs:109 -- pg_turbovec::cast::vector_to_float4 CREATE FUNCTION "vector_to_float4"( "v" Vector, /* Vector */ "dim" INT, /* i32 */ "_transpose" bool /* bool */ ) RETURNS real[] /* Vec < f32 > */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vector_to_float4_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:156 -- pg_turbovec::halfvec_ops::vector_to_halfvec CREATE FUNCTION "vector_to_halfvec"( "v" Vector /* Vector */ ) RETURNS Halfvec /* Halfvec */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vector_to_halfvec_wrapper'; /* */ /* */ -- src/halfvec_ops.rs:284 -- requires: -- Halfvec -- HalfvecAccum -- halfvec_l2_distance -- halfvec_negative_inner_product -- halfvec_cosine_distance -- halfvec_l1_distance -- halfvec_add -- halfvec_sub -- halfvec_mul -- halfvec_concat -- vector_to_halfvec -- halfvec_to_vector -- array_to_halfvec -- halfvec_to_array -- halfvec_accum -- halfvec_combine -- halfvec_avg_finalfn -- halfvec_sum_finalfn -- Operators dispatch by argument type, so reusing <-> <#> <=> <+> -- is collision-free with both vector and pgvector.vector. CREATE OPERATOR <-> ( LEFTARG = halfvec, RIGHTARG = halfvec, PROCEDURE = halfvec_l2_distance, COMMUTATOR = '<->' ); CREATE OPERATOR <#> ( LEFTARG = halfvec, RIGHTARG = halfvec, PROCEDURE = halfvec_negative_inner_product, COMMUTATOR = '<#>' ); CREATE OPERATOR <=> ( LEFTARG = halfvec, RIGHTARG = halfvec, PROCEDURE = halfvec_cosine_distance, COMMUTATOR = '<=>' ); CREATE OPERATOR <+> ( LEFTARG = halfvec, RIGHTARG = halfvec, PROCEDURE = halfvec_l1_distance, COMMUTATOR = '<+>' ); -- Element-wise arithmetic + concatenation (parity with pgvector). CREATE OPERATOR + ( LEFTARG = halfvec, RIGHTARG = halfvec, PROCEDURE = halfvec_add, COMMUTATOR = '+' ); CREATE OPERATOR - ( LEFTARG = halfvec, RIGHTARG = halfvec, PROCEDURE = halfvec_sub ); CREATE OPERATOR * ( LEFTARG = halfvec, RIGHTARG = halfvec, PROCEDURE = halfvec_mul, COMMUTATOR = '*' ); CREATE OPERATOR || ( LEFTARG = halfvec, RIGHTARG = halfvec, PROCEDURE = halfvec_concat ); -- Casts between vector and halfvec; both directions explicit. CREATE CAST (vector AS halfvec) WITH FUNCTION vector_to_halfvec(vector); CREATE CAST (halfvec AS vector) WITH FUNCTION halfvec_to_vector(halfvec); CREATE CAST (real[] AS halfvec) WITH FUNCTION array_to_halfvec(real[]); CREATE CAST (halfvec AS real[]) WITH FUNCTION halfvec_to_array(halfvec); -- Aggregates. CREATE AGGREGATE avg(halfvec) ( SFUNC = halfvec_accum, STYPE = HalfvecAccum, FINALFUNC = halfvec_avg_finalfn, COMBINEFUNC = halfvec_combine, PARALLEL = SAFE ); CREATE AGGREGATE sum(halfvec) ( SFUNC = halfvec_accum, STYPE = HalfvecAccum, FINALFUNC = halfvec_sum_finalfn, COMBINEFUNC = halfvec_combine, PARALLEL = SAFE ); /* */ /* */ -- src/sparsevec_ops.rs:132 -- pg_turbovec::sparsevec_ops::vector_to_sparsevec CREATE FUNCTION "vector_to_sparsevec"( "v" Vector /* Vector */ ) RETURNS Sparsevec /* Sparsevec */ IMMUTABLE STRICT PARALLEL SAFE LANGUAGE c /* Rust */ AS 'MODULE_PATHNAME', 'vector_to_sparsevec_wrapper'; /* */ /* */ -- src/sparsevec_ops.rs:254 -- requires: -- Sparsevec -- SparsevecAccum -- sparsevec_l2_distance -- sparsevec_negative_inner_product -- sparsevec_cosine_distance -- sparsevec_l1_distance -- vector_to_sparsevec -- sparsevec_to_vector -- sparsevec_accum -- sparsevec_combine -- sparsevec_sum_finalfn CREATE OPERATOR <-> ( LEFTARG = sparsevec, RIGHTARG = sparsevec, PROCEDURE = sparsevec_l2_distance, COMMUTATOR = '<->' ); CREATE OPERATOR <#> ( LEFTARG = sparsevec, RIGHTARG = sparsevec, PROCEDURE = sparsevec_negative_inner_product, COMMUTATOR = '<#>' ); CREATE OPERATOR <=> ( LEFTARG = sparsevec, RIGHTARG = sparsevec, PROCEDURE = sparsevec_cosine_distance, COMMUTATOR = '<=>' ); CREATE OPERATOR <+> ( LEFTARG = sparsevec, RIGHTARG = sparsevec, PROCEDURE = sparsevec_l1_distance, COMMUTATOR = '<+>' ); CREATE CAST (vector AS sparsevec) WITH FUNCTION vector_to_sparsevec(vector); CREATE CAST (sparsevec AS vector) WITH FUNCTION sparsevec_to_vector(sparsevec); CREATE AGGREGATE sum(sparsevec) ( SFUNC = sparsevec_accum, STYPE = SparsevecAccum, FINALFUNC = sparsevec_sum_finalfn, COMBINEFUNC = sparsevec_combine, PARALLEL = SAFE ); /* */