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

Commit4451ed3

Browse files
author
Hiroshi Inoue
committed
init_irels() is changed to be called in RelationCacheInitializePhase2()
so that transactional control could guarantee the consistency.
1 parent682b128 commit4451ed3

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

‎src/backend/utils/cache/relcache.c

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.123 2001/01/04 02:24:22 inoue Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.124 2001/01/06 01:48:59 inoue Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -2104,15 +2104,11 @@ RelationCacheInitialize(void)
21042104
formrdesc(LogRelationName,Natts_pg_log,Desc_pg_log);
21052105

21062106
/*
2107-
* If this isn't initdb time, then we want to initialize some index
2108-
* relation descriptors, as well. The descriptors are for
2109-
* pg_attnumind (to make building relation descriptors fast) and
2110-
* possibly others, as they're added.
2107+
* init_irels() used to be called here. It is changed to be called
2108+
* in RelationCacheInitializePhase2() now so that transactional
2109+
* control could guarantee the consistency.
21112110
*/
21122111

2113-
if (!IsBootstrapProcessingMode())
2114-
init_irels();
2115-
21162112
MemoryContextSwitchTo(oldcxt);
21172113
}
21182114

@@ -2134,6 +2130,17 @@ RelationCacheInitializePhase2(void)
21342130
*/
21352131
if (!IsBootstrapProcessingMode())
21362132
{
2133+
/*
2134+
* Initialize critical system index relation descriptors, first.
2135+
* They are to make building relation descriptors fast.
2136+
* init_irels() used to be called in RelationCacheInitialize().
2137+
* It is changed to be called here to be transaction safe.
2138+
*/
2139+
MemoryContextoldcxt=MemoryContextSwitchTo(CacheMemoryContext);
2140+
init_irels();
2141+
MemoryContextSwitchTo(oldcxt);
2142+
2143+
/* fix nailed-in-cache relations */
21372144
fixrdesc(RelationRelationName);
21382145
fixrdesc(AttributeRelationName);
21392146
fixrdesc(ProcedureRelationName);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp