diff options
author | Bruce Momjian <bruce@momjian.us> | 2003-06-25 21:30:34 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2003-06-25 21:30:34 +0000 |
commit | 111d8e522b61169393e2698924db07586fdd847f (patch) | |
tree | a62b7f9640246a64003131f472793a295417051f /src/include/utils/array.h | |
parent | 621691d816c45396ab9f8f9486ee9eb2a037795c (diff) | |
download | postgresql-111d8e522b61169393e2698924db07586fdd847f.tar.gz postgresql-111d8e522b61169393e2698924db07586fdd847f.zip |
Back out array mega-patch.
Joe Conway
Diffstat (limited to 'src/include/utils/array.h')
-rw-r--r-- | src/include/utils/array.h | 55 |
1 files changed, 7 insertions, 48 deletions
diff --git a/src/include/utils/array.h b/src/include/utils/array.h index 5df86b1827f..23a32d3459e 100644 --- a/src/include/utils/array.h +++ b/src/include/utils/array.h @@ -10,7 +10,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: array.h,v 1.39 2003/06/24 23:14:49 momjian Exp $ + * $Id: array.h,v 1.40 2003/06/25 21:30:33 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -32,37 +32,6 @@ typedef struct Oid elemtype; /* element type OID */ } ArrayType; -typedef struct ArrayBuildState -{ - MemoryContext mcontext; /* where all the temp stuff is kept */ - Datum *dvalues; /* array of accumulated Datums */ - /* - * The allocated size of dvalues[] is always a multiple of - * ARRAY_ELEMS_CHUNKSIZE - */ -#define ARRAY_ELEMS_CHUNKSIZE 64 - int nelems; /* number of valid Datums in dvalues[] */ - Oid element_type; /* data type of the Datums */ - int16 typlen; /* needed info about datatype */ - bool typbyval; - char typalign; -} ArrayBuildState; - -/* - * structure to cache type metadata needed for array manipulation - */ -typedef struct ArrayMetaState -{ - Oid element_type; - int typlen; - bool typbyval; - char typdelim; - Oid typelem; - Oid typiofunc; - char typalign; - FmgrInfo proc; -} ArrayMetaState; - /* * fmgr macros for array objects */ @@ -117,15 +86,11 @@ extern Datum array_recv(PG_FUNCTION_ARGS); extern Datum array_send(PG_FUNCTION_ARGS); extern Datum array_length_coerce(PG_FUNCTION_ARGS); extern Datum array_eq(PG_FUNCTION_ARGS); -extern Datum array_ne(PG_FUNCTION_ARGS); -extern Datum array_lt(PG_FUNCTION_ARGS); -extern Datum array_gt(PG_FUNCTION_ARGS); -extern Datum array_le(PG_FUNCTION_ARGS); -extern Datum array_ge(PG_FUNCTION_ARGS); -extern Datum btarraycmp(PG_FUNCTION_ARGS); extern Datum array_dims(PG_FUNCTION_ARGS); extern Datum array_lower(PG_FUNCTION_ARGS); extern Datum array_upper(PG_FUNCTION_ARGS); +extern Datum array_assign(PG_FUNCTION_ARGS); +extern Datum array_subscript(PG_FUNCTION_ARGS); extern Datum array_type_coerce(PG_FUNCTION_ARGS); extern Datum array_ref(ArrayType *array, int nSubscripts, int *indx, @@ -159,14 +124,7 @@ extern void deconstruct_array(ArrayType *array, Oid elmtype, int elmlen, bool elmbyval, char elmalign, Datum **elemsp, int *nelemsp); -extern ArrayBuildState *accumArrayResult(ArrayBuildState *astate, - Datum dvalue, bool disnull, - Oid element_type, - MemoryContext rcontext); -extern Datum makeArrayResult(ArrayBuildState *astate, - MemoryContext rcontext); -extern Datum makeMdArrayResult(ArrayBuildState *astate, int ndims, - int *dims, int *lbs, MemoryContext rcontext); + /* * prototypes for functions defined in arrayutils.c @@ -183,11 +141,12 @@ extern int mda_next_tuple(int n, int *curr, int *span); /* * prototypes for functions defined in array_userfuncs.c */ +extern Datum singleton_array(PG_FUNCTION_ARGS); extern Datum array_push(PG_FUNCTION_ARGS); +extern Datum array_accum(PG_FUNCTION_ARGS); extern Datum array_cat(PG_FUNCTION_ARGS); -extern ArrayType *create_singleton_array(FunctionCallInfo fcinfo, - Oid element_type, +extern ArrayType *create_singleton_array(Oid element_type, Datum element, int ndims); |