postgresql/src
Tom Lane d33faa285b Move the built-in conversions into the initial catalog data.
Instead of running a SQL script to create the standard conversion
functions and pg_conversion entries, put those entries into the
initial data in postgres.bki.

This shaves a few percent off the runtime of initdb, and also allows
accurate comments to be attached to the conversion functions; the
previous script labeled them with machine-generated comments that
were not quite right for multi-purpose conversion functions.
Also, we can get rid of the duplicative Makefile and MSVC perl
implementations of the generation code for that SQL script.

A functional change is that these pg_proc and pg_conversion entries
are now "pinned" by initdb.  Leaving them unpinned was perhaps a
good thing back while the conversions feature was under development,
but there seems no valid reason for it now.

Also, the conversion functions are now marked as immutable, where
before they were volatile by virtue of lacking any explicit
specification.  That seems like it was just an oversight.

To avoid using magic constants in pg_conversion.dat, extend
genbki.pl to allow encoding names to be converted, much as it
does for language, access method, etc names.

John Naylor

Discussion: https://postgr.es/m/CAJVSVGWtUqxpfAaxS88vEGvi+jKzWZb2EStu5io-UPc4p9rSJg@mail.gmail.com
2019-01-03 19:47:53 -05:00
..
backend Move the built-in conversions into the initial catalog data. 2019-01-03 19:47:53 -05:00
bin Move the built-in conversions into the initial catalog data. 2019-01-03 19:47:53 -05:00
common Update copyright for 2019 2019-01-02 12:44:25 -05:00
fe_utils Update copyright for 2019 2019-01-02 12:44:25 -05:00
include Move the built-in conversions into the initial catalog data. 2019-01-03 19:47:53 -05:00
interfaces Ensure link commands list *.o files before LDFLAGS. 2019-01-02 13:57:54 -05:00
makefiles Ensure link commands list *.o files before LDFLAGS. 2019-01-02 13:57:54 -05:00
pl Update copyright for 2019 2019-01-02 12:44:25 -05:00
port Update copyright for 2019 2019-01-02 12:44:25 -05:00
template Yet further rethinking of build changes for macOS Mojave. 2018-11-02 18:54:00 -04:00
test Move the built-in conversions into the initial catalog data. 2019-01-03 19:47:53 -05:00
timezone Update copyright for 2019 2019-01-02 12:44:25 -05:00
tools Move the built-in conversions into the initial catalog data. 2019-01-03 19:47:53 -05:00
tutorial Update copyright for 2019 2019-01-02 12:44:25 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Fix partial-build problems introduced by having more generated headers. 2018-04-09 16:42:10 -04:00
Makefile.global.in Ensure link commands list *.o files before LDFLAGS. 2019-01-02 13:57:54 -05:00
Makefile.shlib Ensure static libraries have correct mod time even if ranlib messes it up. 2018-11-29 15:53:44 -05:00
nls-global.mk nls-global.mk: search build dir for source files, too 2016-06-07 18:55:18 -04:00