Re: identify table oid for an AggState during plan tree initialization - Mailing list pgsql-hackers

From Masterprojekt Naumann1
Subject Re: identify table oid for an AggState during plan tree initialization
Date
Msg-id CANjJybSy5Nyq6_rH6P8BgoW212q9ub6+NyzT24WOErm6NG1fmw@mail.gmail.com
Whole thread Raw
In response to identify table oid for an AggState during plan tree initialization  (Masterprojekt Naumann1 <mpws2013n1@gmail.com>)
Responses Re: identify table oid for an AggState during plan tree initialization  (Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>)
List pgsql-hackers

2014/1/15 Masterprojekt Naumann1 <mpws2013n1@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?

pgsql-hackers by date:

Previous
From: Asif Naeem
Date:
Subject: Re: [bug fix] PostgreSQL fails to start on Windows if it crashes after tablespace creation
Next
From: Mel Gorman
Date:
Subject: Re: Linux kernel impact on PostgreSQL performance