git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 4452000)
Repair damage done by citext--1.1--1.2.sql.
2016年7月26日 19:32:57 +0000 (15:32 -0400)
2016年7月26日 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/citext--1.2--1.3.sql [new file with mode: 0644] patch | blob

diff --git a/contrib/citext/Makefile b/contrib/citext/Makefile
index 363a11ba9c6a62d3cb32f44384962799136b8002..e39d3eee61bb5b59f72d0aae452acc7340c38783 100644 (file)
--- a/contrib/citext/Makefile
+++ b/contrib/citext/Makefile
@@ -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
+++ b/contrib/citext/citext--1.2--1.3.sql
@@ -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;
diff --git a/contrib/citext/citext.control b/contrib/citext/citext.control
index 7cba65d1105ed3ba4b80adc68c7f7ac4b3ce0bf7..5f080df3ee3777d57c21047229e4ab066225a930 100644 (file)
--- a/contrib/citext/citext.control
+++ b/contrib/citext/citext.control
@@ -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
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /