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 по дате отправления: