mirror of
https://github.com/postgres/postgres.git
synced 2025-07-03 20:02:46 +03:00
Revert: Allow table AM to store complex data structures in rd_amcache
This commit reverts 02eb07ea89
per review by Andres Freund.
Discussion: https://postgr.es/m/20240410165236.rwyrny7ihi4ddxw4%40awork3.anarazel.de
This commit is contained in:
@ -2656,7 +2656,6 @@ static const TableAmRoutine heapam_methods = {
|
||||
.index_validate_scan = heapam_index_validate_scan,
|
||||
.relation_analyze = heapam_analyze,
|
||||
|
||||
.free_rd_amcache = NULL,
|
||||
.relation_size = table_block_relation_size,
|
||||
.relation_needs_toast_table = heapam_relation_needs_toast_table,
|
||||
.relation_toast_am = heapam_relation_toast_am,
|
||||
|
11
src/backend/utils/cache/relcache.c
vendored
11
src/backend/utils/cache/relcache.c
vendored
@ -2269,7 +2269,9 @@ RelationReloadIndexInfo(Relation relation)
|
||||
RelationCloseSmgr(relation);
|
||||
|
||||
/* Must free any AM cached data upon relcache flush */
|
||||
table_free_rd_amcache(relation);
|
||||
if (relation->rd_amcache)
|
||||
pfree(relation->rd_amcache);
|
||||
relation->rd_amcache = NULL;
|
||||
|
||||
/*
|
||||
* If it's a shared index, we might be called before backend startup has
|
||||
@ -2489,7 +2491,8 @@ RelationDestroyRelation(Relation relation, bool remember_tupdesc)
|
||||
pfree(relation->rd_options);
|
||||
if (relation->rd_indextuple)
|
||||
pfree(relation->rd_indextuple);
|
||||
table_free_rd_amcache(relation);
|
||||
if (relation->rd_amcache)
|
||||
pfree(relation->rd_amcache);
|
||||
if (relation->rd_fdwroutine)
|
||||
pfree(relation->rd_fdwroutine);
|
||||
if (relation->rd_indexcxt)
|
||||
@ -2551,7 +2554,9 @@ RelationClearRelation(Relation relation, bool rebuild)
|
||||
RelationCloseSmgr(relation);
|
||||
|
||||
/* Free AM cached data, if any */
|
||||
table_free_rd_amcache(relation);
|
||||
if (relation->rd_amcache)
|
||||
pfree(relation->rd_amcache);
|
||||
relation->rd_amcache = NULL;
|
||||
|
||||
/*
|
||||
* Treat nailed-in system relations separately, they always need to be
|
||||
|
Reference in New Issue
Block a user