diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2004-06-06 00:41:28 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2004-06-06 00:41:28 +0000 |
commit | c541bb86e9ec8fed37b23df6a0df703d0bde4dfa (patch) | |
tree | b4cff96eecc86e338274ec5d7355918efe9c149e /src/backend/executor/execTuples.c | |
parent | c3a153afed84e29dac664bdc6123724a9e3a906f (diff) |
Infrastructure for I/O of composite types: arrange for the I/O routines
of a composite type to get that type's OID as their second parameter,
in place of typelem which is useless. The actual changes are mostly
centralized in getTypeInputInfo and siblings, but I had to fix a few
places that were fetching pg_type.typelem for themselves instead of
using the lsyscache.c routines. Also, I renamed all the related variables
from 'typelem' to 'typioparam' to discourage people from assuming that
they necessarily contain array element types.
Diffstat (limited to 'src/backend/executor/execTuples.c')
-rw-r--r-- | src/backend/executor/execTuples.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/backend/executor/execTuples.c b/src/backend/executor/execTuples.c index 8dd8cfc394f..950d9d7f3bc 100644 --- a/src/backend/executor/execTuples.c +++ b/src/backend/executor/execTuples.c @@ -15,7 +15,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/executor/execTuples.c,v 1.79 2004/05/30 23:40:26 neilc Exp $ + * $PostgreSQL: pgsql/src/backend/executor/execTuples.c,v 1.80 2004/06/06 00:41:26 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -685,7 +685,7 @@ TupleDescGetAttInMetadata(TupleDesc tupdesc) Oid atttypeid; Oid attinfuncid; FmgrInfo *attinfuncinfo; - Oid *attelems; + Oid *attioparams; int32 *atttypmods; AttInMetadata *attinmeta; @@ -699,7 +699,7 @@ TupleDescGetAttInMetadata(TupleDesc tupdesc) * attribute */ attinfuncinfo = (FmgrInfo *) palloc0(natts * sizeof(FmgrInfo)); - attelems = (Oid *) palloc0(natts * sizeof(Oid)); + attioparams = (Oid *) palloc0(natts * sizeof(Oid)); atttypmods = (int32 *) palloc0(natts * sizeof(int32)); for (i = 0; i < natts; i++) @@ -708,13 +708,13 @@ TupleDescGetAttInMetadata(TupleDesc tupdesc) if (!tupdesc->attrs[i]->attisdropped) { atttypeid = tupdesc->attrs[i]->atttypid; - getTypeInputInfo(atttypeid, &attinfuncid, &attelems[i]); + getTypeInputInfo(atttypeid, &attinfuncid, &attioparams[i]); fmgr_info(attinfuncid, &attinfuncinfo[i]); atttypmods[i] = tupdesc->attrs[i]->atttypmod; } } attinmeta->attinfuncs = attinfuncinfo; - attinmeta->attelems = attelems; + attinmeta->attioparams = attioparams; attinmeta->atttypmods = atttypmods; return attinmeta; @@ -732,7 +732,7 @@ BuildTupleFromCStrings(AttInMetadata *attinmeta, char **values) Datum *dvalues; char *nulls; int i; - Oid attelem; + Oid attioparam; int32 atttypmod; HeapTuple tuple; @@ -747,12 +747,12 @@ BuildTupleFromCStrings(AttInMetadata *attinmeta, char **values) /* Non-dropped attributes */ if (values[i] != NULL) { - attelem = attinmeta->attelems[i]; + attioparam = attinmeta->attioparams[i]; atttypmod = attinmeta->atttypmods[i]; dvalues[i] = FunctionCall3(&attinmeta->attinfuncs[i], CStringGetDatum(values[i]), - ObjectIdGetDatum(attelem), + ObjectIdGetDatum(attioparam), Int32GetDatum(atttypmod)); nulls[i] = ' '; } |