Re: What are ExecSeqMarkPos and ExecSeqRestrPos used for

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: What are ExecSeqMarkPos and ExecSeqRestrPos used for
Дата
Msg-id 15157.1370062071@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: What are ExecSeqMarkPos and ExecSeqRestrPos used for  (Stephen Frost <sfrost@snowman.net>)
Список pgsql-general
Stephen Frost <sfrost@snowman.net> writes:
> * DT (kurt023@hotmail.com) wrote:
>> I'm reading code of nodeSeqscan, and was confused with ExecSeqMarkPos and
>> ExecSeqRestrPos. They are only called by ExecMergeJoin. Could merge join use
>> a plain seqscan as outer/inner plan? If not, what are they used for?

> ExecSeqMarkPos and ExecSeqRestPos are called through execAmi.c's
> generalized ExecMarkPos and ExecRestrPos, which are then used by both
> nodeMergejoin.c and nodeResult.c.  Offhand, it seems unlikely that there
> would ever be a path from MergeJoin down to ExecSeqMarkPos as MergeJoin
> requires sorted inputs.  Perhaps it could happen with a full cartesian
> product but I don't know that we'd ever use a MergeJoin to implement
> that or that we have such an optimization today.

I'm pretty sure those are dead code.  See the comment for
ExecSupportsMarkRestore.

            regards, tom lane


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

Предыдущее
От: Bosco Rama
Дата:
Сообщение: Re: Using a CTE for an update
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Strange behavior of "=" as assignment operator