]> granicus.if.org Git - postgresql/commitdiff
Repair damage done by citext--1.1--1.2.sql.
authorRobert Haas <rhaas@postgresql.org>
Tue, 26 Jul 2016 19:32:57 +0000 (15:32 -0400)
committerRobert Haas <rhaas@postgresql.org>
Tue, 26 Jul 2016 19:32:57 +0000 (15:32 -0400)
That script is incorrect in that it sets the combine function for
max(citext) twice instead of setting the combine function for
max(citext) once and the combine functon for min(citext) once.  The
consequence is that if you install 1.0 or 1.1 and then update to 1.2,
you end up with min(citext) not having a combine function, contrary to
what was intended.  If you install 1.2 directly, you're OK.

Fix things up by defining a new 1.3 version.  Upgrading from 1.2 to
1.3 won't change anything for people who first installed the 1.2
version, but people upgrading from 1.0 or 1.1 will get the right
catalog contents once they reach 1.3.

Report and patch by David Rowley, reviewed by Andreas Karlsson.

contrib/citext/Makefile
contrib/citext/citext--1.2--1.3.sql [new file with mode: 0644]
contrib/citext/citext--1.3.sql [moved from contrib/citext/citext--1.2.sql with 100% similarity]
contrib/citext/citext.control

index 363a11ba9c6a62d3cb32f44384962799136b8002..e39d3eee61bb5b59f72d0aae452acc7340c38783 100644 (file)
@@ -3,8 +3,8 @@
 MODULES = citext
 
 EXTENSION = citext
-DATA = citext--1.2.sql citext--1.1--1.2.sql citext--1.0--1.1.sql \
-       citext--unpackaged--1.0.sql
+DATA = citext--1.3.sql citext--1.2--1.3.sql citext--1.1--1.2.sql \
+       citext--1.0--1.1.sql citext--unpackaged--1.0.sql
 PGFILEDESC = "citext - case-insensitive character string data type"
 
 REGRESS = citext
diff --git a/contrib/citext/citext--1.2--1.3.sql b/contrib/citext/citext--1.2--1.3.sql
new file mode 100644 (file)
index 0000000..4ab8679
--- /dev/null
@@ -0,0 +1,7 @@
+/* contrib/citext/citext--1.2--1.3.sql */
+
+-- complain if script is sourced in psql, rather than via ALTER EXTENSION
+\echo Use "ALTER EXTENSION citext UPDATE TO '1.3'" to load this file. \quit
+
+UPDATE pg_aggregate SET aggcombinefn = 'citext_smaller'
+WHERE aggfnoid = 'min(citext)'::pg_catalog.regprocedure;
index 7cba65d1105ed3ba4b80adc68c7f7ac4b3ce0bf7..5f080df3ee3777d57c21047229e4ab066225a930 100644 (file)
@@ -1,5 +1,5 @@
 # citext extension
 comment = 'data type for case-insensitive character strings'
-default_version = '1.2'
+default_version = '1.3'
 module_pathname = '$libdir/citext'
 relocatable = true