diff options
author | Teodor Sigaev <teodor@sigaev.ru> | 2006-05-17 16:34:59 +0000 |
---|---|---|
committer | Teodor Sigaev <teodor@sigaev.ru> | 2006-05-17 16:34:59 +0000 |
commit | 8876e37d07baa0041649c5894e948ce65292b714 (patch) | |
tree | 77b929cf6b8099d119e6fe8bb9e435cc74700a98 /src/backend/access/gist/gistutil.c | |
parent | 815f58407cdd06c39fdbb052a33b61d3e605e7ae (diff) | |
download | postgresql-8876e37d07baa0041649c5894e948ce65292b714.tar.gz postgresql-8876e37d07baa0041649c5894e948ce65292b714.zip |
Reduce size of critial section during vacuum full, critical
sections now isn't nested. All user-defined functions now is
called outside critsections. Small improvements in WAL
protocol.
TODO: improve XLOG replay
Diffstat (limited to 'src/backend/access/gist/gistutil.c')
-rw-r--r-- | src/backend/access/gist/gistutil.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/backend/access/gist/gistutil.c b/src/backend/access/gist/gistutil.c index d5d6405100b..ca5a9d652d2 100644 --- a/src/backend/access/gist/gistutil.c +++ b/src/backend/access/gist/gistutil.c @@ -8,7 +8,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/access/gist/gistutil.c,v 1.11 2006/05/10 09:19:54 teodor Exp $ + * $PostgreSQL: pgsql/src/backend/access/gist/gistutil.c,v 1.12 2006/05/17 16:34:59 teodor Exp $ *------------------------------------------------------------------------- */ #include "postgres.h" @@ -112,18 +112,17 @@ gistfitpage(IndexTuple *itvec, int len) { * Read buffer into itup vector */ IndexTuple * -gistextractbuffer(Buffer buffer, int *len /* out */ ) +gistextractpage(Page page, int *len /* out */ ) { OffsetNumber i, maxoff; IndexTuple *itvec; - Page p = (Page) BufferGetPage(buffer); - maxoff = PageGetMaxOffsetNumber(p); + maxoff = PageGetMaxOffsetNumber(page); *len = maxoff; itvec = palloc(sizeof(IndexTuple) * maxoff); for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i)) - itvec[i - FirstOffsetNumber] = (IndexTuple) PageGetItem(p, PageGetItemId(p, i)); + itvec[i - FirstOffsetNumber] = (IndexTuple) PageGetItem(page, PageGetItemId(page, i)); return itvec; } |