On Wed, Apr 7, 2021, at 10:25 AM, Bharath Rupireddy wrote:
>
> On Wed, Apr 07, 2021 at 04:00:46PM +0530, Bharath Rupireddy wrote:
> > And also, the commit 578b229718 talks about removing "with (oids =
> > false)" someday. Is it the time now to remove that and error out with
> > "unrecognized parameter "oids""?
>
> Nope, and I think that it will remain around for some time. Keeping
> around the code necessary to silence WITH OIDS has no real maintenance
> cost, and removing it could easily break applications. So there is
> little gain in cleaning up that, and a lot of potential loss for
> users.
I agree to not remove "with (oids = false)". At least shouldn't we fix
the "create table ... with (oids = false, oids = false ....)" case,
just to be consistent with other options?
It would be weird to error out while parsing a no-op option, no?
> But, why do we need to allow specifying oids = false multiple times(see
> below)? Shouldn't we throw an error for consistency with other options?
>
If you look at transformReloptions(), the no-op code is just a hack. Such a
patch should add 'oids' as a reloption to test for multiple occurrences.
Although, CREATE TABLE says you can use 'oids=false', Storage Parameters
section does not mention it as a parameter. The code is fine as is.