mirror of
https://github.com/postgres/postgres.git
synced 2025-07-08 11:42:09 +03:00
Change tupledesc->attrs[n] to TupleDescAttr(tupledesc, n).
This is a mechanical change in preparation for a later commit that will change the layout of TupleDesc. Introducing a macro to abstract the details of where attributes are stored will allow us to change that in separate step and revise it in future. Author: Thomas Munro, editorialized by Andres Freund Reviewed-By: Andres Freund Discussion: https://postgr.es/m/CAEepm=0ZtQ-SpsgCyzzYpsXS6e=kZWqk3g5Ygn3MDV7A8dabUA@mail.gmail.com
This commit is contained in:
@ -202,7 +202,7 @@ ExecInitTableFuncScan(TableFuncScan *node, EState *estate, int eflags)
|
||||
{
|
||||
Oid in_funcid;
|
||||
|
||||
getTypeInputInfo(tupdesc->attrs[i]->atttypid,
|
||||
getTypeInputInfo(TupleDescAttr(tupdesc, i)->atttypid,
|
||||
&in_funcid, &scanstate->typioparams[i]);
|
||||
fmgr_info(in_funcid, &scanstate->in_functions[i]);
|
||||
}
|
||||
@ -390,6 +390,7 @@ tfuncInitialize(TableFuncScanState *tstate, ExprContext *econtext, Datum doc)
|
||||
foreach(lc1, tstate->colexprs)
|
||||
{
|
||||
char *colfilter;
|
||||
Form_pg_attribute att = TupleDescAttr(tupdesc, colno);
|
||||
|
||||
if (colno != ordinalitycol)
|
||||
{
|
||||
@ -403,11 +404,11 @@ tfuncInitialize(TableFuncScanState *tstate, ExprContext *econtext, Datum doc)
|
||||
(errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED),
|
||||
errmsg("column filter expression must not be null"),
|
||||
errdetail("Filter for column \"%s\" is null.",
|
||||
NameStr(tupdesc->attrs[colno]->attname))));
|
||||
NameStr(att->attname))));
|
||||
colfilter = TextDatumGetCString(value);
|
||||
}
|
||||
else
|
||||
colfilter = NameStr(tupdesc->attrs[colno]->attname);
|
||||
colfilter = NameStr(att->attname);
|
||||
|
||||
routine->SetColumnFilter(tstate, colfilter, colno);
|
||||
}
|
||||
@ -453,6 +454,8 @@ tfuncLoadRows(TableFuncScanState *tstate, ExprContext *econtext)
|
||||
*/
|
||||
for (colno = 0; colno < natts; colno++)
|
||||
{
|
||||
Form_pg_attribute att = TupleDescAttr(tupdesc, colno);
|
||||
|
||||
if (colno == ordinalitycol)
|
||||
{
|
||||
/* Fast path for ordinality column */
|
||||
@ -465,8 +468,8 @@ tfuncLoadRows(TableFuncScanState *tstate, ExprContext *econtext)
|
||||
|
||||
values[colno] = routine->GetValue(tstate,
|
||||
colno,
|
||||
tupdesc->attrs[colno]->atttypid,
|
||||
tupdesc->attrs[colno]->atttypmod,
|
||||
att->atttypid,
|
||||
att->atttypmod,
|
||||
&isnull);
|
||||
|
||||
/* No value? Evaluate and apply the default, if any */
|
||||
@ -484,7 +487,7 @@ tfuncLoadRows(TableFuncScanState *tstate, ExprContext *econtext)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED),
|
||||
errmsg("null is not allowed in column \"%s\"",
|
||||
NameStr(tupdesc->attrs[colno]->attname))));
|
||||
NameStr(att->attname))));
|
||||
|
||||
nulls[colno] = isnull;
|
||||
}
|
||||
|
Reference in New Issue
Block a user