Re: [HACKERS] replace GrantObjectType with ObjectType

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Stephen Frost <sfrost(at)snowman(dot)net>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [HACKERS] replace GrantObjectType with ObjectType
Date: 2017-12-20 15:37:12
Message-ID: 20171220153712.ql7akj6wpbfyzunp@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Peter Eisentraut wrote:
> On 12/19/17 19:56, Michael Paquier wrote:
> > -stringify_adefprivs_objtype(GrantObjectType objtype)
> > +stringify_adefprivs_objtype(ObjectType objtype)
> > [...]
> > + default:
> > + elog(ERROR, "unrecognized grant object type: %d", (int) objtype);
> > + return "???"; /* keep compiler quiet */
> > }
> > -
> > - elog(ERROR, "unrecognized grant object type: %d", (int) objtype);
> > - return "???"; /* keep compiler quiet */
> > Still this portion in 0001 is something that we try to avoid as much
> > as possible, no? I would have thought that all object types should be
> > listed directly so as nothing is missed in the future.
>
> But we don't really know what such future GRANT commands would actually
> look like. What would the GRANT syntax corresponding to OBJECT_CAST or
> OBJECT_STATISTIC_EXT be? I think that's best filled in when we know.

I think Michael's point is that instead of a "default:" clause, this
switch should list all the known values of the enum and throw an
"unsupported object type" error for them. So whenever somebody adds a
new object type, the compiler will complain that this switch doesn't
handle it and the developer will have to think about this function.

--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2017-12-20 15:51:15 Re: [HACKERS] static assertions in C++
Previous Message Tom Lane 2017-12-20 15:32:30 Re: pltcl valgrind output