diff options
Diffstat (limited to 'src/backend')
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')) |