Re: [PATCH] Small refactoring of inval.c and inval.h
Aleksander Alekseev <aleksander@timescale.com>
From: Aleksander Alekseev <aleksander@timescale.com>
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2023-07-25T15:38:46Z
Lists: pgsql-hackers
Attachments
- v2-0001-Refactor-inval.c-and-inval.h.patch (application/octet-stream) patch v2-0001
Hi Alvaro,
Thanks for your feedback.
> Hmm, this *Extended function looks a bit funny, and I think it's because
> it's part of a backpatched bugfix that didn't want to modify ABI. If
> we're modifying this code, maybe we should get rid of the shim, that is,
> move the boolean argument to InvalidateSystemCaches() and get rid of the
> *Extended() version altogether.
This would affect quite a few places where InvalidateSystemCaches() is
called, and we will end-up with some sort of wrapper anyway. The
reason is that InvalidateSystemCaches() is used as a callback passed
to ReceiveSharedInvalidMessages():
```
ReceiveSharedInvalidMessages(LocalExecuteInvalidationMessage,
InvalidateSystemCaches);
```
Unless of course we want to change its signature too. I don't think
this is going to be a good API change.
> As for the /*--- public functions ---*/ comment, that one was just not
> moved by b89e151054a0, which should have done so; but even at that
> point, it had already been somewhat broken by the addition of
> PrepareInvalidationState() (a static function) in 6cb4afff33ba below it.
> If we really want to clean this up, we could move PrepareInvalidationState()
> to just below RegisterSnapshotInvalidation() and move the "public
> functions" header to just below it (so that it appears just before
> InvalidateSystemCaches).
>
> If we just remove the "public functions" comment, then we're still
> inside a section that starts with the "private support functions"
> comment, which seems even worse to me than the current situation.
Fixed.
--
Best regards,
Aleksander Alekseev
Commits
-
Reorder two functions in inval.c
- fa7278e74545 15.16 landed
- ed75434c45c3 16.12 landed
- c2bdd2c5b1d4 17.0 landed