pgsql: Split RelationClearRelation into three different functions

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Split RelationClearRelation into three different functions
Date: 2024-10-31 08:13:25
Message-ID: E1t6QJ4-003GUP-2N@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Split RelationClearRelation into three different functions

The old RelationClearRelation function did different things depending
on the arguments and circumstances. It could:

a) remove the relation completely from relcache (rebuild == false),
b) mark the entry as invalid (rebuild == true, but not in xact), or
c) rebuild the entry (rebuild == true).

Different callers used it for different purposes, and often assumed a
particular behavior, which was confusing. Split it into three
different functions, one for each of the above actions (one of them,
RelationInvalidateRelation, was already added in commit e6cd857726).
Move the responsibility of choosing the action and calling the right
function to the callers.

Reviewed-by: jian he <jian(dot)universality(at)gmail(dot)com>
Discussion: https://www.postgresql.org/message-id/9c9e8908-7b3e-4ce7-85a8-00c0e165a3d6%40iki.fi

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/2b9b8ebbf8a2f621d1cecc4db759700f9ce6ce66

Modified Files
--------------
src/backend/utils/cache/relcache.c | 305 +++++++++++++++++--------------------
1 file changed, 136 insertions(+), 169 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Daniel Gustafsson 2024-10-31 10:47:29 pgsql: Remove duplicate words in comments
Previous Message David Rowley 2024-10-31 00:44:37 pgsql: Remove unused field from SubPlanState struct