Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite7f7cf4

Browse files
committed
1. LocalBufferSync(): set nextFreeLocalBuf to 0 - we're freeing
all local buffers @ xact commit, so accordingly nextFreeLocalBuf is first local buffer now. It helps to avoid unnecessary local buffer allocations in LocalBufferAlloc() latter ("memmory leaks" in 'order by').2. ResetLocalBufferPool() lost allocated local buffers: memset(LocalBufferDescriptors, 0, sizeof(BufferDesc) * NLocBuffer); (local buffers leak @ xact aborts).
1 parent4a8c3dd commite7f7cf4

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

‎src/backend/storage/buffer/localbuf.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*
1616
*
1717
* IDENTIFICATION
18-
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/localbuf.c,v 1.6 1997/04/18 02:53:37 vadim Exp $
18+
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/localbuf.c,v 1.7 1997/05/20 11:30:32 vadim Exp $
1919
*
2020
*-------------------------------------------------------------------------
2121
*/
@@ -273,22 +273,23 @@ LocalBufferSync(void)
273273
}
274274

275275
memset(LocalRefCount,0,sizeof(long)*NLocBuffer);
276+
nextFreeLocalBuf=0;
276277
}
277278

278279
void
279280
ResetLocalBufferPool(void)
280281
{
281282
inti;
282283

283-
memset(LocalBufferDescriptors,0,sizeof(BufferDesc)*NLocBuffer);
284-
nextFreeLocalBuf=0;
285-
286-
for (i=0;i<NLocBuffer;i++) {
284+
for (i=0;i<NLocBuffer;i++)
285+
{
287286
BufferDesc*buf=&LocalBufferDescriptors[i];
288287

289-
/* just like InitLocalBuffer() */
288+
buf->tag.relId.relId=InvalidOid;
289+
buf->flags &= ~BM_DIRTY;
290290
buf->buf_id=-i-2;
291291
}
292292

293293
memset(LocalRefCount,0,sizeof(long)*NLocBuffer);
294+
nextFreeLocalBuf=0;
294295
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp