|
8 | 8 | *
|
9 | 9 | *
|
10 | 10 | * IDENTIFICATION
|
11 |
| - * $PostgreSQL: pgsql/src/backend/utils/cache/relcache.c,v 1.251 2006/12/23 00:43:11 tgl Exp $ |
| 11 | + * $PostgreSQL: pgsql/src/backend/utils/cache/relcache.c,v 1.252 2006/12/31 20:32:04 tgl Exp $ |
12 | 12 | *
|
13 | 13 | *-------------------------------------------------------------------------
|
14 | 14 | */
|
@@ -2402,8 +2402,8 @@ RelationCacheInitializePhase2(void)
|
2402 | 2402 |
|
2403 | 2403 | /*
|
2404 | 2404 | * If we didn't get the critical system indexes loaded into relcache, do
|
2405 |
| - * so now. These are critical because the catcache depends on them for |
2406 |
| - * catcache fetches that are done during relcache load. Thus, we have an |
| 2405 | + * so now. These are critical because the catcache and/or opclass cache |
| 2406 | + * depend on them for fetches done during relcache load. Thus, we have an |
2407 | 2407 | * infinite-recursion problem. We can break the recursion by doing
|
2408 | 2408 | * heapscans instead of indexscans at certain key spots. To avoid hobbling
|
2409 | 2409 | * performance, we only want to do that until we have the critical indexes
|
@@ -2439,13 +2439,14 @@ RelationCacheInitializePhase2(void)
|
2439 | 2439 | LOAD_CRIT_INDEX(ClassOidIndexId);
|
2440 | 2440 | LOAD_CRIT_INDEX(AttributeRelidNumIndexId);
|
2441 | 2441 | LOAD_CRIT_INDEX(IndexRelidIndexId);
|
| 2442 | + LOAD_CRIT_INDEX(OpclassOidIndexId); |
2442 | 2443 | LOAD_CRIT_INDEX(AccessMethodStrategyIndexId);
|
2443 | 2444 | LOAD_CRIT_INDEX(AccessMethodProcedureIndexId);
|
2444 | 2445 | LOAD_CRIT_INDEX(OperatorOidIndexId);
|
2445 | 2446 | LOAD_CRIT_INDEX(RewriteRelRulenameIndexId);
|
2446 | 2447 | LOAD_CRIT_INDEX(TriggerRelidNameIndexId);
|
2447 | 2448 |
|
2448 |
| -#define NUM_CRITICAL_INDEXES 8 /* fix if you change list above */ |
| 2449 | +#define NUM_CRITICAL_INDEXES 9 /* fix if you change list above */ |
2449 | 2450 |
|
2450 | 2451 | criticalRelcachesBuilt = true;
|
2451 | 2452 | }
|
|
0 commit comments