Re: [HACKERS] CTE inlining

Поиск
Список
Период
Сортировка
От David Fetter
Тема Re: [HACKERS] CTE inlining
Дата
Msg-id 20170501141734.GD28992@fetter.org
обсуждение исходный текст
Ответ на Re: [HACKERS] CTE inlining  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
Ответы Re: [HACKERS] CTE inlining  (Andreas Karlsson <andreas@proxel.se>)
Re: [HACKERS] CTE inlining  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
Список pgsql-hackers
On Mon, May 01, 2017 at 09:22:42AM -0400, Andrew Dunstan wrote:
> > So no more planner-affecting GUCs, please, particularly if we expect
> > regular users to use them.
> 
> +1
> 
> I still see users wanting to use the enable_foo settings in production.
> 
> Having had years of telling users that CTEs are an optimization fence it
> doesn't seem at all nice for us to turn around and change our mind about
> that. I have relied on it in the past and I'm sure I'm very far from
> alone in that.

You are certainly not alone, but I believe that in this you're missing
the vast majority (we hope) of PostgreSQL users.  These are the users
who have yet to adopt PostgreSQL, and have the quite reasonable
expectation that ordinary-looking grammar *isn't* an optimization
fence.

> Maybe we could allow a "decorator" that would tell the planner the CTE
> could be inlined?
> 
>     WITH INLINE mycte AS ( ...)

+1 for a decorator, -1 for this one.

We already have an explicit optimization fence with OFFSET 0, and I
think making optimization fences explicit is how we should continue.
I'd be more in favor of something along the lines of
   WITH FENCED        /* Somewhat fuzzy.  What fence? */   or   WITH AT_MOST_ONCE  /* Clearer, but not super precise */
 or   WITH UNIQUE_ATOMIC /* More descriptive, but not super clear without the docs in hand */
 

or something along that line.

Best,
David.
-- 
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: david(dot)fetter(at)gmail(dot)com

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate



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

Предыдущее
От: Neha Khatri
Дата:
Сообщение: [HACKERS] Description of create_singleton_array()
Следующее
От: Robert Haas
Дата:
Сообщение: Re: [HACKERS] PG 10 release notes