Thread: pgsql: Make LC_COLLATE and LC_CTYPE database-level settings.

pgsql: Make LC_COLLATE and LC_CTYPE database-level settings.

From
heikki@postgresql.org (Heikki Linnakangas)
Date:
Log Message:
-----------
Make LC_COLLATE and LC_CTYPE database-level settings. Collation and
ctype are now more like encoding, stored in new datcollate and datctype
columns in pg_database.

This is a stripped-down version of Radek Strnad's patch, with further
changes by me.

Modified Files:
--------------
    pgsql/doc/src/sgml:
        catalogs.sgml (r2.175 -> r2.176)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/catalogs.sgml?r1=2.175&r2=2.176)
        charset.sgml (r2.87 -> r2.88)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/charset.sgml?r1=2.87&r2=2.88)
        indices.sgml (r1.74 -> r1.75)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/indices.sgml?r1=1.74&r2=1.75)
        runtime.sgml (r1.416 -> r1.417)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/runtime.sgml?r1=1.416&r2=1.417)
        textsearch.sgml (r1.44 -> r1.45)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/textsearch.sgml?r1=1.44&r2=1.45)
    pgsql/doc/src/sgml/ref:
        create_database.sgml (r1.48 -> r1.49)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/create_database.sgml?r1=1.48&r2=1.49)
        initdb.sgml (r1.43 -> r1.44)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/initdb.sgml?r1=1.43&r2=1.44)
        pg_controldata.sgml (r1.10 -> r1.11)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/pg_controldata.sgml?r1=1.10&r2=1.11)
        pg_resetxlog.sgml (r1.20 -> r1.21)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/pg_resetxlog.sgml?r1=1.20&r2=1.21)
        select.sgml (r1.103 -> r1.104)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/select.sgml?r1=1.103&r2=1.104)
        show.sgml (r1.45 -> r1.46)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/show.sgml?r1=1.45&r2=1.46)
    pgsql/src/backend/access/transam:
        xlog.c (r1.318 -> r1.319)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c?r1=1.318&r2=1.319)
    pgsql/src/backend/commands:
        dbcommands.c (r1.210 -> r1.211)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/dbcommands.c?r1=1.210&r2=1.211)
    pgsql/src/backend/parser:
        gram.y (r2.623 -> r2.624)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/gram.y?r1=2.623&r2=2.624)
        keywords.c (r1.200 -> r1.201)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/keywords.c?r1=1.200&r2=1.201)
    pgsql/src/backend/postmaster:
        postmaster.c (r1.563 -> r1.564)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/postmaster.c?r1=1.563&r2=1.564)
    pgsql/src/backend/utils/adt:
        pg_locale.c (r1.41 -> r1.42)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/pg_locale.c?r1=1.41&r2=1.42)
    pgsql/src/backend/utils/init:
        postinit.c (r1.185 -> r1.186)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/init/postinit.c?r1=1.185&r2=1.186)
    pgsql/src/bin/initdb:
        initdb.c (r1.159 -> r1.160)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/initdb/initdb.c?r1=1.159&r2=1.160)
    pgsql/src/bin/pg_controldata:
        pg_controldata.c (r1.39 -> r1.40)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_controldata/pg_controldata.c?r1=1.39&r2=1.40)
    pgsql/src/bin/pg_dump:
        pg_dump.c (r1.500 -> r1.501)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dump.c?r1=1.500&r2=1.501)
        pg_dumpall.c (r1.106 -> r1.107)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dumpall.c?r1=1.106&r2=1.107)
    pgsql/src/bin/pg_resetxlog:
        pg_resetxlog.c (r1.65 -> r1.66)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_resetxlog/pg_resetxlog.c?r1=1.65&r2=1.66)
    pgsql/src/bin/psql:
        describe.c (r1.184 -> r1.185)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/psql/describe.c?r1=1.184&r2=1.185)
    pgsql/src/bin/scripts:
        createdb.c (r1.26 -> r1.27)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/scripts/createdb.c?r1=1.26&r2=1.27)
    pgsql/src/include/catalog:
        catversion.h (r1.487 -> r1.488)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h?r1=1.487&r2=1.488)
        pg_control.h (r1.41 -> r1.42)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_control.h?r1=1.41&r2=1.42)
        pg_database.h (r1.47 -> r1.48)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_database.h?r1=1.47&r2=1.48)
    pgsql/src/include/utils:
        pg_locale.h (r1.25 -> r1.26)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/pg_locale.h?r1=1.25&r2=1.26)
    pgsql/src/interfaces/ecpg/preproc:
        preproc.y (r1.371 -> r1.372)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/ecpg/preproc/preproc.y?r1=1.371&r2=1.372)

Re: pgsql: Make LC_COLLATE and LC_CTYPE database-level settings.

From
Chris Browne
Date:
heikki@postgresql.org (Heikki Linnakangas) writes:
> Log Message:
> -----------
> Make LC_COLLATE and LC_CTYPE database-level settings. Collation and
> ctype are now more like encoding, stored in new datcollate and datctype
> columns in pg_database.
>
> This is a stripped-down version of Radek Strnad's patch, with further
> changes by me.
>     pgsql/src/bin/pg_dump:
>         pg_dump.c (r1.500 -> r1.501)
>         (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dump.c?r1=1.500&r2=1.501)
>         pg_dumpall.c (r1.106 -> r1.107)
>         (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dumpall.c?r1=1.106&r2=1.107)

Let me report a problem with this...

Running pg_dump encounters the following:

chris@dba2:Slony-I/CMD/slony1-HEAD/tests> pg_dump -s slonyregress1
pg_dump: column number -1 is out of range 0..7
pg_dump: column number -1 is out of range 0..7
zsh: segmentation fault  pg_dump -s slonyregress1

It's not a Slony-I-related issue; I get identical behaviour with other
databases that do not have Slony-I in place.

Things "seem to work" if I roll back this patch to pg_dump.c.

So something's up...
--
(reverse (concatenate 'string "moc.enworbbc" "@" "enworbbc"))
http://www3.sympatico.ca/cbbrowne/emacs.html
"Being really good at C++ is  like being really good at using rocks to
sharpen sticks."  -- Thant Tessman