Thread: pgsql: Fix contrib/citext's upgrade script to handle array and domain c

Fix contrib/citext's upgrade script to handle array and domain cases.

We previously recognized that citext wouldn't get marked as collatable
during pg_upgrade from a pre-9.1 installation, and hacked its
create-from-unpackaged script to manually perform the necessary catalog
adjustments.  However, we overlooked the fact that domains over citext,
as well as the citext[] array type, need the same adjustments.  Extend
the script to handle those cases.

Also, the documentation suggested that this was only an issue in pg_upgrade
scenarios, which is quite wrong; loading any dump containing citext from a
pre-9.1 server will also result in the type being wrongly marked.

I approached the documentation problem by changing the 9.1.2 release note
paragraphs about this issue, which is historically inaccurate.  But it
seems better than having the information scattered in multiple places, and
leaving incorrect info in the 9.1.2 notes would be bad anyway.  We'll still
need to mention the issue again in the 9.1.4 notes, but perhaps they can
just reference 9.1.2 for fix instructions.

Per report from Evan Carroll.  Back-patch into 9.1.

Branch
------
REL9_1_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/2c1382d96c575a79a2ce014dda90fd1de78b3612

Modified Files
--------------
contrib/citext/citext--unpackaged--1.0.sql |   97 ++++++++++++++++++++++------
doc/src/sgml/release-9.1.sgml              |   16 +++--
2 files changed, 89 insertions(+), 24 deletions(-)