Re: A question about ExplainOnePlan()

Поиск
Список
Период
Сортировка
От Gurjeet Singh
Тема Re: A question about ExplainOnePlan()
Дата
Msg-id 65937bea0612130810n35955491wac64b4c2d4e84f57@mail.gmail.com
обсуждение исходный текст
Ответ на Re: A question about ExplainOnePlan()  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: A question about ExplainOnePlan()  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 12/13/06, Tom Lane <tgl@sss.pgh.pa.us> wrote:
"Gurjeet Singh" <singh.gurjeet@gmail.com> writes:
>     Can we avoid calls to Executor{Start|End}() here, or is it necessary to
> call them even for non-ANALYZE case?

No; at least not unless you want to duplicate the permission-checking
machinery inside ExecutorStart.  

I had seen the ExecCheckRTPerms() call inside InitPlan(), but didn't know that we considered even the EXPLAIN output to be so sensitive.

Otherwise EXPLAIN could be used to
obtain information about tables you're not supposed to be able to read
(for instance, the estimated number of rows matching a WHERE condition
could be sensitive information).

Also, you'd have to uglify explain.c quite a lot to be able to handle
the case of traversing a plan tree without a matching planstate tree.

Thanks.


--
gurjeet[.singh]@EnterpriseDB.com
singh.gurjeet@{ gmail | hotmail | yahoo }.com

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: A question about ExplainOnePlan()
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Plan invalidation plans