• Andres Freund's avatar
    Fix slot type issue for fuzzy distance index scan over out-of-core table AM. · b8b94ea1
    Andres Freund authored
    For amcanreorderby scans the nodeIndexscan.c's reorder queue holds
    heap tuples, but the underlying table likely does not. Before this fix
    we'd return different types of slots, depending on whether the tuple
    came from the reorder queue, or from the index + table.
    
    While that could be fixed by signalling that the node doesn't return a
    fixed type of slot, it seems better to instead remove the separate
    slot for the reorder queue, and use ExecForceStoreHeapTuple() to store
    tuples from the queue. It's not particularly common to need
    reordering, after all.
    
    This reverts most of the iss_ReorderQueueSlot related changes to
    nodeIndexscan.c made in 1a0586de, except that now
    ExecForceStoreHeapTuple() is used instead of ExecStoreHeapTuple().
    
    Noticed when testing zheap against the in-core version of tableam.
    
    Author: Andres Freund
    b8b94ea1
nodeIndexscan.c 50.7 KB