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