postgresql/config
Peter Eisentraut eccfef81e1 ICU support
Add a column collprovider to pg_collation that determines which library
provides the collation data.  The existing choices are default and libc,
and this adds an icu choice, which uses the ICU4C library.

The pg_locale_t type is changed to a union that contains the
provider-specific locale handles.  Users of locale information are
changed to look into that struct for the appropriate handle to use.

Also add a collversion column that records the version of the collation
when it is created, and check at run time whether it is still the same.
This detects potentially incompatible library upgrades that can corrupt
indexes and other structures.  This is currently only supported by
ICU-provided collations.

initdb initializes the default collation set as before from the `locale
-a` output but also adds all available ICU locales with a "-x-icu"
appended.

Currently, ICU-provided collations can only be explicitly named
collations.  The global database locales are still always libc-provided.

ICU support is enabled by configure --with-icu.

Reviewed-by: Thomas Munro <thomas.munro@enterprisedb.com>
Reviewed-by: Andreas Karlsson <andreas@proxel.se>
2017-03-23 15:28:48 -04:00
..
ac_func_accept_argtypes.m4 Remove some configure header-file checks that we weren't really using. 2017-02-25 18:10:09 -05:00
ax_pthread.m4 Update ax_pthread.m4 to an experimental draft version from upstream. 2015-07-30 14:14:50 +03:00
c-compiler.m4 Add configure test to see if the C compiler has gcc-style computed gotos. 2017-03-20 13:35:26 -04:00
c-library.m4 Remove some configure header-file checks that we weren't really using. 2017-02-25 18:10:09 -05:00
config.guess Update config.guess and config.sub 2016-05-06 14:02:44 -04:00
config.sub Update config.guess and config.sub 2016-05-06 14:02:44 -04:00
docbook.m4 Fix configure's search for collateindex.pl. 2012-03-22 00:46:03 -04:00
general.m4 Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
install-sh Fix install-strip on Mac OS X 2012-08-21 23:42:43 -04:00
libtool.m4 Rename AC_PROG_LD* macros to PGAC_PROG_LD*. This avoids clashes with the 2004-07-17 18:53:56 +00:00
Makefile Install our "missing" script where PGXS builds can find it. 2015-12-11 16:15:05 -05:00
missing Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
perl.m4 Fix configure's incorrect version tests for flex and perl. 2016-05-02 11:18:10 -04:00
pkg.m4 ICU support 2017-03-23 15:28:48 -04:00
prep_buildtree find -path is not portable, so use grep -v instead. 2010-10-25 10:04:00 -03:00
programs.m4 Fix configure's incorrect version tests for flex and perl. 2016-05-02 11:18:10 -04:00
python.m4 Reject too-old Python versions a bit sooner. 2017-02-21 11:28:23 -05:00
tcl.m4 Mop-up for setting minimum Tcl version to 8.4. 2016-03-13 17:14:49 -04:00