Teodor Sigaev <teodor@sigaev.ru> writes:
> - GiST already supports both scan directions in theory, but page split may
> change order between forward and backward scans (user-defined pageSplit doesn't
> preserve order of tuples). Holding of split until end of scan will produce
> unacceptable concurrency level.
> - GIN doesn't support backward scan direction and will not support in close
> future.
Okay. I'll see about fixing the planner to not assume that GIST or GIN
indexscans are scrollable.
The cleanest way to do this is to introduce a new bool column in pg_am
rather than hard-wiring assumptions about which AMs can do it. However
(a) that's not back-patchable and (b) it'll create a merge conflict with
your patch, if you're still going to add a new AM function column.
I think that aminsertcleanup per se isn't needed, but if we want an
"amanalyze" there'd still be a conflict. Where are we on that?
regards, tom lane