heap_markpos and heap_restrpos
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
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