Re: [RFC] Removing "magic" oids
Stephen Frost <sfrost@snowman.net>
From: Stephen Frost <sfrost@snowman.net>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Tom Lane <tgl@sss.pgh.pa.us>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2018-10-17T15:52:23Z
Lists: pgsql-hackers
Greetings, * Robert Haas (robertmhaas@gmail.com) wrote: > On Sun, Oct 14, 2018 at 6:43 PM Andres Freund <andres@anarazel.de> wrote: > > I'm not sure we want that however - yes, the short time pain will be > > lower, but do we really want to inflict the confusion about invisible > > oids on our users for the next 20 years? I think there's a fair argument > > to be made that we should cause pain once, rather continuing to inflict > > lower doeses of pain. > > Yeah, I think that argument has quite a bit of merit. I suspect that > there are a lot of people who expect that 'SELECT * FROM pg_whatever' > is going to show them all of the data in pg_whatever, and take a while > to figure out that it really doesn't. I know better and still mess > this up with some regularity. Anyone who finds it unintuitive that * > doesn't really mean everything is going to be happier with this change > in the long run. > > In the short run, it is indeed possible that some catalog queries will > break. But, really, how many? For the most part, automated queries > written by tools probably select specific columns rather than > everything, and IIUC those won't break. And even if they do use > 'SELECT *', won't they just end up with two copies of the OID column? > That might work fine. > > Of course it might not, and then you'd have to fix your code, but it's > not obvious to me that this would be a horror show. I tend to agree that this won't be as much of a horror show as made out to be up-thread. Tools should certainly be using explicit column names and if they aren't then we're breaking them regularly anyway whenever we change what columns exist in a given catalog table. All the column renaming we did for v10 strikes me as a much bigger deal than this change and while we did hear some complaints about that, I certainly feel like it was worth it and that people generally understood. Thanks! Stephen
Commits
-
Revive test of concurrent OID generation.
- dffb891d78cb 12.0 landed
- 8a0cbb88524e 13.0 landed
-
Fix typo introduced in 578b229718.
- 54bb22f66af9 12.0 landed
-
Fix pg_upgrade for oid removal.
- 12a53c732ced 12.0 landed
-
Fix sepgsql compile error caused by oid removal.
- 937e4e509998 12.0 landed
-
Remove WITH OIDS support, change oid catalog column visibility.
- 578b229718e8 12.0 landed