On 01/02/2018 02:14 PM, Robert Haas wrote: > On Tue, Jan 2, 2018 at 1:57 PM, Andrew Dunstan > <andrew.duns...@2ndquadrant.com> wrote: >> Yeah, but these things don't feel like they belong in the same category. >> The fact that we have to ask this question is a symptom of that. > Well, that's got to be asked about any representation we choose - that > question is the motivation for not liking the use of prorettype for > this purpose, so it's only fair to ask whether any alternative has the > same problem.
I think there's broad agreement about not liking use of prorettype for this purpose. > >> A >> boolean feels more natural to me here, although I acknowledge it will >> result in a tiny amount of catalog bloat. Tom's point about client-side >> code is also valid. I don't feel very strongly about it, though. > I think the catalog bloat is too minor to care about, but if these > things really are mutually exclusive, it's more natural to have them > use a single flag character rather than a series of Booleans. > Otherwise, it may be unclear to the casual observer (or hacker) that > at most one of the Booleans can be true, possibly leading to user > confusion (or bugs). Fair point. I don't recall if we discussed anything like this when window functions were introduced. > > It's pretty well impossible to introduce new features without > occasionally changing the catalog representation. We had several > people grumble when I replaced relistemp with relpersistence, and we > (rightly, IMHO) told those people to suck it up and deal. I don't > think we should react any differently here. I recognize that it's a > pain, but it's not that much of a pain, and it may even be helpful to > tool authors who actually need to handle procedures differently than > functions, which is probably a lot of them. pgAdmin for example seems > like it will certainly need to care. I agree. cheers andrew -- Andrew Dunstan https://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services