Обсуждение: remove obsolete comment in AtEOXact_Inval

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

remove obsolete comment in AtEOXact_Inval

От
Steven Niu
Дата:
Hi, Hackers,

When I read the code, I noticed there is one line of comment in function AtEOXact_Inval() which is obviously obsolete.

    "This should be called as the last step in processing a transaction"  

AtEOXact_Inval() is called in CommitTransaction() and AbortTransaction() and there are many other steps after function AtEOXact_Inval() is called.
Such as:
      AtCommit_Notify();
      AtEOXact_GUC(true, 1);
      AtEOXact_SPI(true);
      AtEOXact_Enum();
      AtEOXact_on_commit_actions(true);
      AtEOXact_Namespace(true, is_parallel_worker);
      AtEOXact_SMgr();
      AtEOXact_Files(true);
      AtEOXact_ComboCid();
      AtEOXact_HashTables(true);
      AtEOXact_PgStat(true, is_parallel_worker);
      AtEOXact_Snapshot(true, false);
      AtEOXact_ApplyLauncher(true);
      AtEOXact_LogicalRepWorkers(true);

So that comment is no longer true. I made a patch to remove it as attached.

Best Regards,
Steven
Вложения

Re: remove obsolete comment in AtEOXact_Inval

От
Chao Li
Дата:

> On Oct 27, 2025, at 10:43, Steven Niu <niushiji@gmail.com> wrote:
>
> Hi, Hackers,
>
> When I read the code, I noticed there is one line of comment in function AtEOXact_Inval() which is obviously
obsolete.
>
>     "This should be called as the last step in processing a transaction"
>
> Steven<0001-PATCH-remove-obsolete-comment-in-AtEOXact_Inval.patch>

+1

The comment of "void AtEOXact_Inval(bool isCommit):
```
 * Note:
* This should be called as the last step in processing a transaction.
```
Was added 29 years ago.

However, looking at CommitTransaction():

```
    /*
* Make catalog changes visible to all backends. This has to happen after
* relcache references are dropped (see comments for
* AtEOXact_RelationCache), but before locks are released (if anyone is
* waiting for lock on a relation we've modified, we want them to know
* about the catalog change before they start using the relation).
*/
AtEOXact_Inval(true);

AtEOXact_MultiXact(); # <=== added 21 years ago
```

it seems the newer change has made the original comment inaccurate.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/