diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-08-26 17:54:02 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-08-26 17:54:02 +0000 |
| commit | 5cabcfccce4b8b826c9b30828f3012b7926a6946 (patch) | |
| tree | 3e14c0710a45b4195734dd3189eb89eac4969073 /contrib/intagg | |
| parent | 8009c275925dda90f1275ba70f5c2a63abaa520b (diff) | |
| download | postgresql-5cabcfccce4b8b826c9b30828f3012b7926a6946.tar.gz | |
Modify array operations to include array's element type OID in the
array header, and to compute sizing and alignment of array elements
the same way normal tuple access operations do --- viz, using the
tupmacs.h macros att_addlength and att_align. This makes the world
safe for arrays of cstrings or intervals, and should make it much
easier to write array-type-polymorphic functions; as examples see
the cleanups of array_out and contrib/array_iterator. By Joe Conway
and Tom Lane.
Diffstat (limited to 'contrib/intagg')
| -rw-r--r-- | contrib/intagg/int_aggregate.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/contrib/intagg/int_aggregate.c b/contrib/intagg/int_aggregate.c index 6e8d17b747..3801a3d91a 100644 --- a/contrib/intagg/int_aggregate.c +++ b/contrib/intagg/int_aggregate.c @@ -38,9 +38,9 @@ #include "utils/lsyscache.h" -/* This is actually a postgres version of a one dimentional array */ +/* This is actually a postgres version of a one dimensional array */ -typedef struct agg +typedef struct { ArrayType a; int items; @@ -95,8 +95,9 @@ static PGARRAY * GetPGArray(int4 state, int fAdd) } p->a.size = cb; - p->a.ndim= 0; + p->a.ndim = 0; p->a.flags = 0; + p->a.elmtype = INT4OID; p->items = 0; p->lower= START_NUM; } @@ -149,6 +150,7 @@ static PGARRAY *ShrinkPGArray(PGARRAY *p) pnew->a.size = cb; pnew->a.ndim=1; pnew->a.flags = 0; + pnew->a.elmtype = INT4OID; pnew->lower = 0; } else |
