• T
    Concurrency for GiST · e8cab5fe
    Teodor Sigaev 提交于
    - full concurrency for insert/update/select/vacuum:
            - select and vacuum never locks more than one page simultaneously
            - select (gettuple) hasn't any lock across it's calls
            - insert never locks more than two page simultaneously:
                    - during search of leaf to insert it locks only one page
                      simultaneously
                    - while walk upward to the root it locked only parent (may be
                      non-direct parent) and child. One of them X-lock, another may
                      be S- or X-lock
    - 'vacuum full' locks index
    - improve gistgetmulti
    - simplify XLOG records
    
    Fix bug in index_beginscan_internal: LockRelation may clean
      rd_aminfo structure, so move GET_REL_PROCEDURE after LockRelation
    e8cab5fe
gist.h 4.2 KB