Re: Enumize logical replication message actions
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>, Ashutosh Bapat <ashutosh.bapat@2ndquadrant.com>,
Andres Freund <andres@anarazel.de>, Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-10-23T12:53:52Z
Lists: pgsql-hackers
On Fri, Oct 23, 2020 at 11:50 AM Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote: > > At Thu, 22 Oct 2020 22:31:41 -0300, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote in > > On 2020-Oct-22, Ashutosh Bapat wrote: > > > > > On Thu, 22 Oct 2020 at 14:46, Kyotaro Horiguchi <horikyota.ntt@gmail.com> > > > wrote: > > > > > > pg_send_logicalrep_msg_type() looks somewhat too-much. If we need > > > > something like that we shouldn't do this refactoring, I think. > > > > > > Enum is an integer, and we want to send byte. The function asserts that the > > > enum fits a byte. If there's a way to declare byte long enums I would use > > > that. But I didn't find a way to do that. > > > > I didn't look at the code, but maybe it's sufficient to add a > > StaticAssert? > > That check needs to visit all symbols in a enum and confirm that each > of them is in a certain range. > Can we define something like LOGICAL_REP_MSG_LAST (also add a comment indicating this is a fake message and must be the last one) as the last and just check that? -- With Regards, Amit Kapila.
Commits
-
Use Enums for logical replication message types at more places.
- f3a8f73ec274 14.0 landed
-
Use Enum for top level logical replication message types.
- 644f0d7cc9c2 14.0 landed