Currently we do the test for old snapshot (TestForOldSnapshot) for hash indexes while scanning them. Does this test makes any sense for hash indexes considering LSN on hash index will always be zero (as hash indexes are not WAL-logged)? It seems to me that PageLSN check in TestForOldSnapshot() will always return false which means that the error "snapshot too old" won't be generated for hash indexes.
Am I missing something here, if not, then I think we need a way to prohibit pruning for hash indexes based on old_snapshot_threshold?