pgsql: Reduce the need for frontend programs to include "postgres.h" by - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Reduce the need for frontend programs to include "postgres.h" by
Date
Msg-id 20080327035735.17F917558E7@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Reduce the need for frontend programs to include "postgres.h" by refactoring
inclusions in src/include/catalog/*.h files.  The main idea here is to push
function declarations for src/backend/catalog/*.c files into separate headers,
rather than sticking them into the corresponding catalog definition file as
has been done in the past.  This commit only carries out that idea fully for
pg_proc, pg_type and pg_conversion, but that's enough for the moment ---
if pg_list.h ever becomes unsafe for frontend code to include, we'll need
to work a bit more.

Zdenek Kotala

Modified Files:
--------------
    pgsql/src/backend/catalog:
        dependency.c (r1.70 -> r1.71)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/dependency.c?r1=1.70&r2=1.71)
        heap.c (r1.331 -> r1.332)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/heap.c?r1=1.331&r2=1.332)
        namespace.c (r1.104 -> r1.105)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/namespace.c?r1=1.104&r2=1.105)
        pg_aggregate.c (r1.91 -> r1.92)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_aggregate.c?r1=1.91&r2=1.92)
        pg_conversion.c (r1.41 -> r1.42)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_conversion.c?r1=1.41&r2=1.42)
        pg_proc.c (r1.150 -> r1.151)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_proc.c?r1=1.150&r2=1.151)
        pg_type.c (r1.117 -> r1.118)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_type.c?r1=1.117&r2=1.118)
    pgsql/src/backend/commands:
        conversioncmds.c (r1.32 -> r1.33)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/conversioncmds.c?r1=1.32&r2=1.33)
        functioncmds.c (r1.90 -> r1.91)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/functioncmds.c?r1=1.90&r2=1.91)
        proclang.c (r1.76 -> r1.77)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/proclang.c?r1=1.76&r2=1.77)
        tablecmds.c (r1.247 -> r1.248)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablecmds.c?r1=1.247&r2=1.248)
        typecmds.c (r1.116 -> r1.117)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/typecmds.c?r1=1.116&r2=1.117)
    pgsql/src/backend/parser:
        keywords.c (r1.194 -> r1.195)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/keywords.c?r1=1.194&r2=1.195)
    pgsql/src/backend/utils/hash:
        pg_crc.c (r1.18 -> r1.19)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/hash/pg_crc.c?r1=1.18&r2=1.19)
    pgsql/src/bin/pg_config:
        pg_config.c (r1.27 -> r1.28)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_config/pg_config.c?r1=1.27&r2=1.28)
    pgsql/src/bin/pg_controldata:
        pg_controldata.c (r1.37 -> r1.38)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_controldata/pg_controldata.c?r1=1.37&r2=1.38)
    pgsql/src/bin/pg_dump:
        common.c (r1.102 -> r1.103)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/common.c?r1=1.102&r2=1.103)
        pg_dump.c (r1.484 -> r1.485)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dump.c?r1=1.484&r2=1.485)
    pgsql/src/bin/psql:
        print.c (r1.96 -> r1.97)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/psql/print.c?r1=1.96&r2=1.97)
    pgsql/src/include/catalog:
        pg_aggregate.h (r1.65 -> r1.66)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_aggregate.h?r1=1.65&r2=1.66)
        pg_am.h (r1.53 -> r1.54)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_am.h?r1=1.53&r2=1.54)
        pg_amop.h (r1.84 -> r1.85)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_amop.h?r1=1.84&r2=1.85)
        pg_amproc.h (r1.70 -> r1.71)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_amproc.h?r1=1.70&r2=1.71)
        pg_attrdef.h (r1.22 -> r1.23)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_attrdef.h?r1=1.22&r2=1.23)
        pg_attribute.h (r1.134 -> r1.135)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_attribute.h?r1=1.134&r2=1.135)
        pg_auth_members.h (r1.4 -> r1.5)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_auth_members.h?r1=1.4&r2=1.5)
        pg_authid.h (r1.7 -> r1.8)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_authid.h?r1=1.7&r2=1.8)
        pg_autovacuum.h (r1.8 -> r1.9)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_autovacuum.h?r1=1.8&r2=1.9)
        pg_cast.h (r1.38 -> r1.39)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_cast.h?r1=1.38&r2=1.39)
        pg_class.h (r1.104 -> r1.105)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_class.h?r1=1.104&r2=1.105)
        pg_constraint.h (r1.27 -> r1.28)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_constraint.h?r1=1.27&r2=1.28)
        pg_conversion.h (r1.20 -> r1.21)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_conversion.h?r1=1.20&r2=1.21)
        pg_database.h (r1.46 -> r1.47)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_database.h?r1=1.46&r2=1.47)
        pg_depend.h (r1.9 -> r1.10)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_depend.h?r1=1.9&r2=1.10)
        pg_description.h (r1.26 -> r1.27)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_description.h?r1=1.26&r2=1.27)
        pg_enum.h (r1.3 -> r1.4)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_enum.h?r1=1.3&r2=1.4)
        pg_index.h (r1.45 -> r1.46)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_index.h?r1=1.45&r2=1.46)
        pg_inherits.h (r1.24 -> r1.25)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_inherits.h?r1=1.24&r2=1.25)
        pg_language.h (r1.32 -> r1.33)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_language.h?r1=1.32&r2=1.33)
        pg_largeobject.h (r1.22 -> r1.23)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_largeobject.h?r1=1.22&r2=1.23)
        pg_listener.h (r1.23 -> r1.24)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_listener.h?r1=1.23&r2=1.24)
        pg_namespace.h (r1.23 -> r1.24)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_namespace.h?r1=1.23&r2=1.24)
        pg_opclass.h (r1.79 -> r1.80)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_opclass.h?r1=1.79&r2=1.80)
        pg_operator.h (r1.157 -> r1.158)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_operator.h?r1=1.157&r2=1.158)
        pg_opfamily.h (r1.7 -> r1.8)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_opfamily.h?r1=1.7&r2=1.8)
        pg_pltemplate.h (r1.5 -> r1.6)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_pltemplate.h?r1=1.5&r2=1.6)
        pg_proc.h (r1.484 -> r1.485)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc.h?r1=1.484&r2=1.485)
        pg_rewrite.h (r1.29 -> r1.30)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_rewrite.h?r1=1.29&r2=1.30)
        pg_shdepend.h (r1.6 -> r1.7)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_shdepend.h?r1=1.6&r2=1.7)
        pg_shdescription.h (r1.5 -> r1.6)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_shdescription.h?r1=1.5&r2=1.6)
        pg_statistic.h (r1.34 -> r1.35)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_statistic.h?r1=1.34&r2=1.35)
        pg_tablespace.h (r1.10 -> r1.11)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_tablespace.h?r1=1.10&r2=1.11)
        pg_trigger.h (r1.30 -> r1.31)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_trigger.h?r1=1.30&r2=1.31)
        pg_ts_config.h (r1.3 -> r1.4)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_ts_config.h?r1=1.3&r2=1.4)
        pg_ts_config_map.h (r1.3 -> r1.4)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_ts_config_map.h?r1=1.3&r2=1.4)
        pg_ts_dict.h (r1.3 -> r1.4)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_ts_dict.h?r1=1.3&r2=1.4)
        pg_ts_parser.h (r1.3 -> r1.4)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_ts_parser.h?r1=1.3&r2=1.4)
        pg_ts_template.h (r1.4 -> r1.5)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_ts_template.h?r1=1.4&r2=1.5)
        pg_type.h (r1.192 -> r1.193)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_type.h?r1=1.192&r2=1.193)
    pgsql/src/include/commands:
        sequence.h (r1.39 -> r1.40)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/commands/sequence.h?r1=1.39&r2=1.40)
    pgsql/src/include:
        pg_config_manual.h (r1.29 -> r1.30)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/pg_config_manual.h?r1=1.29&r2=1.30)
        postgres.h (r1.88 -> r1.89)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/postgres.h?r1=1.88&r2=1.89)
    pgsql/src/pl/plpgsql/src:
        pl_comp.c (r1.122 -> r1.123)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_comp.c?r1=1.122&r2=1.123)

Added Files:
-----------
    pgsql/src/include/catalog:
        genbki.h (r1.1)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/genbki.h?rev=1.1&content-type=text/x-cvsweb-markup)
        pg_conversion_fn.h (r1.1)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_conversion_fn.h?rev=1.1&content-type=text/x-cvsweb-markup)
        pg_proc_fn.h (r1.1)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc_fn.h?rev=1.1&content-type=text/x-cvsweb-markup)
        pg_type_fn.h (r1.1)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_type_fn.h?rev=1.1&content-type=text/x-cvsweb-markup)

pgsql-committers by date:

Previous
From: sriggs@pgfoundry.org (User Sriggs)
Date:
Subject: snapclone - pg_snapclone: Imported Sources
Next
From: meskes@postgresql.org (Michael Meskes)
Date:
Subject: pgsql: - Moved from PQsetdbLogin to PQconnectDB.