Re: Enumize logical replication message actions
От
Kyotaro Horiguchi
Тема
Re: Enumize logical replication message actions
Дата
Msg-id
20201023.152020.124241274619146613.horikyota.ntt@gmail.com
Ответ на
Re: Enumize logical replication message actions (Alvaro Herrera)
Список
Дерево обсуждения
Enumize logical replication message actions Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Re: Enumize logical replication message actions Andres Freund <andres@anarazel.de>
Re: Enumize logical replication message actions Ashutosh Bapat <ashutosh.bapat@2ndquadrant.com>
Re: Enumize logical replication message actions Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Re: Enumize logical replication message actions Ashutosh Bapat <ashutosh.bapat@2ndquadrant.com>
Re: Enumize logical replication message actions Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Re: Enumize logical replication message actions Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Re: Enumize logical replication message actions Ashutosh Bapat <ashutosh.bapat@2ndquadrant.com>
Re: Enumize logical replication message actions Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: Enumize logical replication message actions Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Re: Enumize logical replication message actions Amit Kapila <amit.kapila16@gmail.com>
Re: Enumize logical replication message actions Ashutosh Bapat <ashutosh.bapat@2ndquadrant.com>
Re: Enumize logical replication message actions Amit Kapila <amit.kapila16@gmail.com>
Re: Enumize logical replication message actions Ashutosh Bapat <ashutosh.bapat@2ndquadrant.com>
Re: Enumize logical replication message actions Amit Kapila <amit.kapila16@gmail.com>
Re: Enumize logical replication message actions Ashutosh Bapat <ashutosh.bapat@2ndquadrant.com>
Re: Enumize logical replication message actions Amit Kapila <amit.kapila16@gmail.com>
Re: Enumize logical replication message actions Ashutosh Bapat <ashutosh.bapat@2ndquadrant.com>
Re: Enumize logical replication message actions Peter Smith <smithpb2250@gmail.com>
Re: Enumize logical replication message actions Amit Kapila <amit.kapila16@gmail.com>
Re: Enumize logical replication message actions Amit Kapila <amit.kapila16@gmail.com>
Re: Enumize logical replication message actions Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
Re: Enumize logical replication message actions Peter Smith <smithpb2250@gmail.com>
Re: Enumize logical replication message actions Amit Kapila <amit.kapila16@gmail.com>
Re: Enumize logical replication message actions Amit Kapila <amit.kapila16@gmail.com>
Re: Enumize logical replication message actions Ashutosh Bapat <ashutosh.bapat@2ndquadrant.com>
Re: Enumize logical replication message actions Peter Smith <smithpb2250@gmail.com>
Re: Enumize logical replication message actions Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Re: Enumize logical replication message actions Ashutosh Bapat <ashutosh.bapat@2ndquadrant.com>
Re: Enumize logical replication message actions Li Japin <japinli@hotmail.com>
Re: Enumize logical replication message actions Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Re: Enumize logical replication message actions Ashutosh Bapat <ashutosh.bapat@2ndquadrant.com>
Re: Enumize logical replication message actions Amit Kapila <amit.kapila16@gmail.com>
At Thu, 22 Oct 2020 22:31:41 -0300, Alvaro Herrera wrote in
> On 2020-Oct-22, Ashutosh Bapat wrote:
>
> > On Thu, 22 Oct 2020 at 14:46, Kyotaro Horiguchi
> > 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.
I thought of StaticAssert, but it cannot run a code and I don't know
of a syntax that loops through all symbols in a enumeration so I think
we needs to write a static assertion on every symbol in the
enumeration, which seems to be a kind of stupid.
enum hoge
{
a = '1',
b = '2',
c = '3'
};
StaticAssertDecl((unsigned int)(a | b | c ...) <= 0xff, "too large symbol value");
I didn't come up with a way to apply static assertion on each symbol
definition line.
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center
В списке pgsql-hackers по дате отправления
От: Kyotaro Horiguchi
Дата: