On Fri, Sep 8, 2017 at 7:27 AM, Bossart, Nathan <bossa...@amazon.com> wrote: > On 9/7/17, 2:33 AM, "Michael Paquier" <michael.paqu...@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