Re: identify table oid for an AggState during plan tree initialization

Поиск
Список
Период
Сортировка
От Ashutosh Bapat
Тема Re: identify table oid for an AggState during plan tree initialization
Дата
Msg-id CAFjFpRf73w3C-rri4wzfJkgJUkuy3BM_oGbcir6hyMA4dHuDfw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: identify table oid for an AggState during plan tree initialization  (Masterprojekt Naumann1 <mpws2013n1@gmail.com>)
Ответы Re: identify table oid for an AggState during plan tree initialization  (Masterprojekt Naumann1 <mpws2013n1@gmail.com>)
Список pgsql-hackers
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 <mpws2013n1@gmail.com> wrote:

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?



--
Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Marko Tiikkaja
Дата:
Сообщение: Re: plpgsql.warn_shadow
Следующее
От: "Erik Rijkers"
Дата:
Сообщение: Re: nested hstore patch - FailedAssertion("!(value->array.nelems == 1)