diff --git a/src/test/regress/expected/test_setup.out b/src/test/regress/expected/test_setup.out index 5d9e6bf12b..3d0eeec996 100644 --- a/src/test/regress/expected/test_setup.out +++ b/src/test/regress/expected/test_setup.out @@ -209,10 +209,6 @@ CREATE FUNCTION ttdummy () RETURNS trigger AS :'regresslib' LANGUAGE C; -CREATE FUNCTION get_columns_length(oid[]) - RETURNS int - AS :'regresslib' - LANGUAGE C STRICT STABLE PARALLEL SAFE; -- Use hand-rolled hash functions and operator classes to get predictable -- result on different machines. The hash function for int4 simply returns -- the sum of the values passed to it and the one for text returns the length diff --git a/src/test/regress/regress.c b/src/test/regress/regress.c index a17afc98be..deffaea578 100644 --- a/src/test/regress/regress.c +++ b/src/test/regress/regress.c @@ -42,7 +42,6 @@ #include "utils/array.h" #include "utils/builtins.h" #include "utils/geo_decls.h" -#include "utils/lsyscache.h" #include "utils/memutils.h" #include "utils/rel.h" #include "utils/typcache.h" @@ -1222,43 +1221,3 @@ binary_coercible(PG_FUNCTION_ARGS) PG_RETURN_BOOL(IsBinaryCoercible(srctype, targettype)); } - -/* - * Return the length of the portion of a tuple consisting of the given array - * of data types. The input data types must be fixed-length data types. - */ -PG_FUNCTION_INFO_V1(get_columns_length); -Datum -get_columns_length(PG_FUNCTION_ARGS) -{ - ArrayType *ta = PG_GETARG_ARRAYTYPE_P(0); - Oid *type_oids; - int ntypes; - int column_offset = 0; - - if (ARR_HASNULL(ta) && array_contains_nulls(ta)) - elog(ERROR, "argument must not contain nulls"); - - if (ARR_NDIM(ta) > 1) - elog(ERROR, "argument must be empty or one-dimensional array"); - - type_oids = (Oid *) ARR_DATA_PTR(ta); - ntypes = ArrayGetNItems(ARR_NDIM(ta), ARR_DIMS(ta)); - for (int i = 0; i < ntypes; i++) - { - Oid typeoid = type_oids[i]; - int16 typlen; - bool typbyval; - char typalign; - - get_typlenbyvalalign(typeoid, &typlen, &typbyval, &typalign); - - /* the data type must be fixed-length */ - if (typlen < 0) - elog(ERROR, "type %u is not fixed-length data type", typeoid); - - column_offset = att_align_nominal(column_offset + typlen, typalign); - } - - PG_RETURN_INT32(column_offset); -} diff --git a/src/test/regress/sql/test_setup.sql b/src/test/regress/sql/test_setup.sql index 1b2d434683..06b0e2121f 100644 --- a/src/test/regress/sql/test_setup.sql +++ b/src/test/regress/sql/test_setup.sql @@ -257,11 +257,6 @@ CREATE FUNCTION ttdummy () AS :'regresslib' LANGUAGE C; -CREATE FUNCTION get_columns_length(oid[]) - RETURNS int - AS :'regresslib' - LANGUAGE C STRICT STABLE PARALLEL SAFE; - -- Use hand-rolled hash functions and operator classes to get predictable -- result on different machines. The hash function for int4 simply returns -- the sum of the values passed to it and the one for text returns the length