Re: Different error messages executing CREATE TABLE or ALTER TABLE to create a column "xmin"
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Vik Reykja <vikreykja@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2012-01-26T16:58:06Z
Lists: pgsql-hackers
On Thu, Jan 26, 2012 at 11:29 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Robert Haas <robertmhaas@gmail.com> writes: >> However, I think we ought to handle >> renaming a column symmetrically to adding one. > > Yeah, I was thinking the same. > >> So here's a revised version of your patch that does that. > > This looks reasonable to me, except that possibly the new error message > text could do with a bit more thought. It seems randomly unlike the > normal message, and I also have a bit of logical difficulty with the > wording equating a "column" with a "column name". The wording that > is in use in the existing CREATE TABLE case is > > column name \"%s\" conflicts with a system column name > > We could do worse than to use that verbatim, so as to avoid introducing > a new translatable string. Another possibility is > > column \"%s\" of relation \"%s\" already exists as a system column > > Or we could keep the primary errmsg the same as it is for a normal > column and instead add a DETAIL explaining that this is a system column. I intended for the message to match the CREATE TABLE case. I think it does, except I see now that Vik's patch left out the word "name" where the original string has it. So I'll vote in favor of your first option, above, since that's what I intended anyway. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company