Re: s/UNSPECIFIED/SIMPLE/ in foreign key code?

From: Gurjeet Singh <singh(dot)gurjeet(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: s/UNSPECIFIED/SIMPLE/ in foreign key code?
Date: 2012-06-18 11:33:37
Message-ID: CABwTF4XPC-Vhvz6-ki1t++yqBJf1A_Jh66U8HBZVkEBMqd+5Ug@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Jun 16, 2012 at 5:38 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

>
> A small flaw in this plan is that in pg_constraint.confmatchtype,
> MATCH_UNSPECIFIED is stored as 'u'. In a green field I'd just rename
> that to 's' for SIMPLE, but it seems possible that this would confuse
> client-side code such as pg_dump or psql. A quick look shows that
> neither of those programs actually look directly at
> pg_constraint.confmatchtype, instead relying on backend functions when
> they want to deconstruct a foreign key constraint. But there could well
> be other client code that would notice the change. So I'm a bit torn
> as to whether to change it and create a release-note-worthy
> compatibility issue, or to leave it as-is (with documentation notes that
> "u" for MATCH_SIMPLE is a historical accident).
>
> Thoughts?
>

For some reason I thought this change would break pg_upgrade, but then I
came to me senses and realized pg_upgrade does not migrate/upgrade system
tables.

The other candidate to look for possible breakage would be pgAdmin. As Amit
says, there might be code out in the wild that does look at this column, so
not worth breaking them for this small gain.

Regards,
--
Gurjeet Singh
EnterpriseDB Corporation
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2012-06-18 11:51:45 Re: [PATCH 06/16] Add support for a generic wal reading facility dubbed XLogReader
Previous Message Andres Freund 2012-06-18 11:30:22 Re: [PATCH 10/16] Introduce the concept that wal has a 'origin' node