pgsql: Concurrency for GiST - full concurrency for

From: teodor(at)svr1(dot)postgresql(dot)org (Teodor Sigaev)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Concurrency for GiST - full concurrency for
Date: 2005-06-27 12:45:23
Message-ID: 20050627124523.6292252813@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
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

Modified Files:
--------------
pgsql/src/backend/access/gist:
gist.c (r1.121 -> r1.122)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gist.c.diff?r1=1.121&r2=1.122)
gistget.c (r1.49 -> r1.50)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gistget.c.diff?r1=1.49&r2=1.50)
gistscan.c (r1.58 -> r1.59)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gistscan.c.diff?r1=1.58&r2=1.59)
gistutil.c (r1.2 -> r1.3)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gistutil.c.diff?r1=1.2&r2=1.3)
gistvacuum.c (r1.2 -> r1.3)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gistvacuum.c.diff?r1=1.2&r2=1.3)
gistxlog.c (r1.3 -> r1.4)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gistxlog.c.diff?r1=1.3&r2=1.4)
pgsql/src/backend/access/index:
indexam.c (r1.83 -> r1.84)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/index/indexam.c.diff?r1=1.83&r2=1.84)
pgsql/src/include/access:
gist.h (r1.47 -> r1.48)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/gist.h.diff?r1=1.47&r2=1.48)
gist_private.h (r1.5 -> r1.6)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/gist_private.h.diff?r1=1.5&r2=1.6)
gistscan.h (r1.26 -> r1.27)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/gistscan.h.diff?r1=1.26&r2=1.27)
pgsql/src/include/catalog:
catversion.h (r1.281 -> r1.282)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.281&r2=1.282)
pg_am.h (r1.36 -> r1.37)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_am.h.diff?r1=1.36&r2=1.37)

Browse pgsql-committers by date

  From Date Subject
Next Message User Andreas 2005-06-27 22:12:41 tablelog - tablelog: fix an error (wrong parameter was printed)
Previous Message User Applejack 2005-06-27 05:53:25 uri - uri: Changed to not install in pg_catalog.