diff options
author | Tom Lane | 2008-03-27 03:57:34 +0000 |
---|---|---|
committer | Tom Lane | 2008-03-27 03:57:34 +0000 |
commit | 039dfbfd5d29e11da553f4a77a49ca52eafe8217 (patch) | |
tree | 2fecf592610135b5679c6e02acb5744efd5a099f /src/backend | |
parent | 73b0300b2a9c170f67f5202f5003be10b529e0f5 (diff) |
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
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/catalog/dependency.c | 3 | ||||
-rw-r--r-- | src/backend/catalog/heap.c | 3 | ||||
-rw-r--r-- | src/backend/catalog/namespace.c | 3 | ||||
-rw-r--r-- | src/backend/catalog/pg_aggregate.c | 3 | ||||
-rw-r--r-- | src/backend/catalog/pg_conversion.c | 3 | ||||
-rw-r--r-- | src/backend/catalog/pg_proc.c | 3 | ||||
-rw-r--r-- | src/backend/catalog/pg_type.c | 3 | ||||
-rw-r--r-- | src/backend/commands/conversioncmds.c | 3 | ||||
-rw-r--r-- | src/backend/commands/functioncmds.c | 4 | ||||
-rw-r--r-- | src/backend/commands/proclang.c | 3 | ||||
-rw-r--r-- | src/backend/commands/tablecmds.c | 3 | ||||
-rw-r--r-- | src/backend/commands/typecmds.c | 3 | ||||
-rw-r--r-- | src/backend/parser/keywords.c | 19 | ||||
-rw-r--r-- | src/backend/utils/hash/pg_crc.c | 5 |
14 files changed, 42 insertions, 19 deletions
diff --git a/src/backend/catalog/dependency.c b/src/backend/catalog/dependency.c index 44b674b0022..54af43135e1 100644 --- a/src/backend/catalog/dependency.c +++ b/src/backend/catalog/dependency.c @@ -8,7 +8,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/catalog/dependency.c,v 1.70 2008/03/26 21:10:37 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/catalog/dependency.c,v 1.71 2008/03/27 03:57:33 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -29,6 +29,7 @@ #include "catalog/pg_cast.h" #include "catalog/pg_constraint.h" #include "catalog/pg_conversion.h" +#include "catalog/pg_conversion_fn.h" #include "catalog/pg_database.h" #include "catalog/pg_depend.h" #include "catalog/pg_language.h" diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index 2ee79aef9f0..567280e1529 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/catalog/heap.c,v 1.331 2008/03/26 21:10:37 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/catalog/heap.c,v 1.332 2008/03/27 03:57:33 tgl Exp $ * * * INTERFACE ROUTINES @@ -45,6 +45,7 @@ #include "catalog/pg_statistic.h" #include "catalog/pg_tablespace.h" #include "catalog/pg_type.h" +#include "catalog/pg_type_fn.h" #include "commands/tablecmds.h" #include "commands/typecmds.h" #include "miscadmin.h" diff --git a/src/backend/catalog/namespace.c b/src/backend/catalog/namespace.c index 1383d1e2afd..0cb7cf95f7f 100644 --- a/src/backend/catalog/namespace.c +++ b/src/backend/catalog/namespace.c @@ -13,7 +13,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/catalog/namespace.c,v 1.104 2008/01/01 19:45:48 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/catalog/namespace.c,v 1.105 2008/03/27 03:57:33 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -24,6 +24,7 @@ #include "catalog/namespace.h" #include "catalog/pg_authid.h" #include "catalog/pg_conversion.h" +#include "catalog/pg_conversion_fn.h" #include "catalog/pg_namespace.h" #include "catalog/pg_opclass.h" #include "catalog/pg_operator.h" diff --git a/src/backend/catalog/pg_aggregate.c b/src/backend/catalog/pg_aggregate.c index c88f9973b97..69b01b17e1b 100644 --- a/src/backend/catalog/pg_aggregate.c +++ b/src/backend/catalog/pg_aggregate.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/catalog/pg_aggregate.c,v 1.91 2008/03/25 22:42:42 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/catalog/pg_aggregate.c,v 1.92 2008/03/27 03:57:33 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -21,6 +21,7 @@ #include "catalog/pg_language.h" #include "catalog/pg_operator.h" #include "catalog/pg_proc.h" +#include "catalog/pg_proc_fn.h" #include "catalog/pg_type.h" #include "miscadmin.h" #include "parser/parse_coerce.h" diff --git a/src/backend/catalog/pg_conversion.c b/src/backend/catalog/pg_conversion.c index 68b9f2e2934..a456ca4b49a 100644 --- a/src/backend/catalog/pg_conversion.c +++ b/src/backend/catalog/pg_conversion.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/catalog/pg_conversion.c,v 1.41 2008/03/26 21:10:37 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/catalog/pg_conversion.c,v 1.42 2008/03/27 03:57:33 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -19,6 +19,7 @@ #include "catalog/indexing.h" #include "catalog/namespace.h" #include "catalog/pg_conversion.h" +#include "catalog/pg_conversion_fn.h" #include "catalog/pg_namespace.h" #include "catalog/pg_proc.h" #include "mb/pg_wchar.h" diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c index c099d95c059..1f11f82a304 100644 --- a/src/backend/catalog/pg_proc.c +++ b/src/backend/catalog/pg_proc.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/catalog/pg_proc.c,v 1.150 2008/03/25 22:42:42 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/catalog/pg_proc.c,v 1.151 2008/03/27 03:57:33 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -21,6 +21,7 @@ #include "catalog/pg_language.h" #include "catalog/pg_namespace.h" #include "catalog/pg_proc.h" +#include "catalog/pg_proc_fn.h" #include "catalog/pg_type.h" #include "executor/functions.h" #include "funcapi.h" diff --git a/src/backend/catalog/pg_type.c b/src/backend/catalog/pg_type.c index cdbd55c5292..525e4472dda 100644 --- a/src/backend/catalog/pg_type.c +++ b/src/backend/catalog/pg_type.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/catalog/pg_type.c,v 1.117 2008/03/25 22:42:42 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/catalog/pg_type.c,v 1.118 2008/03/27 03:57:33 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -21,6 +21,7 @@ #include "catalog/pg_namespace.h" #include "catalog/pg_proc.h" #include "catalog/pg_type.h" +#include "catalog/pg_type_fn.h" #include "commands/typecmds.h" #include "miscadmin.h" #include "parser/scansup.h" diff --git a/src/backend/commands/conversioncmds.c b/src/backend/commands/conversioncmds.c index f1f4738084c..43f5329b036 100644 --- a/src/backend/commands/conversioncmds.c +++ b/src/backend/commands/conversioncmds.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/conversioncmds.c,v 1.32 2008/01/01 19:45:48 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/commands/conversioncmds.c,v 1.33 2008/03/27 03:57:33 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -18,6 +18,7 @@ #include "catalog/dependency.h" #include "catalog/indexing.h" #include "catalog/pg_conversion.h" +#include "catalog/pg_conversion_fn.h" #include "catalog/pg_type.h" #include "commands/conversioncmds.h" #include "mb/pg_wchar.h" diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c index 7f382c5eaa3..8194b780efb 100644 --- a/src/backend/commands/functioncmds.c +++ b/src/backend/commands/functioncmds.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/functioncmds.c,v 1.90 2008/03/26 21:10:37 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/commands/functioncmds.c,v 1.91 2008/03/27 03:57:33 tgl Exp $ * * DESCRIPTION * These routines take the parse tree and pick out the @@ -41,7 +41,9 @@ #include "catalog/pg_language.h" #include "catalog/pg_namespace.h" #include "catalog/pg_proc.h" +#include "catalog/pg_proc_fn.h" #include "catalog/pg_type.h" +#include "catalog/pg_type_fn.h" #include "commands/defrem.h" #include "commands/proclang.h" #include "miscadmin.h" diff --git a/src/backend/commands/proclang.c b/src/backend/commands/proclang.c index ffc1e396308..f695cc7b420 100644 --- a/src/backend/commands/proclang.c +++ b/src/backend/commands/proclang.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/proclang.c,v 1.76 2008/03/26 21:10:37 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/commands/proclang.c,v 1.77 2008/03/27 03:57:33 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -22,6 +22,7 @@ #include "catalog/pg_namespace.h" #include "catalog/pg_pltemplate.h" #include "catalog/pg_proc.h" +#include "catalog/pg_proc_fn.h" #include "catalog/pg_type.h" #include "commands/dbcommands.h" #include "commands/defrem.h" diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index a03f0079f8e..1754484eeeb 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.247 2008/03/26 21:10:37 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.248 2008/03/27 03:57:33 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -32,6 +32,7 @@ #include "catalog/pg_tablespace.h" #include "catalog/pg_trigger.h" #include "catalog/pg_type.h" +#include "catalog/pg_type_fn.h" #include "catalog/toasting.h" #include "commands/cluster.h" #include "commands/defrem.h" diff --git a/src/backend/commands/typecmds.c b/src/backend/commands/typecmds.c index c9b5b61929c..3f557b078b7 100644 --- a/src/backend/commands/typecmds.c +++ b/src/backend/commands/typecmds.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/typecmds.c,v 1.116 2008/03/26 21:10:38 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/commands/typecmds.c,v 1.117 2008/03/27 03:57:33 tgl Exp $ * * DESCRIPTION * The "DefineFoo" routines take the parse tree and pick out the @@ -43,6 +43,7 @@ #include "catalog/pg_enum.h" #include "catalog/pg_namespace.h" #include "catalog/pg_type.h" +#include "catalog/pg_type_fn.h" #include "commands/defrem.h" #include "commands/tablecmds.h" #include "commands/typecmds.h" diff --git a/src/backend/parser/keywords.c b/src/backend/parser/keywords.c index 301be227d9f..b5312a487fd 100644 --- a/src/backend/parser/keywords.c +++ b/src/backend/parser/keywords.c @@ -3,25 +3,34 @@ * keywords.c * lexical token lookup for key words in PostgreSQL * + * NB: This file is also used by pg_dump. + * + * * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/keywords.c,v 1.194 2008/01/01 19:45:50 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/parser/keywords.c,v 1.195 2008/03/27 03:57:33 tgl Exp $ * *------------------------------------------------------------------------- */ -#include "postgres.h" + +/* Use c.h so that this file can be built in either frontend or backend */ +#include "c.h" #include <ctype.h> -#include "nodes/parsenodes.h" -#include "parser/gramparse.h" /* required before parser/parse.h! */ +/* + * This macro definition overrides the YYSTYPE union definition in parse.h. + * We don't need that struct in this file, and including the real definition + * would require sucking in some backend-only include files. + */ +#define YYSTYPE int + #include "parser/keywords.h" #include "parser/parse.h" -/* NB: This file is also used by pg_dump. */ /* * List of keyword (name, token-value, category) entries. diff --git a/src/backend/utils/hash/pg_crc.c b/src/backend/utils/hash/pg_crc.c index dacd3b94a5f..b5e8abb58e6 100644 --- a/src/backend/utils/hash/pg_crc.c +++ b/src/backend/utils/hash/pg_crc.c @@ -19,12 +19,13 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/hash/pg_crc.c,v 1.18 2008/01/01 19:45:53 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/hash/pg_crc.c,v 1.19 2008/03/27 03:57:33 tgl Exp $ * *------------------------------------------------------------------------- */ -#include "postgres.h" +/* Use c.h so that this file can be built in either frontend or backend */ +#include "c.h" /* |