Thread: [COMMITTERS] pgsql: Fix incorrect error reporting for duplicate data in\crosstabvie

Fix incorrect error reporting for duplicate data in \crosstabview.

\crosstabview's complaint about multiple entries for the same crosstab
cell quoted the wrong row and/or column values.  It would accidentally
appear to work if the data had been in strcmp() order to start with,
which probably explains how we missed noticing this during development.

This could be fixed in more than one way, but the way I chose was to
hang onto both result pointers from bsearch() and use those to get at
the value names.

In passing, avoid casting away const in the bsearch comparison functions.
No bug there, just poor style.

Per bug #14476 from Tomonari Katsumata.  Back-patch to 9.6 where
\crosstabview was introduced.

Report: https://postgr.es/m/20161225021519.10139.45460@wrigleys.postgresql.org

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/a3aef88e6a9c5822eb4a5ad0744b15dc6e8a5d86

Modified Files
--------------
src/bin/psql/crosstabview.c                 | 48 ++++++++++++++---------------
src/test/regress/expected/psql_crosstab.out | 13 ++++++++
src/test/regress/sql/psql_crosstab.sql      | 11 +++++++
3 files changed, 48 insertions(+), 24 deletions(-)