aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/array_userfuncs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/adt/array_userfuncs.c')
-rw-r--r--src/backend/utils/adt/array_userfuncs.c73
1 files changed, 0 insertions, 73 deletions
diff --git a/src/backend/utils/adt/array_userfuncs.c b/src/backend/utils/adt/array_userfuncs.c
index 8da3e0ac5b8..dc2a1749db1 100644
--- a/src/backend/utils/adt/array_userfuncs.c
+++ b/src/backend/utils/adt/array_userfuncs.c
@@ -455,79 +455,6 @@ array_cat(PG_FUNCTION_ARGS)
/*
- * create_singleton_array - make a one-element array
- *
- * If desired, the caller can ask for it to be higher than one-dimensional.
- * Caller's fcinfo must be passed in, as we use fn_extra for caching.
- */
-ArrayType *
-create_singleton_array(FunctionCallInfo fcinfo,
- Oid element_type,
- Datum element,
- bool isNull,
- int ndims)
-{
- Datum dvalues[1];
- bool nulls[1];
- int16 typlen;
- bool typbyval;
- char typalign;
- int dims[MAXDIM];
- int lbs[MAXDIM];
- int i;
- ArrayMetaState *my_extra;
-
- if (ndims < 1)
- ereport(ERROR,
- (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
- errmsg("invalid number of dimensions: %d", ndims)));
- if (ndims > MAXDIM)
- ereport(ERROR,
- (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
- errmsg("number of array dimensions (%d) exceeds the maximum allowed (%d)",
- ndims, MAXDIM)));
-
- dvalues[0] = element;
- nulls[0] = isNull;
-
- for (i = 0; i < ndims; i++)
- {
- dims[i] = 1;
- lbs[i] = 1;
- }
-
- /*
- * We arrange to look up info about element type only once per series of
- * calls, assuming the element type doesn't change underneath us.
- */
- my_extra = (ArrayMetaState *) fcinfo->flinfo->fn_extra;
- if (my_extra == NULL)
- {
- fcinfo->flinfo->fn_extra = MemoryContextAlloc(fcinfo->flinfo->fn_mcxt,
- sizeof(ArrayMetaState));
- my_extra = (ArrayMetaState *) fcinfo->flinfo->fn_extra;
- my_extra->element_type = ~element_type;
- }
-
- if (my_extra->element_type != element_type)
- {
- /* Get info about element type */
- get_typlenbyvalalign(element_type,
- &my_extra->typlen,
- &my_extra->typbyval,
- &my_extra->typalign);
- my_extra->element_type = element_type;
- }
- typlen = my_extra->typlen;
- typbyval = my_extra->typbyval;
- typalign = my_extra->typalign;
-
- return construct_md_array(dvalues, nulls, ndims, dims, lbs, element_type,
- typlen, typbyval, typalign);
-}
-
-
-/*
* ARRAY_AGG(anynonarray) aggregate function
*/
Datum