Re: Patch to support SEMI and ANTI join removal

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Patch to support SEMI and ANTI join removal
Дата
Msg-id 20140929094742.GB14652@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: Patch to support SEMI and ANTI join removal  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Patch to support SEMI and ANTI join removal  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 2014-09-28 10:41:56 -0400, Tom Lane wrote:
> David Rowley <dgrowleyml@gmail.com> writes:
> > Please correct anything that sounds wrong here, but my understanding is
> > that we'll always plan a query right before we execute it, with the
> > exception of PREPARE statements where PostgreSQL will cache the query plan
> > when the prepare statement is first executed.
> 
> If this optimization only works in that scenario, it's dead in the water,
> because that assumption is unsupportable.  The planner does not in general
> use the same query snapshot as the executor, so even in an immediate-
> execution workflow there could have been data changes (caused by other
> transactions) between planning and execution.

I don't think the effects of other queries are the problem here. The
effect of other backend's deferred FK checks shouldn't matter for other
backends for normal query purposes. It's the planning backend that might
have deferred checks and thus temporarily violated foreign keys.

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



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

Предыдущее
От: David Rowley
Дата:
Сообщение: Re: Patch to support SEMI and ANTI join removal
Следующее
От: Andres Freund
Дата:
Сообщение: Re: initdb -S and tablespaces