heap_markpos and heap_restrpos

Started by Heikki Linnakangasover 19 years ago2 messages
#1Heikki Linnakangas
heikki@enterprisedb.com

What's the purpose of mark/restrpos in heapam.c?

AFAIK, mark/restore is only used by merge joins, and you can't feed a
merge join from a heap scan because merge join requires sorted input.

Unless I'm missing something, heap_markpos and heap_restrpos are dead code.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Heikki Linnakangas (#1)
Re: heap_markpos and heap_restrpos

Heikki Linnakangas <heikki@enterprisedb.com> writes:

What's the purpose of mark/restrpos in heapam.c?

It's deadwood --- see the comment for ExecSupportsMarkRestore:

/*
* ExecSupportsMarkRestore - does a plan type support mark/restore?
*
* XXX Ideally, all plan node types would support mark/restore, and this
* wouldn't be needed. For now, this had better match the routines above.
* But note the test is on Plan nodetype, not PlanState nodetype.
*
* (However, since the only present use of mark/restore is in mergejoin,
* there is no need to support mark/restore in any plan type that is not
* capable of generating ordered output. So the seqscan, tidscan,
* functionscan, and valuesscan support is actually useless code at present.)
*/

I haven't seen a reason to take it out, but if you have in mind
something that would actively break it, removing it is no problem.

regards, tom lane