postgresql/src
Tom Lane ea31541f56 Give a better error for duplicate entries in VACUUM/ANALYZE column list.
Previously, the code didn't think about this case and would just try to
analyze such a column twice.  That would fail at the point of inserting
the second version of the pg_statistic row, with obscure error messsages
like "duplicate key value violates unique constraint" or "tuple already
updated by self", depending on context and PG version.  We could allow
the case by ignoring duplicate column specifications, but it seems better
to reject it explicitly.

The bogus error messages seem like arguably a bug, so back-patch to
all supported versions.

Nathan Bossart, per a report from Michael Paquier, and whacked
around a bit by me.

Discussion: https://postgr.es/m/E061A8E3-5E3D-494D-94F0-E8A9B312BBFC@amazon.com
2017-09-21 18:13:11 -04:00
..
backend Give a better error for duplicate entries in VACUUM/ANALYZE column list. 2017-09-21 18:13:11 -04:00
bin Fix ordering in pg_dump of GRANTs 2017-09-13 20:02:27 -04:00
common pgindent run for 9.6 2016-06-09 18:02:36 -04:00
fe_utils Restore psql's SIGPIPE setting if popen() fails. 2016-12-07 12:39:24 -05:00
include Fix ordering in pg_dump of GRANTs 2017-09-13 20:02:27 -04:00
interfaces Fixed ECPG to correctly handle out-of-scope cursor declarations with pointers 2017-09-18 23:07:34 +02:00
makefiles Always use -fPIC, not -fpic, when building shared libraries with gcc. 2017-06-01 13:32:56 -04:00
pl Translation updates 2017-08-28 10:17:39 -04:00
port Stamp 9.6.5. 2017-08-28 17:21:42 -04:00
template Remove some remains from Alpha support removal 2015-10-29 16:40:14 -04:00
test Give a better error for duplicate entries in VACUUM/ANALYZE column list. 2017-09-21 18:13:11 -04:00
timezone Ensure SIZE_MAX can be used throughout our code. 2017-09-01 13:52:53 -04:00
tools Fix macro-redefinition warning on MSVC. 2017-09-03 11:01:08 -04:00
tutorial Update copyright for 2016 2016-01-02 13:33:40 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
bcc32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Install TAP test infrastructure so it's available for extension testing. 2016-09-23 15:50:00 -04:00
Makefile.global.in PL/Perl portability fix: absorb relevant -D switches from Perl. 2017-07-31 12:38:35 -04:00
Makefile.shlib Fix typos in comments. 2017-02-06 11:34:15 +02:00
nls-global.mk nls-global.mk: search build dir for source files, too 2016-06-07 18:55:18 -04:00
win32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00