-
- Downloads
Concurrency for GiST
- 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
Showing
- src/backend/access/gist/gist.c 384 additions, 99 deletionssrc/backend/access/gist/gist.c
- src/backend/access/gist/gistget.c 204 additions, 122 deletionssrc/backend/access/gist/gistget.c
- src/backend/access/gist/gistscan.c 33 additions, 70 deletionssrc/backend/access/gist/gistscan.c
- src/backend/access/gist/gistutil.c 30 additions, 18 deletionssrc/backend/access/gist/gistutil.c
- src/backend/access/gist/gistvacuum.c 150 additions, 116 deletionssrc/backend/access/gist/gistvacuum.c
- src/backend/access/gist/gistxlog.c 42 additions, 59 deletionssrc/backend/access/gist/gistxlog.c
- src/backend/access/index/indexam.c 8 additions, 2 deletionssrc/backend/access/index/indexam.c
- src/include/access/gist.h 28 additions, 11 deletionssrc/include/access/gist.h
- src/include/access/gist_private.h 101 additions, 88 deletionssrc/include/access/gist_private.h
- src/include/access/gistscan.h 3 additions, 2 deletionssrc/include/access/gistscan.h
- src/include/catalog/catversion.h 2 additions, 2 deletionssrc/include/catalog/catversion.h
- src/include/catalog/pg_am.h 2 additions, 2 deletionssrc/include/catalog/pg_am.h
Loading
Please register or sign in to comment