Hmm. Am I reading it right that this discussion led to moving essentially all code from tqual.c to heapam? Given the hard time we've had to get tqual.c right, it seems fundamentally misguided to me to require that every single storage AM reimplements all the visibility routines.
I think that changing tqual's API (such as not passing HeapTuples anymore but some other more general representation) would be okay and should be sufficient, but this wholesale movement of code seems dangerous and wasteful in terms of future reimplementations that will be necessary. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services