On Mon, Jul 30, 2018 at 6:21 PM, Andres Freund <andres@anarazel.de> wrote:
Hi,
On 2018-07-30 17:21:25 -0400, Melvin Davidson wrote: > * >it has never been the case that relhaspkey meant that the table > *currently* has a primary key. *
> *Hmmm, I guess it's a lot harder to fix "squishy semantics"from "True > if the table has (or once had) a primary key" to "True if the table has > a primary key after vacuum"rather than just dropping a column that has > existed from version 7.2.So now I guess the policy is break code instead of > fix documention.That meakes sense...NOT!*
A large portion of the system catalogs (i.e. objects within pg_catalog.*) are essentially internal implementation details and we'll change them if it makes our live easier. If you want stability use information_schema which we'll try very hard to not ever break. Keeping random atavistic things around, would slow us down, which will be a price everybody is paying.
Greetings,
Andres Freund
> If you want stability use information_schema which we'll try very hard to not ever break.
Of course. Would you be so kind as to point out where in the information_schema it
indicates if a table has a primary key or not. Oh wait, now I remember...no place.
>Keeping random atavistic things around, would slow us down, which will be a >price everybody is paying.
Random atavistic things? I hardly think relhaspkey is random. It's been there since version 7.2.
Exactly how does keeping it around slow you/us down?