@@ -69,6 +69,9 @@ CREATE FUNCTION vector_sub(vector, vector) RETURNS vector
6969CREATE FUNCTION vector_mul (vector, vector) RETURNS vector
7070 AS ' MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
7171
72+ CREATE FUNCTION vector_concat (vector, vector) RETURNS vector
73+ AS ' MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
74+
7275CREATE FUNCTION vector_lt (vector, vector) RETURNS bool
7376 AS ' MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
7477
@@ -197,6 +200,10 @@ CREATE OPERATOR * (
197200 COMMUTATOR = *
198201);
199202
203+ CREATE OPERATOR || (
204+ LEFTARG = vector, RIGHTARG = vector, PROCEDURE = vector_concat
205+ );
206+
200207CREATE OPERATOR < (
201208 LEFTARG = vector, RIGHTARG = vector, PROCEDURE = vector_lt,
202209 COMMUTATOR = > , NEGATOR = >= ,
@@ -393,6 +400,9 @@ CREATE FUNCTION halfvec_sub(halfvec, halfvec) RETURNS halfvec
393400CREATE FUNCTION halfvec_mul (halfvec, halfvec) RETURNS halfvec
394401 AS ' MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
395402
403+ CREATE FUNCTION halfvec_concat (halfvec, halfvec) RETURNS halfvec
404+ AS ' MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
405+
396406CREATE FUNCTION halfvec_lt (halfvec, halfvec) RETURNS bool
397407 AS ' MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
398408
@@ -530,6 +540,10 @@ CREATE OPERATOR * (
530540 COMMUTATOR = *
531541);
532542
543+ CREATE OPERATOR || (
544+ LEFTARG = halfvec, RIGHTARG = halfvec, PROCEDURE = halfvec_concat
545+ );
546+
533547CREATE OPERATOR < (
534548 LEFTARG = halfvec, RIGHTARG = halfvec, PROCEDURE = halfvec_lt,
535549 COMMUTATOR = > , NEGATOR = >= ,
0 commit comments