On Fri, Sep 8, 2017 at 7:27 AM, Bossart, Nathan <bossartn@amazon.com> wrote:
> On 9/7/17, 2:33 AM, "Michael Paquier" <michael.paquier@gmail.com> wrote:
>> Using the patch checking for duplicate columns:
>> =# create table aa (a int);
>> CREATE TABLE
>> =# vacuum ANALYZE aa(z, z);
>> ERROR: 0A000: column lists cannot have duplicate entries
>> HINT: the column list specified for relation "aa" contains duplicates
>> LOCATION: check_column_lists, vacuum.c:619
>> Shouldn't the priority be given to undefined columns instead of
>> duplicates? You may want to add a test for that as well.
>
> I agree. I've fixed this and added a couple relevant tests cases in
> v2.
Thanks. This looks now correct to me. Except that:
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("column lists cannot have duplicate entries"),
+ errhint("the column list specified for relation
\"%s\" contains duplicates",
+ relation->relation->relname)));
This should use ERRCODE_DUPLICATE_COLUMN.
> I've also attached a v15 of the main patch. In check_columns_exist(),
> there was a 'return' that should be a 'continue'. This caused us to
> skip the column existence checks for column lists defined after a table
> with no column list.
I can see that. Nicely spotted.
--
Michael
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers