Stephen Frost <sfrost@xxxxxxxxxxx> writes: > * DT (kurt023@xxxxxxxxxxx) 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 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general