• Tom Lane's avatar
    Move the built-in conversions into the initial catalog data. · d33faa28
    Tom Lane authored
    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
    d33faa28
Makefile 5.72 KB