• Neil Conway's avatar
    GiST improvements: · eda6dd32
    Neil Conway authored
    - make sure we always invoke user-supplied GiST methods in a short-lived
      memory context. This means the backend isn't exposed to any memory leaks
      that be in those methods (in fact, it is probably a net loss for most
      GiST methods to bother manually freeing memory now). This also means
      we can do away with a lot of ugly manual memory management in the
      GiST code itself.
    
    - keep the current page of a GiST index scan pinned, rather than doing a
      ReadBuffer() for each tuple produced by the scan. Since ReadBuffer() is
      expensive, this is a perf. win
    
    - implement dead tuple killing for GiST indexes (which is easy to do, now
      that we keep a pin on the current scan page). Now all the builtin indexes
      implement dead tuple killing.
    
    - cleanup a lot of ugly code in GiST
    eda6dd32
gist.h 6.04 KB