aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/Makefile15
-rw-r--r--src/backend/access/brin/brin.c1
-rw-r--r--src/backend/access/brin/brin_inclusion.c5
-rw-r--r--src/backend/access/brin/brin_minmax.c5
-rw-r--r--src/backend/access/gin/ginfast.c1
-rw-r--r--src/backend/access/gist/gist.c1
-rw-r--r--src/backend/access/hash/hash.c1
-rw-r--r--src/backend/access/hash/hashfunc.c10
-rw-r--r--src/backend/access/index/amapi.c1
-rw-r--r--src/backend/access/nbtree/nbtree.c1
-rw-r--r--src/backend/access/spgist/spgutils.c1
-rw-r--r--src/backend/access/transam/xlogfuncs.c1
-rw-r--r--src/backend/catalog/namespace.c16
-rw-r--r--src/backend/catalog/pg_proc.c4
-rw-r--r--src/backend/commands/define.c2
-rw-r--r--src/backend/executor/nodeSamplescan.c1
-rw-r--r--src/backend/foreign/foreign.c4
-rw-r--r--src/backend/storage/smgr/smgrtype.c1
-rw-r--r--src/backend/tsearch/dict_ispell.c1
-rw-r--r--src/backend/tsearch/dict_simple.c1
-rw-r--r--src/backend/tsearch/dict_synonym.c1
-rw-r--r--src/backend/tsearch/ts_selfuncs.c1
-rw-r--r--src/backend/utils/.gitignore1
-rw-r--r--src/backend/utils/Gen_fmgrtab.pl35
-rw-r--r--src/backend/utils/Makefile12
-rw-r--r--src/backend/utils/adt/array_selfuncs.c1
-rw-r--r--src/backend/utils/adt/array_typanalyze.c1
-rw-r--r--src/backend/utils/adt/ascii.c1
-rw-r--r--src/backend/utils/adt/geo_selfuncs.c1
-rw-r--r--src/backend/utils/adt/jsonb_op.c1
-rw-r--r--src/backend/utils/adt/network_gist.c1
-rw-r--r--src/backend/utils/adt/network_selfuncs.c1
-rw-r--r--src/backend/utils/adt/network_spgist.c1
-rw-r--r--src/backend/utils/adt/numeric.c6
-rw-r--r--src/backend/utils/adt/pg_upgrade_support.c12
-rw-r--r--src/backend/utils/adt/pgstatfuncs.c100
-rw-r--r--src/backend/utils/adt/rangetypes_spgist.c7
-rw-r--r--src/backend/utils/adt/tsgistidx.c1
-rw-r--r--src/backend/utils/adt/tsquery_gist.c1
-rw-r--r--src/backend/utils/adt/tsquery_op.c1
-rw-r--r--src/backend/utils/adt/tsrank.c1
-rw-r--r--src/backend/utils/adt/tsvector.c1
-rw-r--r--src/backend/utils/adt/varbit.c1
43 files changed, 97 insertions, 165 deletions
diff --git a/src/backend/Makefile b/src/backend/Makefile
index 7ce25d3ebbe..82975f514ab 100644
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
@@ -139,8 +139,8 @@ storage/lmgr/lwlocknames.h: storage/lmgr/generate-lwlocknames.pl storage/lmgr/lw
utils/errcodes.h: utils/generate-errcodes.pl utils/errcodes.txt
$(MAKE) -C utils errcodes.h
-utils/fmgroids.h: utils/Gen_fmgrtab.pl catalog/Catalog.pm $(top_srcdir)/src/include/catalog/pg_proc.h
- $(MAKE) -C utils fmgroids.h
+utils/fmgroids.h utils/fmgrprotos.h: utils/Gen_fmgrtab.pl catalog/Catalog.pm $(top_srcdir)/src/include/catalog/pg_proc.h
+ $(MAKE) -C utils $(notdir $@)
utils/probes.h: utils/probes.d
$(MAKE) -C utils probes.h
@@ -166,7 +166,7 @@ submake-schemapg:
.PHONY: generated-headers
-generated-headers: $(top_builddir)/src/include/parser/gram.h $(top_builddir)/src/include/catalog/schemapg.h $(top_builddir)/src/include/storage/lwlocknames.h $(top_builddir)/src/include/utils/errcodes.h $(top_builddir)/src/include/utils/fmgroids.h $(top_builddir)/src/include/utils/probes.h
+generated-headers: $(top_builddir)/src/include/parser/gram.h $(top_builddir)/src/include/catalog/schemapg.h $(top_builddir)/src/include/storage/lwlocknames.h $(top_builddir)/src/include/utils/errcodes.h $(top_builddir)/src/include/utils/fmgroids.h $(top_builddir)/src/include/utils/fmgrprotos.h $(top_builddir)/src/include/utils/probes.h
$(top_builddir)/src/include/parser/gram.h: parser/gram.h
prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \
@@ -193,6 +193,11 @@ $(top_builddir)/src/include/utils/fmgroids.h: utils/fmgroids.h
cd '$(dir $@)' && rm -f $(notdir $@) && \
$(LN_S) "$$prereqdir/$(notdir $<)" .
+$(top_builddir)/src/include/utils/fmgrprotos.h: utils/fmgrprotos.h
+ prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \
+ cd '$(dir $@)' && rm -f $(notdir $@) && \
+ $(LN_S) "$$prereqdir/$(notdir $<)" .
+
$(top_builddir)/src/include/utils/probes.h: utils/probes.h
cd '$(dir $@)' && rm -f $(notdir $@) && \
$(LN_S) "../../../$(subdir)/utils/probes.h" .
@@ -211,7 +216,7 @@ distprep:
$(MAKE) -C catalog schemapg.h postgres.bki postgres.description postgres.shdescription
$(MAKE) -C replication repl_gram.c repl_scanner.c syncrep_gram.c syncrep_scanner.c
$(MAKE) -C storage/lmgr lwlocknames.h
- $(MAKE) -C utils fmgrtab.c fmgroids.h errcodes.h
+ $(MAKE) -C utils fmgrtab.c fmgroids.h fmgrprotos.h errcodes.h
$(MAKE) -C utils/misc guc-file.c
$(MAKE) -C utils/sort qsort_tuple.c
@@ -303,6 +308,7 @@ clean:
$(top_builddir)/src/include/catalog/schemapg.h \
$(top_builddir)/src/include/storage/lwlocknames.h \
$(top_builddir)/src/include/utils/fmgroids.h \
+ $(top_builddir)/src/include/utils/fmgrprotos.h \
$(top_builddir)/src/include/utils/probes.h
ifeq ($(PORTNAME), cygwin)
rm -f postgres.dll libpostgres.a
@@ -331,6 +337,7 @@ maintainer-clean: distclean
storage/lmgr/lwlocknames.c \
storage/lmgr/lwlocknames.h \
utils/fmgroids.h \
+ utils/fmgrprotos.h \
utils/fmgrtab.c \
utils/errcodes.h \
utils/misc/guc-file.c \
diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c
index 3fce672ca97..d60ddd242cb 100644
--- a/src/backend/access/brin/brin.c
+++ b/src/backend/access/brin/brin.c
@@ -28,6 +28,7 @@
#include "pgstat.h"
#include "storage/bufmgr.h"
#include "storage/freespace.h"
+#include "utils/builtins.h"
#include "utils/index_selfuncs.h"
#include "utils/memutils.h"
#include "utils/rel.h"
diff --git a/src/backend/access/brin/brin_inclusion.c b/src/backend/access/brin/brin_inclusion.c
index eb123c83fcd..bc16dd79812 100644
--- a/src/backend/access/brin/brin_inclusion.c
+++ b/src/backend/access/brin/brin_inclusion.c
@@ -30,6 +30,7 @@
#include "access/skey.h"
#include "catalog/pg_amop.h"
#include "catalog/pg_type.h"
+#include "utils/builtins.h"
#include "utils/datum.h"
#include "utils/lsyscache.h"
#include "utils/rel.h"
@@ -76,10 +77,6 @@ typedef struct InclusionOpaque
FmgrInfo strategy_procinfos[RTMaxStrategyNumber];
} InclusionOpaque;
-Datum brin_inclusion_opcinfo(PG_FUNCTION_ARGS);
-Datum brin_inclusion_add_value(PG_FUNCTION_ARGS);
-Datum brin_inclusion_consistent(PG_FUNCTION_ARGS);
-Datum brin_inclusion_union(PG_FUNCTION_ARGS);
static FmgrInfo *inclusion_get_procinfo(BrinDesc *bdesc, uint16 attno,
uint16 procnum);
static FmgrInfo *inclusion_get_strategy_procinfo(BrinDesc *bdesc, uint16 attno,
diff --git a/src/backend/access/brin/brin_minmax.c b/src/backend/access/brin/brin_minmax.c
index ebbc789a34b..8f7a0c75b81 100644
--- a/src/backend/access/brin/brin_minmax.c
+++ b/src/backend/access/brin/brin_minmax.c
@@ -16,6 +16,7 @@
#include "access/stratnum.h"
#include "catalog/pg_type.h"
#include "catalog/pg_amop.h"
+#include "utils/builtins.h"
#include "utils/datum.h"
#include "utils/lsyscache.h"
#include "utils/rel.h"
@@ -28,10 +29,6 @@ typedef struct MinmaxOpaque
FmgrInfo strategy_procinfos[BTMaxStrategyNumber];
} MinmaxOpaque;
-Datum brin_minmax_opcinfo(PG_FUNCTION_ARGS);
-Datum brin_minmax_add_value(PG_FUNCTION_ARGS);
-Datum brin_minmax_consistent(PG_FUNCTION_ARGS);
-Datum brin_minmax_union(PG_FUNCTION_ARGS);
static FmgrInfo *minmax_get_strategy_procinfo(BrinDesc *bdesc, uint16 attno,
Oid subtype, uint16 strategynum);
diff --git a/src/backend/access/gin/ginfast.c b/src/backend/access/gin/ginfast.c
index 5f2f1e5b9fc..85031e29219 100644
--- a/src/backend/access/gin/ginfast.c
+++ b/src/backend/access/gin/ginfast.c
@@ -30,6 +30,7 @@
#include "postmaster/autovacuum.h"
#include "storage/indexfsm.h"
#include "storage/lmgr.h"
+#include "utils/builtins.h"
/* GUC parameter */
int gin_pending_list_limit = 0;
diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c
index 4092a8b258d..597056ae440 100644
--- a/src/backend/access/gist/gist.c
+++ b/src/backend/access/gist/gist.c
@@ -18,6 +18,7 @@
#include "access/gistscan.h"
#include "catalog/pg_collation.h"
#include "miscadmin.h"
+#include "utils/builtins.h"
#include "utils/index_selfuncs.h"
#include "utils/memutils.h"
#include "utils/rel.h"
diff --git a/src/backend/access/hash/hash.c b/src/backend/access/hash/hash.c
index 0cbf6b07be0..a64a9b9696a 100644
--- a/src/backend/access/hash/hash.c
+++ b/src/backend/access/hash/hash.c
@@ -25,6 +25,7 @@
#include "commands/vacuum.h"
#include "miscadmin.h"
#include "optimizer/plancat.h"
+#include "utils/builtins.h"
#include "utils/index_selfuncs.h"
#include "utils/rel.h"
diff --git a/src/backend/access/hash/hashfunc.c b/src/backend/access/hash/hashfunc.c
index ef09afb4002..289d766419a 100644
--- a/src/backend/access/hash/hashfunc.c
+++ b/src/backend/access/hash/hashfunc.c
@@ -27,7 +27,17 @@
#include "postgres.h"
#include "access/hash.h"
+#include "utils/builtins.h"
+/*
+ * Datatype-specific hash functions.
+ *
+ * These support both hash indexes and hash joins.
+ *
+ * NOTE: some of these are also used by catcache operations, without
+ * any direct connection to hash indexes. Also, the common hash_any
+ * routine is also used by dynahash tables.
+ */
/* Note: this is used for both "char" and boolean datatypes */
Datum
diff --git a/src/backend/access/index/amapi.c b/src/backend/access/index/amapi.c
index 5b55353b2cb..7b597a072f2 100644
--- a/src/backend/access/index/amapi.c
+++ b/src/backend/access/index/amapi.c
@@ -17,6 +17,7 @@
#include "access/htup_details.h"
#include "catalog/pg_am.h"
#include "catalog/pg_opclass.h"
+#include "utils/builtins.h"
#include "utils/syscache.h"
diff --git a/src/backend/access/nbtree/nbtree.c b/src/backend/access/nbtree/nbtree.c
index c6eed63d914..1bb1acfea6a 100644
--- a/src/backend/access/nbtree/nbtree.c
+++ b/src/backend/access/nbtree/nbtree.c
@@ -28,6 +28,7 @@
#include "storage/lmgr.h"
#include "storage/smgr.h"
#include "tcop/tcopprot.h" /* pgrminclude ignore */
+#include "utils/builtins.h"
#include "utils/index_selfuncs.h"
#include "utils/memutils.h"
diff --git a/src/backend/access/spgist/spgutils.c b/src/backend/access/spgist/spgutils.c
index b9e4940c958..ca4b0bdbe4f 100644
--- a/src/backend/access/spgist/spgutils.c
+++ b/src/backend/access/spgist/spgutils.c
@@ -22,6 +22,7 @@
#include "storage/bufmgr.h"
#include "storage/indexfsm.h"
#include "storage/lmgr.h"
+#include "utils/builtins.h"
#include "utils/index_selfuncs.h"
#include "utils/lsyscache.h"
diff --git a/src/backend/access/transam/xlogfuncs.c b/src/backend/access/transam/xlogfuncs.c
index 5cafb8b913a..63e6552ce74 100644
--- a/src/backend/access/transam/xlogfuncs.c
+++ b/src/backend/access/transam/xlogfuncs.c
@@ -18,7 +18,6 @@
#include "access/htup_details.h"
#include "access/xlog.h"
-#include "access/xlog_fn.h"
#include "access/xlog_internal.h"
#include "access/xlogutils.h"
#include "catalog/catalog.h"
diff --git a/src/backend/catalog/namespace.c b/src/backend/catalog/namespace.c
index c9473c89172..77e9777a230 100644
--- a/src/backend/catalog/namespace.c
+++ b/src/backend/catalog/namespace.c
@@ -198,22 +198,6 @@ static void NamespaceCallback(Datum arg, int cacheid, uint32 hashvalue);
static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
int **argnumbers);
-/* These don't really need to appear in any header file */
-Datum pg_table_is_visible(PG_FUNCTION_ARGS);
-Datum pg_type_is_visible(PG_FUNCTION_ARGS);
-Datum pg_function_is_visible(PG_FUNCTION_ARGS);
-Datum pg_operator_is_visible(PG_FUNCTION_ARGS);
-Datum pg_opclass_is_visible(PG_FUNCTION_ARGS);
-Datum pg_opfamily_is_visible(PG_FUNCTION_ARGS);
-Datum pg_collation_is_visible(PG_FUNCTION_ARGS);
-Datum pg_conversion_is_visible(PG_FUNCTION_ARGS);
-Datum pg_ts_parser_is_visible(PG_FUNCTION_ARGS);
-Datum pg_ts_dict_is_visible(PG_FUNCTION_ARGS);
-Datum pg_ts_template_is_visible(PG_FUNCTION_ARGS);
-Datum pg_ts_config_is_visible(PG_FUNCTION_ARGS);
-Datum pg_my_temp_schema(PG_FUNCTION_ARGS);
-Datum pg_is_other_temp_schema(PG_FUNCTION_ARGS);
-
/*
* RangeVarGetRelid
diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c
index 85cec0cb1cb..05d91fa859f 100644
--- a/src/backend/catalog/pg_proc.c
+++ b/src/backend/catalog/pg_proc.c
@@ -41,10 +41,6 @@
#include "utils/syscache.h"
-Datum fmgr_internal_validator(PG_FUNCTION_ARGS);
-Datum fmgr_c_validator(PG_FUNCTION_ARGS);
-Datum fmgr_sql_validator(PG_FUNCTION_ARGS);
-
typedef struct
{
char *proname;
diff --git a/src/backend/commands/define.c b/src/backend/commands/define.c
index b75dcff5d0e..714b5252c73 100644
--- a/src/backend/commands/define.c
+++ b/src/backend/commands/define.c
@@ -40,7 +40,7 @@
#include "nodes/makefuncs.h"
#include "parser/parse_type.h"
#include "parser/scansup.h"
-#include "utils/int8.h"
+#include "utils/builtins.h"
/*
* Extract a string value (otherwise uninterpreted) from a DefElem.
diff --git a/src/backend/executor/nodeSamplescan.c b/src/backend/executor/nodeSamplescan.c
index 9c686a045bd..8db5469d5a4 100644
--- a/src/backend/executor/nodeSamplescan.c
+++ b/src/backend/executor/nodeSamplescan.c
@@ -22,6 +22,7 @@
#include "miscadmin.h"
#include "pgstat.h"
#include "storage/predicate.h"
+#include "utils/builtins.h"
#include "utils/rel.h"
#include "utils/tqual.h"
diff --git a/src/backend/foreign/foreign.c b/src/backend/foreign/foreign.c
index 291c8a3bf4e..fdb4f712534 100644
--- a/src/backend/foreign/foreign.c
+++ b/src/backend/foreign/foreign.c
@@ -28,10 +28,6 @@
#include "utils/syscache.h"
-extern Datum pg_options_to_table(PG_FUNCTION_ARGS);
-extern Datum postgresql_fdw_validator(PG_FUNCTION_ARGS);
-
-
/*
* GetForeignDataWrapper - look up the foreign-data wrapper by OID.
*/
diff --git a/src/backend/storage/smgr/smgrtype.c b/src/backend/storage/smgr/smgrtype.c
index d74feb58eb9..dc81fe81cf5 100644
--- a/src/backend/storage/smgr/smgrtype.c
+++ b/src/backend/storage/smgr/smgrtype.c
@@ -15,6 +15,7 @@
#include "postgres.h"
#include "storage/smgr.h"
+#include "utils/builtins.h"
typedef struct smgrid
diff --git a/src/backend/tsearch/dict_ispell.c b/src/backend/tsearch/dict_ispell.c
index eca723fb07e..b4576bf1f87 100644
--- a/src/backend/tsearch/dict_ispell.c
+++ b/src/backend/tsearch/dict_ispell.c
@@ -17,6 +17,7 @@
#include "tsearch/dicts/spell.h"
#include "tsearch/ts_locale.h"
#include "tsearch/ts_utils.h"
+#include "utils/builtins.h"
typedef struct
diff --git a/src/backend/tsearch/dict_simple.c b/src/backend/tsearch/dict_simple.c
index 494594cbcae..c3613628800 100644
--- a/src/backend/tsearch/dict_simple.c
+++ b/src/backend/tsearch/dict_simple.c
@@ -16,6 +16,7 @@
#include "commands/defrem.h"
#include "tsearch/ts_locale.h"
#include "tsearch/ts_utils.h"
+#include "utils/builtins.h"
typedef struct
diff --git a/src/backend/tsearch/dict_synonym.c b/src/backend/tsearch/dict_synonym.c
index 3fd6fa579ae..e67d2e6e042 100644
--- a/src/backend/tsearch/dict_synonym.c
+++ b/src/backend/tsearch/dict_synonym.c
@@ -16,6 +16,7 @@
#include "commands/defrem.h"
#include "tsearch/ts_locale.h"
#include "tsearch/ts_utils.h"
+#include "utils/builtins.h"
typedef struct
{
diff --git a/src/backend/tsearch/ts_selfuncs.c b/src/backend/tsearch/ts_selfuncs.c
index 9fce7c3ebab..904d8848c89 100644
--- a/src/backend/tsearch/ts_selfuncs.c
+++ b/src/backend/tsearch/ts_selfuncs.c
@@ -19,6 +19,7 @@
#include "miscadmin.h"
#include "nodes/nodes.h"
#include "tsearch/ts_type.h"
+#include "utils/builtins.h"
#include "utils/lsyscache.h"
#include "utils/selfuncs.h"
#include "utils/syscache.h"
diff --git a/src/backend/utils/.gitignore b/src/backend/utils/.gitignore
index 5c3a565ba0b..f26215c6315 100644
--- a/src/backend/utils/.gitignore
+++ b/src/backend/utils/.gitignore
@@ -1,4 +1,5 @@
/fmgrtab.c
/fmgroids.h
+/fmgrprotos.h
/probes.h
/errcodes.h
diff --git a/src/backend/utils/Gen_fmgrtab.pl b/src/backend/utils/Gen_fmgrtab.pl
index bc5865a14be..cdd603ab6fe 100644
--- a/src/backend/utils/Gen_fmgrtab.pl
+++ b/src/backend/utils/Gen_fmgrtab.pl
@@ -87,9 +87,11 @@ foreach my $row (@$data)
# Emit headers for both files
my $tmpext = ".tmp$$";
my $oidsfile = $output_path . 'fmgroids.h';
+my $protosfile = $output_path . 'fmgrprotos.h';
my $tabfile = $output_path . 'fmgrtab.c';
open H, '>', $oidsfile . $tmpext or die "Could not open $oidsfile$tmpext: $!";
+open P, '>', $protosfile . $tmpext or die "Could not open $protosfile$tmpext: $!";
open T, '>', $tabfile . $tmpext or die "Could not open $tabfile$tmpext: $!";
print H
@@ -130,6 +132,33 @@ qq|/*-------------------------------------------------------------------------
*/
|;
+print P
+qq|/*-------------------------------------------------------------------------
+ *
+ * fmgrprotos.h
+ * Prototypes for built-in functions.
+ *
+ * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ * NOTES
+ * ******************************
+ * *** DO NOT EDIT THIS FILE! ***
+ * ******************************
+ *
+ * It has been GENERATED by $0
+ * from $infile
+ *
+ *-------------------------------------------------------------------------
+ */
+
+#ifndef FMGRPROTOS_H
+#define FMGRPROTOS_H
+
+#include "fmgr.h"
+
+|;
+
print T
qq|/*-------------------------------------------------------------------------
*
@@ -154,6 +183,7 @@ qq|/*-------------------------------------------------------------------------
#include "postgres.h"
#include "utils/fmgrtab.h"
+#include "utils/fmgrprotos.h"
|;
@@ -164,7 +194,7 @@ foreach my $s (sort { $a->{oid} <=> $b->{oid} } @fmgr)
next if $seenit{ $s->{prosrc} };
$seenit{ $s->{prosrc} } = 1;
print H "#define F_" . uc $s->{prosrc} . " $s->{oid}\n";
- print T "extern Datum $s->{prosrc} (PG_FUNCTION_ARGS);\n";
+ print P "extern Datum $s->{prosrc}(PG_FUNCTION_ARGS);\n";
}
# Create the fmgr_builtins table
@@ -180,6 +210,7 @@ foreach my $s (sort { $a->{oid} <=> $b->{oid} } @fmgr)
# And add the file footers.
print H "\n#endif /* FMGROIDS_H */\n";
+print P "\n#endif /* FMGRPROTOS_H */\n";
print T
qq| /* dummy entry is easier than getting rid of comma after last real one */
@@ -193,10 +224,12 @@ const int fmgr_nbuiltins = (sizeof(fmgr_builtins) / sizeof(FmgrBuiltin)) - 1;
|;
close(H);
+close(P);
close(T);
# Finally, rename the completed files into place.
Catalog::RenameTempFile($oidsfile, $tmpext);
+Catalog::RenameTempFile($protosfile, $tmpext);
Catalog::RenameTempFile($tabfile, $tmpext);
sub usage
diff --git a/src/backend/utils/Makefile b/src/backend/utils/Makefile
index 83745337180..4fa5ac26f7d 100644
--- a/src/backend/utils/Makefile
+++ b/src/backend/utils/Makefile
@@ -16,12 +16,12 @@ catalogdir = $(top_srcdir)/src/backend/catalog
include $(top_srcdir)/src/backend/common.mk
-all: errcodes.h fmgroids.h probes.h
+all: errcodes.h fmgroids.h fmgrprotos.h probes.h
-$(SUBDIRS:%=%-recursive): fmgroids.h
+$(SUBDIRS:%=%-recursive): fmgroids.h fmgrprotos.h
# see explanation in ../parser/Makefile
-fmgroids.h: fmgrtab.c ;
+fmgroids.h fmgrprotos.h: fmgrtab.c ;
fmgrtab.c: Gen_fmgrtab.pl $(catalogdir)/Catalog.pm $(top_srcdir)/src/include/catalog/pg_proc.h
$(PERL) -I $(catalogdir) $< $(top_srcdir)/src/include/catalog/pg_proc.h
@@ -43,10 +43,10 @@ else
endif
-# fmgroids.h, fmgrtab.c and errcodes.h are in the distribution tarball, so they
-# are not cleaned here.
+# fmgroids.h, fmgrprotos.h, fmgrtab.c and errcodes.h are in the
+# distribution tarball, so they are not cleaned here.
clean:
rm -f probes.h
maintainer-clean: clean
- rm -f fmgroids.h fmgrtab.c errcodes.h
+ rm -f fmgroids.h fmgrprotos.h fmgrtab.c errcodes.h
diff --git a/src/backend/utils/adt/array_selfuncs.c b/src/backend/utils/adt/array_selfuncs.c
index c9ccc9a6a49..50e81452410 100644
--- a/src/backend/utils/adt/array_selfuncs.c
+++ b/src/backend/utils/adt/array_selfuncs.c
@@ -22,6 +22,7 @@
#include "catalog/pg_statistic.h"
#include "optimizer/clauses.h"
#include "utils/array.h"
+#include "utils/builtins.h"
#include "utils/lsyscache.h"
#include "utils/selfuncs.h"
#include "utils/typcache.h"
diff --git a/src/backend/utils/adt/array_typanalyze.c b/src/backend/utils/adt/array_typanalyze.c
index b2ddacd3d5a..85b7a432920 100644
--- a/src/backend/utils/adt/array_typanalyze.c
+++ b/src/backend/utils/adt/array_typanalyze.c
@@ -18,6 +18,7 @@
#include "catalog/pg_collation.h"
#include "commands/vacuum.h"
#include "utils/array.h"
+#include "utils/builtins.h"
#include "utils/datum.h"
#include "utils/lsyscache.h"
#include "utils/typcache.h"
diff --git a/src/backend/utils/adt/ascii.c b/src/backend/utils/adt/ascii.c
index d4c4a3ec537..e219d4b4954 100644
--- a/src/backend/utils/adt/ascii.c
+++ b/src/backend/utils/adt/ascii.c
@@ -13,6 +13,7 @@
#include "mb/pg_wchar.h"
#include "utils/ascii.h"
+#include "utils/builtins.h"
static void pg_to_ascii(unsigned char *src, unsigned char *src_end,
unsigned char *dest, int enc);
diff --git a/src/backend/utils/adt/geo_selfuncs.c b/src/backend/utils/adt/geo_selfuncs.c
index 39701d725b4..774063e92c6 100644
--- a/src/backend/utils/adt/geo_selfuncs.c
+++ b/src/backend/utils/adt/geo_selfuncs.c
@@ -18,6 +18,7 @@
*/
#include "postgres.h"
+#include "utils/builtins.h"
#include "utils/geo_decls.h"
diff --git a/src/backend/utils/adt/jsonb_op.c b/src/backend/utils/adt/jsonb_op.c
index f9d6947362c..d4c490e948a 100644
--- a/src/backend/utils/adt/jsonb_op.c
+++ b/src/backend/utils/adt/jsonb_op.c
@@ -15,6 +15,7 @@
#include "catalog/pg_type.h"
#include "miscadmin.h"
+#include "utils/builtins.h"
#include "utils/jsonb.h"
Datum
diff --git a/src/backend/utils/adt/network_gist.c b/src/backend/utils/adt/network_gist.c
index e3af7341c69..a0097dae9c5 100644
--- a/src/backend/utils/adt/network_gist.c
+++ b/src/backend/utils/adt/network_gist.c
@@ -49,6 +49,7 @@
#include "access/gist.h"
#include "access/stratnum.h"
+#include "utils/builtins.h"
#include "utils/inet.h"
/*
diff --git a/src/backend/utils/adt/network_selfuncs.c b/src/backend/utils/adt/network_selfuncs.c
index 1d30c4e30d7..bcdd902ee8a 100644
--- a/src/backend/utils/adt/network_selfuncs.c
+++ b/src/backend/utils/adt/network_selfuncs.c
@@ -23,6 +23,7 @@
#include "access/htup_details.h"
#include "catalog/pg_operator.h"
#include "catalog/pg_statistic.h"
+#include "utils/builtins.h"
#include "utils/inet.h"
#include "utils/lsyscache.h"
#include "utils/selfuncs.h"
diff --git a/src/backend/utils/adt/network_spgist.c b/src/backend/utils/adt/network_spgist.c
index d3c2068dd68..c48f45fe478 100644
--- a/src/backend/utils/adt/network_spgist.c
+++ b/src/backend/utils/adt/network_spgist.c
@@ -35,6 +35,7 @@
#include "access/spgist.h"
#include "catalog/pg_type.h"
+#include "utils/builtins.h"
#include "utils/inet.h"
diff --git a/src/backend/utils/adt/numeric.c b/src/backend/utils/adt/numeric.c
index 89b4e4d8b22..5cc8de5af21 100644
--- a/src/backend/utils/adt/numeric.c
+++ b/src/backend/utils/adt/numeric.c
@@ -3110,7 +3110,11 @@ numeric_float8(PG_FUNCTION_ARGS)
}
-/* Convert numeric to float8; if out of range, return +/- HUGE_VAL */
+/*
+ * Convert numeric to float8; if out of range, return +/- HUGE_VAL
+ *
+ * (internal helper function, not directly callable from SQL)
+ */
Datum
numeric_float8_no_overflow(PG_FUNCTION_ARGS)
{
diff --git a/src/backend/utils/adt/pg_upgrade_support.c b/src/backend/utils/adt/pg_upgrade_support.c
index 4e7620ded32..282b2649ffc 100644
--- a/src/backend/utils/adt/pg_upgrade_support.c
+++ b/src/backend/utils/adt/pg_upgrade_support.c
@@ -20,18 +20,6 @@
#include "utils/builtins.h"
-Datum binary_upgrade_set_next_pg_type_oid(PG_FUNCTION_ARGS);
-Datum binary_upgrade_set_next_array_pg_type_oid(PG_FUNCTION_ARGS);
-Datum binary_upgrade_set_next_toast_pg_type_oid(PG_FUNCTION_ARGS);
-Datum binary_upgrade_set_next_heap_pg_class_oid(PG_FUNCTION_ARGS);
-Datum binary_upgrade_set_next_index_pg_class_oid(PG_FUNCTION_ARGS);
-Datum binary_upgrade_set_next_toast_pg_class_oid(PG_FUNCTION_ARGS);
-Datum binary_upgrade_set_next_pg_enum_oid(PG_FUNCTION_ARGS);
-Datum binary_upgrade_set_next_pg_authid_oid(PG_FUNCTION_ARGS);
-Datum binary_upgrade_create_empty_extension(PG_FUNCTION_ARGS);
-Datum binary_upgrade_set_record_init_privs(PG_FUNCTION_ARGS);
-
-
#define CHECK_IS_BINARY_UPGRADE \
do { \
if (!IsBinaryUpgrade) \
diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c
index a380dbf7374..a987d0d6214 100644
--- a/src/backend/utils/adt/pgstatfuncs.c
+++ b/src/backend/utils/adt/pgstatfuncs.c
@@ -29,106 +29,6 @@
#define UINT32_ACCESS_ONCE(var) ((uint32)(*((volatile uint32 *)&(var))))
-/* bogus ... these externs should be in a header file */
-extern Datum pg_stat_get_numscans(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_tuples_returned(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_tuples_fetched(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_tuples_inserted(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_tuples_updated(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_tuples_deleted(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_tuples_hot_updated(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_live_tuples(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_dead_tuples(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_mod_since_analyze(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_blocks_fetched(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_blocks_hit(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_last_vacuum_time(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_last_autovacuum_time(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_last_analyze_time(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_last_autoanalyze_time(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_vacuum_count(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_autovacuum_count(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_analyze_count(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_autoanalyze_count(PG_FUNCTION_ARGS);
-
-extern Datum pg_stat_get_function_calls(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_function_total_time(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_function_self_time(PG_FUNCTION_ARGS);
-
-extern Datum pg_stat_get_backend_idset(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_activity(PG_FUNCTION_ARGS);
-extern Datum pg_backend_pid(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_backend_pid(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_backend_dbid(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_backend_userid(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_backend_activity(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_backend_wait_event_type(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_backend_wait_event(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_backend_activity_start(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_backend_xact_start(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_backend_start(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_backend_client_addr(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_backend_client_port(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_progress_info(PG_FUNCTION_ARGS);
-
-extern Datum pg_stat_get_db_numbackends(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_xact_commit(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_xact_rollback(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_blocks_fetched(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_blocks_hit(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_tuples_returned(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_tuples_fetched(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_tuples_inserted(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_tuples_updated(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_tuples_deleted(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_conflict_tablespace(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_conflict_lock(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_conflict_snapshot(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_conflict_bufferpin(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_conflict_startup_deadlock(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_conflict_all(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_deadlocks(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_stat_reset_time(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_temp_files(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_temp_bytes(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_blk_read_time(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_db_blk_write_time(PG_FUNCTION_ARGS);
-
-extern Datum pg_stat_get_archiver(PG_FUNCTION_ARGS);
-
-extern Datum pg_stat_get_bgwriter_timed_checkpoints(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_bgwriter_requested_checkpoints(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_checkpoint_write_time(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_checkpoint_sync_time(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_bgwriter_buf_written_checkpoints(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_bgwriter_buf_written_clean(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_bgwriter_maxwritten_clean(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_bgwriter_stat_reset_time(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_buf_written_backend(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_buf_fsync_backend(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_buf_alloc(PG_FUNCTION_ARGS);
-
-extern Datum pg_stat_get_xact_numscans(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_xact_tuples_returned(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_xact_tuples_fetched(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_xact_tuples_inserted(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_xact_tuples_updated(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_xact_tuples_deleted(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_xact_tuples_hot_updated(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_xact_blocks_fetched(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_xact_blocks_hit(PG_FUNCTION_ARGS);
-
-extern Datum pg_stat_get_xact_function_calls(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_xact_function_total_time(PG_FUNCTION_ARGS);
-extern Datum pg_stat_get_xact_function_self_time(PG_FUNCTION_ARGS);
-
-extern Datum pg_stat_get_snapshot_timestamp(PG_FUNCTION_ARGS);
-extern Datum pg_stat_clear_snapshot(PG_FUNCTION_ARGS);
-extern Datum pg_stat_reset(PG_FUNCTION_ARGS);
-extern Datum pg_stat_reset_shared(PG_FUNCTION_ARGS);
-extern Datum pg_stat_reset_single_table_counters(PG_FUNCTION_ARGS);
-extern Datum pg_stat_reset_single_function_counters(PG_FUNCTION_ARGS);
-
/* Global bgwriter statistics, from bgwriter.c */
extern PgStat_MsgBgWriter bgwriterStats;
diff --git a/src/backend/utils/adt/rangetypes_spgist.c b/src/backend/utils/adt/rangetypes_spgist.c
index 185b1db3427..a887e55b926 100644
--- a/src/backend/utils/adt/rangetypes_spgist.c
+++ b/src/backend/utils/adt/rangetypes_spgist.c
@@ -43,13 +43,6 @@
#include "utils/datum.h"
#include "utils/rangetypes.h"
-/* SP-GiST API functions */
-Datum spg_range_quad_config(PG_FUNCTION_ARGS);
-Datum spg_range_quad_choose(PG_FUNCTION_ARGS);
-Datum spg_range_quad_picksplit(PG_FUNCTION_ARGS);
-Datum spg_range_quad_inner_consistent(PG_FUNCTION_ARGS);
-Datum spg_range_quad_leaf_consistent(PG_FUNCTION_ARGS);
-
static int16 getQuadrant(TypeCacheEntry *typcache, RangeType *centroid,
RangeType *tst);
static int bound_cmp(const void *a, const void *b, void *arg);
diff --git a/src/backend/utils/adt/tsgistidx.c b/src/backend/utils/adt/tsgistidx.c
index c86152375a2..7ce2699b5c2 100644
--- a/src/backend/utils/adt/tsgistidx.c
+++ b/src/backend/utils/adt/tsgistidx.c
@@ -17,6 +17,7 @@
#include "access/gist.h"
#include "access/tuptoaster.h"
#include "tsearch/ts_utils.h"
+#include "utils/builtins.h"
#include "utils/pg_crc.h"
diff --git a/src/backend/utils/adt/tsquery_gist.c b/src/backend/utils/adt/tsquery_gist.c
index e22f86496e5..85518dc7d9f 100644
--- a/src/backend/utils/adt/tsquery_gist.c
+++ b/src/backend/utils/adt/tsquery_gist.c
@@ -17,6 +17,7 @@
#include "access/stratnum.h"
#include "access/gist.h"
#include "tsearch/ts_utils.h"
+#include "utils/builtins.h"
#define GETENTRY(vec,pos) DatumGetTSQuerySign((vec)->vector[pos].key)
diff --git a/src/backend/utils/adt/tsquery_op.c b/src/backend/utils/adt/tsquery_op.c
index 4e581adc263..755c3e9ee8e 100644
--- a/src/backend/utils/adt/tsquery_op.c
+++ b/src/backend/utils/adt/tsquery_op.c
@@ -15,6 +15,7 @@
#include "postgres.h"
#include "tsearch/ts_utils.h"
+#include "utils/builtins.h"
Datum
tsquery_numnode(PG_FUNCTION_ARGS)
diff --git a/src/backend/utils/adt/tsrank.c b/src/backend/utils/adt/tsrank.c
index 9826eb3143b..9b2cd6df416 100644
--- a/src/backend/utils/adt/tsrank.c
+++ b/src/backend/utils/adt/tsrank.c
@@ -18,6 +18,7 @@
#include "tsearch/ts_utils.h"
#include "utils/array.h"
+#include "utils/builtins.h"
#include "miscadmin.h"
diff --git a/src/backend/utils/adt/tsvector.c b/src/backend/utils/adt/tsvector.c
index ccd149fd6f0..6f66c1f58ce 100644
--- a/src/backend/utils/adt/tsvector.c
+++ b/src/backend/utils/adt/tsvector.c
@@ -17,6 +17,7 @@
#include "libpq/pqformat.h"
#include "tsearch/ts_locale.h"
#include "tsearch/ts_utils.h"
+#include "utils/builtins.h"
#include "utils/memutils.h"
typedef struct
diff --git a/src/backend/utils/adt/varbit.c b/src/backend/utils/adt/varbit.c
index d53d65ab7dd..af39d4cf25a 100644
--- a/src/backend/utils/adt/varbit.c
+++ b/src/backend/utils/adt/varbit.c
@@ -20,6 +20,7 @@
#include "libpq/pqformat.h"
#include "nodes/nodeFuncs.h"
#include "utils/array.h"
+#include "utils/builtins.h"
#include "utils/varbit.h"
#define HEXDIG(z) ((z)<10 ? ((z)+'0') : ((z)-10+'A'))