On 12/28/16 9:53 AM, Alvaro Herrera wrote:
> Peter Eisentraut wrote:
>> Here is a small cleanup patch to make more use of the RoleSpec
>> struct/node throughout the parser to avoid casts and make the code more
>> self-documenting.
>
> This makes sense to me. I started to do this at some point when I was
> writing RoleSpec; eventually got annoyed about fixing the fallout (I was
> working to get somebody else's patch committed) and went back to how it
> is. Glad to see it done.
>
> The only functional issue might be the removal of the IsA() checks. If
> we don't cast any Node before passing it to any of those functions,
> there should be no problem because any misfeasance will be reported as a
> compile-time warning. Perhaps it's worth adding IsA() checks in loops
> such as the one in roleSpecsToIds().
Committed with an extra Assert there for good measure.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services