Обсуждение: pgsql: Split RelationClearRelation into three different functions

Поиск
Список
Период
Сортировка

pgsql: Split RelationClearRelation into three different functions

От
Heikki Linnakangas
Дата:
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.universality@gmail.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(-)