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

Commit791e997

Browse files
committed
heap_destroy () releases dirty buffers of a relation to be
destroyed.
1 parentcbac986 commit791e997

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

‎src/backend/catalog/heap.c

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.10 1997/01/01 06:01:16 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.11 1997/01/14 05:38:23 vadim Exp $
1111
*
1212
* INTERFACE ROUTINES
1313
*heap_creatr()- Create an uncataloged heap relation
@@ -1233,6 +1233,8 @@ heap_destroy(char *relname)
12331233
rdesc=heap_openr(relname);
12341234
if (rdesc==NULL)
12351235
elog(WARN,"Relation %s Does Not Exist!",relname);
1236+
1237+
RelationSetLockForWrite(rdesc);
12361238

12371239
/* ----------------
12381240
*prevent deletion of system relations
@@ -1285,6 +1287,11 @@ heap_destroy(char *relname)
12851287
*/
12861288
DeletePgRelationTuple(rdesc);
12871289

1290+
/*
1291+
* release dirty buffers of this relation
1292+
*/
1293+
ReleaseRelationBuffers (rdesc);
1294+
12881295
/* ----------------
12891296
*flush the relation from the relcache
12901297
* ----------------
@@ -1299,6 +1306,9 @@ heap_destroy(char *relname)
12991306
if(rdesc->rd_istemp) {
13001307
rdesc->rd_tmpunlinked= TRUE;
13011308
}
1309+
1310+
RelationUnsetLockForWrite(rdesc);
1311+
13021312
heap_close(rdesc);
13031313
}
13041314

@@ -1311,7 +1321,7 @@ heap_destroy(char *relname)
13111321
void
13121322
heap_destroyr(Relationrdesc)
13131323
{
1314-
ReleaseTmpRelBuffers(rdesc);
1324+
ReleaseRelationBuffers(rdesc);
13151325
(void)smgrunlink(rdesc->rd_rel->relsmgr,rdesc);
13161326
if(rdesc->rd_istemp) {
13171327
rdesc->rd_tmpunlinked= TRUE;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp