Hi Cathleen, An aggregate can be working on more than one table e.g. select count(*) from a, b, c where a.c1 = b.c1 and b.c1 = c.c1;
In such a case, which table would you like to be reported? IOW, it doesn't look to be sensible to attach and aggregate with a table. If you can explain what you intend to do with that information, there might be other ways to solve your problem. On Wed, Jan 15, 2014 at 3:29 PM, Masterprojekt Naumann1 < mpws201...@gmail.com> wrote: > > 2014/1/15 Masterprojekt Naumann1 <mpws201...@gmail.com> > >> Hi, >> >> during the initialization of the nodes in the plan tree (in ExecInitNode >> in the file execProcnode.c) I want to find out for a node with the type >> T_Agg which table will be aggregated. I tried the following: >> >> resultAsAggState = ExecInitAgg((Agg *) node, estate, eflags); >> >> if (resultAsAggState) >> { >> //tableOid = rel->rd_id; >> //tableOid = resultAsAggState->ss.ss_currentRelation->rd_id; >> } >> It would be great to get the Oid of the table, but I would also be >> satisfied if I could get at least the name of the table. Does anyone know >> if it is possible to gather these information? >> >> Best regards >> Cathleen >> > > Sorry my mail program send the mail to early. Please ignore the line > tableOid = rel->rd_id. I was just deleting the line when google send the > mail :( > > resultAsAggState is of the type AggState. As you can see I tried to get > the Oid with the ScanState inside of the AggState, but its Relation > ss_currentRelation is not set already. Is there another way to get the Oid? > -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company