Generate fmgr prototypes automatically
Gen_fmgrtab.pl creates a new file fmgrprotos.h, which contains prototypes for all functions registered in pg_proc.h. This avoids having to manually maintain these prototypes across a random variety of header files. It also automatically enforces a correct function signature, and since there are warnings about missing prototypes, it will detect functions that are defined but not registered in pg_proc.h (or otherwise used). Reviewed-by: Pavel Stehule <pavel.stehule@gmail.com>
This commit is contained in:
parent
323b96aa34
commit
352a24a1f9
@ -5,6 +5,7 @@
|
||||
|
||||
#include "btree_gist.h"
|
||||
#include "btree_utils_var.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/bytea.h"
|
||||
#include "utils/varbit.h"
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
#include "btree_gist.h"
|
||||
#include "btree_utils_var.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/bytea.h"
|
||||
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/date.h"
|
||||
|
||||
typedef struct
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/timestamp.h"
|
||||
|
||||
typedef struct
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/date.h"
|
||||
#include "utils/timestamp.h"
|
||||
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "catalog/pg_operator.h"
|
||||
#include "catalog/pg_statistic.h"
|
||||
#include "catalog/pg_type.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/selfuncs.h"
|
||||
#include "utils/syscache.h"
|
||||
#include "utils/lsyscache.h"
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
#include "commands/trigger.h"
|
||||
#include "executor/spi.h"
|
||||
#include "libpq/be-fsstubs.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/rel.h"
|
||||
|
||||
PG_MODULE_MAGIC;
|
||||
|
@ -19,8 +19,8 @@ OH, me, I'm Terry Mackintosh <terry@terrym.com>
|
||||
#include "catalog/pg_type.h"
|
||||
#include "executor/spi.h"
|
||||
#include "commands/trigger.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/rel.h"
|
||||
#include "utils/timestamp.h"
|
||||
|
||||
PG_MODULE_MAGIC;
|
||||
|
||||
|
@ -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 \
|
||||
|
@ -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"
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
||||
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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.
|
||||
*/
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "postgres.h"
|
||||
|
||||
#include "storage/smgr.h"
|
||||
#include "utils/builtins.h"
|
||||
|
||||
|
||||
typedef struct smgrid
|
||||
|
@ -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
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "commands/defrem.h"
|
||||
#include "tsearch/ts_locale.h"
|
||||
#include "tsearch/ts_utils.h"
|
||||
#include "utils/builtins.h"
|
||||
|
||||
|
||||
typedef struct
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "commands/defrem.h"
|
||||
#include "tsearch/ts_locale.h"
|
||||
#include "tsearch/ts_utils.h"
|
||||
#include "utils/builtins.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
@ -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"
|
||||
|
1
src/backend/utils/.gitignore
vendored
1
src/backend/utils/.gitignore
vendored
@ -1,4 +1,5 @@
|
||||
/fmgrtab.c
|
||||
/fmgroids.h
|
||||
/fmgrprotos.h
|
||||
/probes.h
|
||||
/errcodes.h
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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);
|
||||
|
@ -18,6 +18,7 @@
|
||||
*/
|
||||
#include "postgres.h"
|
||||
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/geo_decls.h"
|
||||
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
|
||||
#include "catalog/pg_type.h"
|
||||
#include "miscadmin.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/jsonb.h"
|
||||
|
||||
Datum
|
||||
|
@ -49,6 +49,7 @@
|
||||
|
||||
#include "access/gist.h"
|
||||
#include "access/stratnum.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/inet.h"
|
||||
|
||||
/*
|
||||
|
@ -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"
|
||||
|
@ -35,6 +35,7 @@
|
||||
|
||||
#include "access/spgist.h"
|
||||
#include "catalog/pg_type.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/inet.h"
|
||||
|
||||
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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) \
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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"
|
||||
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "postgres.h"
|
||||
|
||||
#include "tsearch/ts_utils.h"
|
||||
#include "utils/builtins.h"
|
||||
|
||||
Datum
|
||||
tsquery_numnode(PG_FUNCTION_ARGS)
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include "tsearch/ts_utils.h"
|
||||
#include "utils/array.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "miscadmin.h"
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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'))
|
||||
|
@ -45,6 +45,7 @@ install: all installdirs
|
||||
$(INSTALL_DATA) pg_config_os.h '$(DESTDIR)$(includedir_server)'
|
||||
$(INSTALL_DATA) utils/errcodes.h '$(DESTDIR)$(includedir_server)/utils'
|
||||
$(INSTALL_DATA) utils/fmgroids.h '$(DESTDIR)$(includedir_server)/utils'
|
||||
$(INSTALL_DATA) utils/fmgrprotos.h '$(DESTDIR)$(includedir_server)/utils'
|
||||
# We don't use INSTALL_DATA for performance reasons --- there are a lot of files
|
||||
cp $(srcdir)/*.h '$(DESTDIR)$(includedir_server)'/ || exit; \
|
||||
chmod $(INSTALL_DATA_MODE) '$(DESTDIR)$(includedir_server)'/*.h || exit; \
|
||||
@ -72,7 +73,7 @@ uninstall:
|
||||
|
||||
|
||||
clean:
|
||||
rm -f utils/fmgroids.h utils/errcodes.h parser/gram.h utils/probes.h catalog/schemapg.h
|
||||
rm -f utils/fmgroids.h utils/fmgrprotos.h utils/errcodes.h parser/gram.h utils/probes.h catalog/schemapg.h
|
||||
|
||||
distclean maintainer-clean: clean
|
||||
rm -f pg_config.h pg_config_ext.h pg_config_os.h dynloader.h stamp-h stamp-ext-h
|
||||
|
@ -203,6 +203,4 @@ typedef struct IndexAmRoutine
|
||||
extern IndexAmRoutine *GetIndexAmRoutine(Oid amhandler);
|
||||
extern IndexAmRoutine *GetIndexAmRoutineByAmId(Oid amoid, bool noerror);
|
||||
|
||||
extern Datum amvalidate(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* AMAPI_H */
|
||||
|
@ -15,12 +15,6 @@
|
||||
#include "utils/relcache.h"
|
||||
|
||||
|
||||
/*
|
||||
* prototypes for functions in brin.c (external entry points for BRIN)
|
||||
*/
|
||||
extern Datum brinhandler(PG_FUNCTION_ARGS);
|
||||
extern Datum brin_summarize_new_values(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* Storage type for BRIN's reloptions
|
||||
*/
|
||||
|
@ -591,7 +591,6 @@ typedef struct ginxlogDeleteListPages
|
||||
|
||||
|
||||
/* ginutil.c */
|
||||
extern Datum ginhandler(PG_FUNCTION_ARGS);
|
||||
extern bytea *ginoptions(Datum reloptions, bool validate);
|
||||
extern void initGinState(GinState *state, Relation index);
|
||||
extern Buffer GinNewBuffer(Relation index);
|
||||
@ -880,9 +879,6 @@ extern void ginFreeScanKeys(GinScanOpaque so);
|
||||
/* ginget.c */
|
||||
extern int64 gingetbitmap(IndexScanDesc scan, TIDBitmap *tbm);
|
||||
|
||||
/* ginfast.c */
|
||||
extern Datum gin_clean_pending_list(PG_FUNCTION_ARGS);
|
||||
|
||||
/* ginlogic.c */
|
||||
extern void ginInitConsistentFunction(GinState *ginstate, GinScanKey key);
|
||||
|
||||
|
@ -423,7 +423,6 @@ typedef struct GiSTOptions
|
||||
} GiSTOptions;
|
||||
|
||||
/* gist.c */
|
||||
extern Datum gisthandler(PG_FUNCTION_ARGS);
|
||||
extern void gistbuildempty(Relation index);
|
||||
extern bool gistinsert(Relation r, Datum *values, bool *isnull,
|
||||
ItemPointer ht_ctid, Relation heapRel,
|
||||
|
@ -258,7 +258,6 @@ typedef HashMetaPageData *HashMetaPage;
|
||||
|
||||
/* public routines */
|
||||
|
||||
extern Datum hashhandler(PG_FUNCTION_ARGS);
|
||||
extern IndexBuildResult *hashbuild(Relation heap, Relation index,
|
||||
struct IndexInfo *indexInfo);
|
||||
extern void hashbuildempty(Relation index);
|
||||
@ -280,27 +279,6 @@ extern IndexBulkDeleteResult *hashvacuumcleanup(IndexVacuumInfo *info,
|
||||
extern bytea *hashoptions(Datum reloptions, bool validate);
|
||||
extern bool hashvalidate(Oid opclassoid);
|
||||
|
||||
/*
|
||||
* Datatype-specific hash functions in hashfunc.c.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
extern Datum hashchar(PG_FUNCTION_ARGS);
|
||||
extern Datum hashint2(PG_FUNCTION_ARGS);
|
||||
extern Datum hashint4(PG_FUNCTION_ARGS);
|
||||
extern Datum hashint8(PG_FUNCTION_ARGS);
|
||||
extern Datum hashoid(PG_FUNCTION_ARGS);
|
||||
extern Datum hashenum(PG_FUNCTION_ARGS);
|
||||
extern Datum hashfloat4(PG_FUNCTION_ARGS);
|
||||
extern Datum hashfloat8(PG_FUNCTION_ARGS);
|
||||
extern Datum hashoidvector(PG_FUNCTION_ARGS);
|
||||
extern Datum hashname(PG_FUNCTION_ARGS);
|
||||
extern Datum hashtext(PG_FUNCTION_ARGS);
|
||||
extern Datum hashvarlena(PG_FUNCTION_ARGS);
|
||||
extern Datum hash_any(register const unsigned char *k, register int keylen);
|
||||
extern Datum hash_uint32(uint32 k);
|
||||
|
||||
|
@ -654,7 +654,6 @@ typedef BTScanOpaqueData *BTScanOpaque;
|
||||
/*
|
||||
* prototypes for functions in nbtree.c (external entry points for btree)
|
||||
*/
|
||||
extern Datum bthandler(PG_FUNCTION_ARGS);
|
||||
extern IndexBuildResult *btbuild(Relation heap, Relation index,
|
||||
struct IndexInfo *indexInfo);
|
||||
extern void btbuildempty(Relation index);
|
||||
|
@ -183,7 +183,6 @@ typedef struct spgLeafConsistentOut
|
||||
|
||||
|
||||
/* spgutils.c */
|
||||
extern Datum spghandler(PG_FUNCTION_ARGS);
|
||||
extern bytea *spgoptions(Datum reloptions, bool validate);
|
||||
|
||||
/* spginsert.c */
|
||||
|
@ -1,37 +0,0 @@
|
||||
/*
|
||||
* xlog_fn.h
|
||||
*
|
||||
* PostgreSQL transaction log SQL-callable function declarations
|
||||
*
|
||||
* Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* src/include/access/xlog_fn.h
|
||||
*/
|
||||
#ifndef XLOG_FN_H
|
||||
#define XLOG_FN_H
|
||||
|
||||
#include "fmgr.h"
|
||||
|
||||
extern Datum pg_start_backup(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_stop_backup(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_stop_backup_v2(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_switch_xlog(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_create_restore_point(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_current_xlog_location(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_current_xlog_insert_location(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_current_xlog_flush_location(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_last_xlog_receive_location(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_last_xlog_replay_location(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_last_xact_replay_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_xlogfile_name_offset(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_xlogfile_name(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_is_in_recovery(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_xlog_replay_pause(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_xlog_replay_resume(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_is_xlog_replay_paused(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_xlog_location_diff(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_is_in_backup(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_backup_start_time(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* XLOG_FN_H */
|
@ -2058,6 +2058,7 @@ DATA(insert OID = 1671 ( varbitlt PGNSP PGUID 12 1 0 0 0 f f f t t f i s 2 0
|
||||
DATA(insert OID = 1672 ( varbitcmp PGNSP PGUID 12 1 0 0 0 f f f f t f i s 2 0 23 "1562 1562" _null_ _null_ _null_ _null_ _null_ bitcmp _null_ _null_ _null_ ));
|
||||
DESCR("less-equal-greater");
|
||||
|
||||
/* avoid the C names bitand and bitor, since they are C++ keywords */
|
||||
DATA(insert OID = 1673 ( bitand PGNSP PGUID 12 1 0 0 0 f f f f t f i s 2 0 1560 "1560 1560" _null_ _null_ _null_ _null_ _null_ bit_and _null_ _null_ _null_ ));
|
||||
DATA(insert OID = 1674 ( bitor PGNSP PGUID 12 1 0 0 0 f f f f t f i s 2 0 1560 "1560 1560" _null_ _null_ _null_ _null_ _null_ bit_or _null_ _null_ _null_ ));
|
||||
DATA(insert OID = 1675 ( bitxor PGNSP PGUID 12 1 0 0 0 f f f f t f i s 2 0 1560 "1560 1560" _null_ _null_ _null_ _null_ _null_ bitxor _null_ _null_ _null_ ));
|
||||
|
@ -38,11 +38,6 @@ extern void Async_Listen(const char *channel);
|
||||
extern void Async_Unlisten(const char *channel);
|
||||
extern void Async_UnlistenAll(void);
|
||||
|
||||
/* notify-related SQL functions */
|
||||
extern Datum pg_listening_channels(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_notify(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_notification_queue_usage(PG_FUNCTION_ARGS);
|
||||
|
||||
/* perform (or cancel) outbound notify processing at transaction commit */
|
||||
extern void PreCommit_Notify(void);
|
||||
extern void AtCommit_Notify(void);
|
||||
|
@ -52,14 +52,6 @@ typedef struct xl_seq_rec
|
||||
} xl_seq_rec;
|
||||
|
||||
extern Datum nextval(PG_FUNCTION_ARGS);
|
||||
extern Datum nextval_oid(PG_FUNCTION_ARGS);
|
||||
extern Datum currval_oid(PG_FUNCTION_ARGS);
|
||||
extern Datum setval_oid(PG_FUNCTION_ARGS);
|
||||
extern Datum setval3_oid(PG_FUNCTION_ARGS);
|
||||
extern Datum lastval(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum pg_sequence_parameters(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_sequence_last_value(PG_FUNCTION_ARGS);
|
||||
|
||||
extern ObjectAddress DefineSequence(ParseState *pstate, CreateSeqStmt *stmt);
|
||||
extern ObjectAddress AlterSequence(ParseState *pstate, AlterSeqStmt *stmt);
|
||||
|
@ -212,6 +212,4 @@ extern bool RI_Initial_Check(Trigger *trigger,
|
||||
|
||||
extern int RI_FKey_trigger_type(Oid tgfoid);
|
||||
|
||||
extern Datum pg_trigger_depth(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* TRIGGER_H */
|
||||
|
@ -14,37 +14,6 @@
|
||||
#ifndef BE_FSSTUBS_H
|
||||
#define BE_FSSTUBS_H
|
||||
|
||||
#include "fmgr.h"
|
||||
|
||||
/*
|
||||
* LO functions available via pg_proc entries
|
||||
*/
|
||||
extern Datum be_lo_import(PG_FUNCTION_ARGS);
|
||||
extern Datum be_lo_import_with_oid(PG_FUNCTION_ARGS);
|
||||
extern Datum be_lo_export(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum be_lo_creat(PG_FUNCTION_ARGS);
|
||||
extern Datum be_lo_create(PG_FUNCTION_ARGS);
|
||||
extern Datum be_lo_from_bytea(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum be_lo_open(PG_FUNCTION_ARGS);
|
||||
extern Datum be_lo_close(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum be_loread(PG_FUNCTION_ARGS);
|
||||
extern Datum be_lowrite(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum be_lo_get(PG_FUNCTION_ARGS);
|
||||
extern Datum be_lo_get_fragment(PG_FUNCTION_ARGS);
|
||||
extern Datum be_lo_put(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum be_lo_lseek(PG_FUNCTION_ARGS);
|
||||
extern Datum be_lo_tell(PG_FUNCTION_ARGS);
|
||||
extern Datum be_lo_lseek64(PG_FUNCTION_ARGS);
|
||||
extern Datum be_lo_tell64(PG_FUNCTION_ARGS);
|
||||
extern Datum be_lo_unlink(PG_FUNCTION_ARGS);
|
||||
extern Datum be_lo_truncate(PG_FUNCTION_ARGS);
|
||||
extern Datum be_lo_truncate64(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* compatibility option for access control
|
||||
*/
|
||||
|
@ -16,11 +16,4 @@ extern int logical_read_local_xlog_page(XLogReaderState *state,
|
||||
int reqLen, XLogRecPtr targetRecPtr,
|
||||
char *cur_page, TimeLineID *pageTLI);
|
||||
|
||||
extern Datum pg_logical_slot_get_changes(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_logical_slot_get_binary_changes(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_logical_slot_peek_changes(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_logical_slot_peek_binary_changes(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum pg_logical_emit_message_bytea(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_logical_emit_message_text(PG_FUNCTION_ARGS);
|
||||
#endif
|
||||
|
@ -71,18 +71,4 @@ const char *replorigin_identify(uint8 info);
|
||||
extern Size ReplicationOriginShmemSize(void);
|
||||
extern void ReplicationOriginShmemInit(void);
|
||||
|
||||
/* SQL callable functions */
|
||||
extern Datum pg_replication_origin_create(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_replication_origin_drop(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_replication_origin_oid(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_replication_origin_session_setup(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_replication_origin_session_reset(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_replication_origin_session_is_setup(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_replication_origin_session_progress(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_replication_origin_xact_setup(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_replication_origin_xact_reset(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_replication_origin_advance(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_replication_origin_progress(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_show_replication_origin_status(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* PG_ORIGIN_H */
|
||||
|
@ -183,10 +183,4 @@ extern void CheckPointReplicationSlots(void);
|
||||
|
||||
extern void CheckSlotRequirements(void);
|
||||
|
||||
/* SQL callable functions */
|
||||
extern Datum pg_create_physical_replication_slot(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_create_logical_replication_slot(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_drop_replication_slot(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_get_replication_slots(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* SLOT_H */
|
||||
|
@ -195,7 +195,6 @@ extern PGDLLIMPORT WalReceiverFunctionsType *WalReceiverFunctions;
|
||||
|
||||
/* prototypes for functions in walreceiver.c */
|
||||
extern void WalReceiverMain(void) pg_attribute_noreturn();
|
||||
extern Datum pg_stat_get_wal_receiver(PG_FUNCTION_ARGS);
|
||||
|
||||
/* prototypes for functions in walreceiverfuncs.c */
|
||||
extern Size WalRcvShmemSize(void);
|
||||
|
@ -36,8 +36,6 @@ extern void WalSndShmemInit(void);
|
||||
extern void WalSndWakeup(void);
|
||||
extern void WalSndRqstFileReload(void);
|
||||
|
||||
extern Datum pg_stat_get_wal_senders(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* Remember that we want to wakeup walsenders later
|
||||
*
|
||||
|
@ -144,10 +144,4 @@ extern void RememberFsyncRequest(RelFileNode rnode, ForkNumber forknum,
|
||||
extern void ForgetRelationFsyncRequests(RelFileNode rnode, ForkNumber forknum);
|
||||
extern void ForgetDatabaseFsyncRequests(Oid dbid);
|
||||
|
||||
/* smgrtype.c */
|
||||
extern Datum smgrout(PG_FUNCTION_ARGS);
|
||||
extern Datum smgrin(PG_FUNCTION_ARGS);
|
||||
extern Datum smgreq(PG_FUNCTION_ARGS);
|
||||
extern Datum smgrne(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* SMGR_H */
|
||||
|
@ -121,61 +121,6 @@ typedef TSVectorData *TSVector;
|
||||
#define PG_GETARG_TSVECTOR_COPY(n) DatumGetTSVectorCopy(PG_GETARG_DATUM(n))
|
||||
#define PG_RETURN_TSVECTOR(x) return TSVectorGetDatum(x)
|
||||
|
||||
/*
|
||||
* I/O
|
||||
*/
|
||||
extern Datum tsvectorin(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvectorout(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvectorsend(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvectorrecv(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* operations with tsvector
|
||||
*/
|
||||
extern Datum tsvector_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_le(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_cmp(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum tsvector_length(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_strip(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_setweight(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_setweight_by_filter(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_concat(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_delete_str(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_delete_arr(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_unnest(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_to_array(PG_FUNCTION_ARGS);
|
||||
extern Datum array_to_tsvector(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_filter(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_update_trigger_byid(PG_FUNCTION_ARGS);
|
||||
extern Datum tsvector_update_trigger_bycolumn(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum ts_match_vq(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_match_qv(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_match_tt(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_match_tq(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum ts_stat1(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_stat2(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum ts_rank_tt(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_rank_wtt(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_rank_ttf(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_rank_wttf(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_rankcd_tt(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_rankcd_wtt(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_rankcd_ttf(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_rankcd_wttf(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum tsmatchsel(PG_FUNCTION_ARGS);
|
||||
extern Datum tsmatchjoinsel(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum ts_typanalyze(PG_FUNCTION_ARGS);
|
||||
|
||||
|
||||
/*
|
||||
* TSQuery
|
||||
@ -294,38 +239,4 @@ typedef TSQueryData *TSQuery;
|
||||
#define PG_GETARG_TSQUERY_COPY(n) DatumGetTSQueryCopy(PG_GETARG_DATUM(n))
|
||||
#define PG_RETURN_TSQUERY(x) return TSQueryGetDatum(x)
|
||||
|
||||
/*
|
||||
* I/O
|
||||
*/
|
||||
extern Datum tsqueryin(PG_FUNCTION_ARGS);
|
||||
extern Datum tsqueryout(PG_FUNCTION_ARGS);
|
||||
extern Datum tsquerysend(PG_FUNCTION_ARGS);
|
||||
extern Datum tsqueryrecv(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* operations with tsquery
|
||||
*/
|
||||
extern Datum tsquery_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum tsquery_le(PG_FUNCTION_ARGS);
|
||||
extern Datum tsquery_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum tsquery_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum tsquery_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum tsquery_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum tsquery_cmp(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum tsquerytree(PG_FUNCTION_ARGS);
|
||||
extern Datum tsquery_numnode(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum tsquery_and(PG_FUNCTION_ARGS);
|
||||
extern Datum tsquery_or(PG_FUNCTION_ARGS);
|
||||
extern Datum tsquery_phrase(PG_FUNCTION_ARGS);
|
||||
extern Datum tsquery_phrase_distance(PG_FUNCTION_ARGS);
|
||||
extern Datum tsquery_not(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum tsquery_rewrite(PG_FUNCTION_ARGS);
|
||||
extern Datum tsquery_rewrite_query(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum tsq_mcontains(PG_FUNCTION_ARGS);
|
||||
extern Datum tsq_mcontained(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* _PG_TSTYPE_H_ */
|
||||
|
@ -184,51 +184,6 @@ extern bool tsquery_requires_match(QueryItem *curitem);
|
||||
extern TSVector make_tsvector(ParsedText *prs);
|
||||
extern int32 tsCompareString(char *a, int lena, char *b, int lenb, bool prefix);
|
||||
|
||||
extern Datum to_tsvector_byid(PG_FUNCTION_ARGS);
|
||||
extern Datum to_tsvector(PG_FUNCTION_ARGS);
|
||||
extern Datum to_tsquery_byid(PG_FUNCTION_ARGS);
|
||||
extern Datum to_tsquery(PG_FUNCTION_ARGS);
|
||||
extern Datum plainto_tsquery_byid(PG_FUNCTION_ARGS);
|
||||
extern Datum plainto_tsquery(PG_FUNCTION_ARGS);
|
||||
extern Datum phraseto_tsquery_byid(PG_FUNCTION_ARGS);
|
||||
extern Datum phraseto_tsquery(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* GiST support function
|
||||
*/
|
||||
|
||||
extern Datum gtsvector_compress(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsvector_decompress(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsvector_consistent(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsvector_union(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsvector_same(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsvector_penalty(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsvector_picksplit(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsvector_consistent_oldsig(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* IO functions for pseudotype gtsvector
|
||||
* used internally in tsvector GiST opclass
|
||||
*/
|
||||
extern Datum gtsvectorin(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsvectorout(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* GIN support function
|
||||
*/
|
||||
|
||||
extern Datum gin_extract_tsvector(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_cmp_tslexeme(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_cmp_prefix(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_extract_tsquery(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_tsquery_consistent(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_tsquery_triconsistent(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_extract_tsvector_2args(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_extract_tsquery_5args(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_tsquery_consistent_6args(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_extract_tsquery_oldsig(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_tsquery_consistent_oldsig(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* Possible strategy numbers for indexes
|
||||
* TSearchStrategyNumber - (tsvector|text) @@ tsquery
|
||||
@ -282,76 +237,4 @@ extern TSQuerySign makeTSQuerySign(TSQuery a);
|
||||
extern QTNode *findsubquery(QTNode *root, QTNode *ex, QTNode *subs,
|
||||
bool *isfind);
|
||||
|
||||
/*
|
||||
* TSQuery GiST support
|
||||
*/
|
||||
extern Datum gtsquery_compress(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsquery_decompress(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsquery_consistent(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsquery_union(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsquery_same(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsquery_penalty(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsquery_picksplit(PG_FUNCTION_ARGS);
|
||||
extern Datum gtsquery_consistent_oldsig(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* Parser interface to SQL
|
||||
*/
|
||||
extern Datum ts_token_type_byid(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_token_type_byname(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_parse_byid(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_parse_byname(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* Default word parser
|
||||
*/
|
||||
|
||||
extern Datum prsd_start(PG_FUNCTION_ARGS);
|
||||
extern Datum prsd_nexttoken(PG_FUNCTION_ARGS);
|
||||
extern Datum prsd_end(PG_FUNCTION_ARGS);
|
||||
extern Datum prsd_headline(PG_FUNCTION_ARGS);
|
||||
extern Datum prsd_lextype(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* Dictionary interface to SQL
|
||||
*/
|
||||
extern Datum ts_lexize(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* Simple built-in dictionary
|
||||
*/
|
||||
extern Datum dsimple_init(PG_FUNCTION_ARGS);
|
||||
extern Datum dsimple_lexize(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* Synonym built-in dictionary
|
||||
*/
|
||||
extern Datum dsynonym_init(PG_FUNCTION_ARGS);
|
||||
extern Datum dsynonym_lexize(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* ISpell dictionary
|
||||
*/
|
||||
extern Datum dispell_init(PG_FUNCTION_ARGS);
|
||||
extern Datum dispell_lexize(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* Thesaurus
|
||||
*/
|
||||
extern Datum thesaurus_init(PG_FUNCTION_ARGS);
|
||||
extern Datum thesaurus_lexize(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* headline
|
||||
*/
|
||||
extern Datum ts_headline_byid_opt(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_headline_byid(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_headline(PG_FUNCTION_ARGS);
|
||||
extern Datum ts_headline_opt(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* current cfg
|
||||
*/
|
||||
extern Datum get_current_ts_config(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* _PG_TS_UTILS_H_ */
|
||||
|
1
src/include/utils/.gitignore
vendored
1
src/include/utils/.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
/fmgroids.h
|
||||
/fmgrprotos.h
|
||||
/probes.h
|
||||
/errcodes.h
|
||||
|
@ -242,20 +242,6 @@ extern void select_best_grantor(Oid roleId, AclMode privileges,
|
||||
|
||||
extern void initialize_acl(void);
|
||||
|
||||
/*
|
||||
* SQL functions (from acl.c)
|
||||
*/
|
||||
extern Datum aclitemin(PG_FUNCTION_ARGS);
|
||||
extern Datum aclitemout(PG_FUNCTION_ARGS);
|
||||
extern Datum aclinsert(PG_FUNCTION_ARGS);
|
||||
extern Datum aclremove(PG_FUNCTION_ARGS);
|
||||
extern Datum aclcontains(PG_FUNCTION_ARGS);
|
||||
extern Datum makeaclitem(PG_FUNCTION_ARGS);
|
||||
extern Datum aclitem_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum hash_aclitem(PG_FUNCTION_ARGS);
|
||||
extern Datum acldefault_sql(PG_FUNCTION_ARGS);
|
||||
extern Datum aclexplode(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* prototypes for functions in aclchk.c
|
||||
*/
|
||||
|
@ -328,38 +328,6 @@ extern bool Array_nulls;
|
||||
/*
|
||||
* prototypes for functions defined in arrayfuncs.c
|
||||
*/
|
||||
extern Datum array_in(PG_FUNCTION_ARGS);
|
||||
extern Datum array_out(PG_FUNCTION_ARGS);
|
||||
extern Datum array_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum array_send(PG_FUNCTION_ARGS);
|
||||
extern Datum array_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum array_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum array_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum array_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum array_le(PG_FUNCTION_ARGS);
|
||||
extern Datum array_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum btarraycmp(PG_FUNCTION_ARGS);
|
||||
extern Datum hash_array(PG_FUNCTION_ARGS);
|
||||
extern Datum arrayoverlap(PG_FUNCTION_ARGS);
|
||||
extern Datum arraycontains(PG_FUNCTION_ARGS);
|
||||
extern Datum arraycontained(PG_FUNCTION_ARGS);
|
||||
extern Datum array_ndims(PG_FUNCTION_ARGS);
|
||||
extern Datum array_dims(PG_FUNCTION_ARGS);
|
||||
extern Datum array_lower(PG_FUNCTION_ARGS);
|
||||
extern Datum array_upper(PG_FUNCTION_ARGS);
|
||||
extern Datum array_length(PG_FUNCTION_ARGS);
|
||||
extern Datum array_cardinality(PG_FUNCTION_ARGS);
|
||||
extern Datum array_larger(PG_FUNCTION_ARGS);
|
||||
extern Datum array_smaller(PG_FUNCTION_ARGS);
|
||||
extern Datum generate_subscripts(PG_FUNCTION_ARGS);
|
||||
extern Datum generate_subscripts_nodir(PG_FUNCTION_ARGS);
|
||||
extern Datum array_fill(PG_FUNCTION_ARGS);
|
||||
extern Datum array_fill_with_lower_bounds(PG_FUNCTION_ARGS);
|
||||
extern Datum array_unnest(PG_FUNCTION_ARGS);
|
||||
extern Datum array_remove(PG_FUNCTION_ARGS);
|
||||
extern Datum array_replace(PG_FUNCTION_ARGS);
|
||||
extern Datum width_bucket_array(PG_FUNCTION_ARGS);
|
||||
|
||||
extern void CopyArrayEls(ArrayType *array,
|
||||
Datum *values,
|
||||
bool *nulls,
|
||||
@ -478,28 +446,10 @@ extern void deconstruct_expanded_array(ExpandedArrayHeader *eah);
|
||||
/*
|
||||
* prototypes for functions defined in array_userfuncs.c
|
||||
*/
|
||||
extern Datum array_append(PG_FUNCTION_ARGS);
|
||||
extern Datum array_prepend(PG_FUNCTION_ARGS);
|
||||
extern Datum array_cat(PG_FUNCTION_ARGS);
|
||||
|
||||
extern ArrayType *create_singleton_array(FunctionCallInfo fcinfo,
|
||||
Oid element_type,
|
||||
Datum element,
|
||||
bool isNull,
|
||||
int ndims);
|
||||
|
||||
extern Datum array_agg_transfn(PG_FUNCTION_ARGS);
|
||||
extern Datum array_agg_finalfn(PG_FUNCTION_ARGS);
|
||||
extern Datum array_agg_array_transfn(PG_FUNCTION_ARGS);
|
||||
extern Datum array_agg_array_finalfn(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum array_position(PG_FUNCTION_ARGS);
|
||||
extern Datum array_position_start(PG_FUNCTION_ARGS);
|
||||
extern Datum array_positions(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* prototypes for functions defined in array_typanalyze.c
|
||||
*/
|
||||
extern Datum array_typanalyze(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* ARRAY_H */
|
||||
|
@ -11,12 +11,6 @@
|
||||
#ifndef _ASCII_H_
|
||||
#define _ASCII_H_
|
||||
|
||||
#include "fmgr.h"
|
||||
|
||||
extern Datum to_ascii_encname(PG_FUNCTION_ARGS);
|
||||
extern Datum to_ascii_enc(PG_FUNCTION_ARGS);
|
||||
extern Datum to_ascii_default(PG_FUNCTION_ARGS);
|
||||
|
||||
extern void ascii_safe_strlcpy(char *dest, const char *src, size_t destsiz);
|
||||
|
||||
#endif /* _ASCII_H_ */
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -25,29 +25,4 @@ typedef enum
|
||||
|
||||
extern int bytea_output; /* ByteaOutputType, but int for GUC enum */
|
||||
|
||||
/* functions are in utils/adt/varlena.c */
|
||||
extern Datum byteain(PG_FUNCTION_ARGS);
|
||||
extern Datum byteaout(PG_FUNCTION_ARGS);
|
||||
extern Datum bytearecv(PG_FUNCTION_ARGS);
|
||||
extern Datum byteasend(PG_FUNCTION_ARGS);
|
||||
extern Datum byteaoctetlen(PG_FUNCTION_ARGS);
|
||||
extern Datum byteaGetByte(PG_FUNCTION_ARGS);
|
||||
extern Datum byteaGetBit(PG_FUNCTION_ARGS);
|
||||
extern Datum byteaSetByte(PG_FUNCTION_ARGS);
|
||||
extern Datum byteaSetBit(PG_FUNCTION_ARGS);
|
||||
extern Datum byteaeq(PG_FUNCTION_ARGS);
|
||||
extern Datum byteane(PG_FUNCTION_ARGS);
|
||||
extern Datum bytealt(PG_FUNCTION_ARGS);
|
||||
extern Datum byteale(PG_FUNCTION_ARGS);
|
||||
extern Datum byteagt(PG_FUNCTION_ARGS);
|
||||
extern Datum byteage(PG_FUNCTION_ARGS);
|
||||
extern Datum byteacmp(PG_FUNCTION_ARGS);
|
||||
extern Datum bytea_sortsupport(PG_FUNCTION_ARGS);
|
||||
extern Datum byteacat(PG_FUNCTION_ARGS);
|
||||
extern Datum byteapos(PG_FUNCTION_ARGS);
|
||||
extern Datum bytea_substr(PG_FUNCTION_ARGS);
|
||||
extern Datum bytea_substr_no_len(PG_FUNCTION_ARGS);
|
||||
extern Datum byteaoverlay(PG_FUNCTION_ARGS);
|
||||
extern Datum byteaoverlay_no_len(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* BYTEA_H */
|
||||
|
@ -22,52 +22,4 @@ typedef int64 Cash;
|
||||
#define PG_GETARG_CASH(n) DatumGetCash(PG_GETARG_DATUM(n))
|
||||
#define PG_RETURN_CASH(x) return CashGetDatum(x)
|
||||
|
||||
extern Datum cash_in(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_out(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_send(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum cash_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_le(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_cmp(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum cash_pl(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_mi(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_div_cash(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum cash_mul_flt8(PG_FUNCTION_ARGS);
|
||||
extern Datum flt8_mul_cash(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_div_flt8(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum cash_mul_flt4(PG_FUNCTION_ARGS);
|
||||
extern Datum flt4_mul_cash(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_div_flt4(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum cash_mul_int8(PG_FUNCTION_ARGS);
|
||||
extern Datum int8_mul_cash(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_div_int8(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum cash_mul_int4(PG_FUNCTION_ARGS);
|
||||
extern Datum int4_mul_cash(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_div_int4(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum cash_mul_int2(PG_FUNCTION_ARGS);
|
||||
extern Datum int2_mul_cash(PG_FUNCTION_ARGS);
|
||||
extern Datum cash_div_int2(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum cashlarger(PG_FUNCTION_ARGS);
|
||||
extern Datum cashsmaller(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum cash_words(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum cash_numeric(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_cash(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum int4_cash(PG_FUNCTION_ARGS);
|
||||
extern Datum int8_cash(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* CASH_H */
|
||||
|
@ -96,117 +96,4 @@ extern DateADT GetSQLCurrentDate(void);
|
||||
extern TimeTzADT *GetSQLCurrentTime(int32 typmod);
|
||||
extern TimeADT GetSQLLocalTime(int32 typmod);
|
||||
|
||||
extern Datum date_in(PG_FUNCTION_ARGS);
|
||||
extern Datum date_out(PG_FUNCTION_ARGS);
|
||||
extern Datum date_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum date_send(PG_FUNCTION_ARGS);
|
||||
extern Datum make_date(PG_FUNCTION_ARGS);
|
||||
extern Datum date_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum date_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum date_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum date_le(PG_FUNCTION_ARGS);
|
||||
extern Datum date_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum date_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum date_cmp(PG_FUNCTION_ARGS);
|
||||
extern Datum date_sortsupport(PG_FUNCTION_ARGS);
|
||||
extern Datum date_finite(PG_FUNCTION_ARGS);
|
||||
extern Datum date_larger(PG_FUNCTION_ARGS);
|
||||
extern Datum date_smaller(PG_FUNCTION_ARGS);
|
||||
extern Datum date_mi(PG_FUNCTION_ARGS);
|
||||
extern Datum date_pli(PG_FUNCTION_ARGS);
|
||||
extern Datum date_mii(PG_FUNCTION_ARGS);
|
||||
extern Datum date_eq_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum date_ne_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum date_lt_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum date_le_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum date_gt_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum date_ge_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum date_cmp_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum date_eq_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum date_ne_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum date_lt_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum date_le_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum date_gt_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum date_ge_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum date_cmp_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_eq_date(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_ne_date(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_lt_date(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_le_date(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_gt_date(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_ge_date(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_cmp_date(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_eq_date(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_ne_date(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_lt_date(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_le_date(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_gt_date(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_ge_date(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_cmp_date(PG_FUNCTION_ARGS);
|
||||
extern Datum date_pl_interval(PG_FUNCTION_ARGS);
|
||||
extern Datum date_mi_interval(PG_FUNCTION_ARGS);
|
||||
extern Datum date_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_date(PG_FUNCTION_ARGS);
|
||||
extern Datum date_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_date(PG_FUNCTION_ARGS);
|
||||
extern Datum datetime_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum abstime_date(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum time_in(PG_FUNCTION_ARGS);
|
||||
extern Datum time_out(PG_FUNCTION_ARGS);
|
||||
extern Datum time_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum time_send(PG_FUNCTION_ARGS);
|
||||
extern Datum timetypmodin(PG_FUNCTION_ARGS);
|
||||
extern Datum timetypmodout(PG_FUNCTION_ARGS);
|
||||
extern Datum make_time(PG_FUNCTION_ARGS);
|
||||
extern Datum time_transform(PG_FUNCTION_ARGS);
|
||||
extern Datum time_scale(PG_FUNCTION_ARGS);
|
||||
extern Datum time_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum time_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum time_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum time_le(PG_FUNCTION_ARGS);
|
||||
extern Datum time_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum time_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum time_cmp(PG_FUNCTION_ARGS);
|
||||
extern Datum time_hash(PG_FUNCTION_ARGS);
|
||||
extern Datum overlaps_time(PG_FUNCTION_ARGS);
|
||||
extern Datum time_larger(PG_FUNCTION_ARGS);
|
||||
extern Datum time_smaller(PG_FUNCTION_ARGS);
|
||||
extern Datum time_mi_time(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_time(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_time(PG_FUNCTION_ARGS);
|
||||
extern Datum time_interval(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_time(PG_FUNCTION_ARGS);
|
||||
extern Datum time_pl_interval(PG_FUNCTION_ARGS);
|
||||
extern Datum time_mi_interval(PG_FUNCTION_ARGS);
|
||||
extern Datum time_part(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum timetz_in(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_out(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_send(PG_FUNCTION_ARGS);
|
||||
extern Datum timetztypmodin(PG_FUNCTION_ARGS);
|
||||
extern Datum timetztypmodout(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_scale(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_le(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_cmp(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_hash(PG_FUNCTION_ARGS);
|
||||
extern Datum overlaps_timetz(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_larger(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_smaller(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_time(PG_FUNCTION_ARGS);
|
||||
extern Datum time_timetz(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_timetz(PG_FUNCTION_ARGS);
|
||||
extern Datum datetimetz_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_part(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_zone(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_izone(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_pl_interval(PG_FUNCTION_ARGS);
|
||||
extern Datum timetz_mi_interval(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* DATE_H */
|
||||
|
@ -346,7 +346,4 @@ extern TimeZoneAbbrevTable *ConvertTimeZoneAbbrevs(struct tzEntry *abbrevs,
|
||||
int n);
|
||||
extern void InstallTimeZoneAbbrevs(TimeZoneAbbrevTable *tbl);
|
||||
|
||||
extern Datum pg_timezone_abbrevs(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_timezone_names(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* DATETIME_H */
|
||||
|
@ -28,16 +28,4 @@ extern char *asc_tolower(const char *buff, size_t nbytes);
|
||||
extern char *asc_toupper(const char *buff, size_t nbytes);
|
||||
extern char *asc_initcap(const char *buff, size_t nbytes);
|
||||
|
||||
extern Datum timestamp_to_char(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_to_char(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_to_char(PG_FUNCTION_ARGS);
|
||||
extern Datum to_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum to_date(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_to_number(PG_FUNCTION_ARGS);
|
||||
extern Datum numeric_to_char(PG_FUNCTION_ARGS);
|
||||
extern Datum int4_to_char(PG_FUNCTION_ARGS);
|
||||
extern Datum int8_to_char(PG_FUNCTION_ARGS);
|
||||
extern Datum float4_to_char(PG_FUNCTION_ARGS);
|
||||
extern Datum float8_to_char(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif
|
||||
|
@ -175,270 +175,12 @@ typedef struct
|
||||
|
||||
|
||||
/*
|
||||
* in geo_ops.h
|
||||
* in geo_ops.c
|
||||
*/
|
||||
|
||||
/* public point routines */
|
||||
extern Datum point_in(PG_FUNCTION_ARGS);
|
||||
extern Datum point_out(PG_FUNCTION_ARGS);
|
||||
extern Datum point_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum point_send(PG_FUNCTION_ARGS);
|
||||
extern Datum construct_point(PG_FUNCTION_ARGS);
|
||||
extern Datum point_left(PG_FUNCTION_ARGS);
|
||||
extern Datum point_right(PG_FUNCTION_ARGS);
|
||||
extern Datum point_above(PG_FUNCTION_ARGS);
|
||||
extern Datum point_below(PG_FUNCTION_ARGS);
|
||||
extern Datum point_vert(PG_FUNCTION_ARGS);
|
||||
extern Datum point_horiz(PG_FUNCTION_ARGS);
|
||||
extern Datum point_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum point_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum point_distance(PG_FUNCTION_ARGS);
|
||||
extern Datum point_slope(PG_FUNCTION_ARGS);
|
||||
extern Datum point_add(PG_FUNCTION_ARGS);
|
||||
extern Datum point_sub(PG_FUNCTION_ARGS);
|
||||
extern Datum point_mul(PG_FUNCTION_ARGS);
|
||||
extern Datum point_div(PG_FUNCTION_ARGS);
|
||||
|
||||
/* private routines */
|
||||
/* private point routines */
|
||||
extern double point_dt(Point *pt1, Point *pt2);
|
||||
extern double point_sl(Point *pt1, Point *pt2);
|
||||
extern double pg_hypot(double x, double y);
|
||||
|
||||
/* public lseg routines */
|
||||
extern Datum lseg_in(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_out(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_send(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_intersect(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_parallel(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_perp(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_vertical(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_horizontal(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_le(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_construct(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_length(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_distance(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_center(PG_FUNCTION_ARGS);
|
||||
extern Datum lseg_interpt(PG_FUNCTION_ARGS);
|
||||
extern Datum dist_pl(PG_FUNCTION_ARGS);
|
||||
extern Datum dist_ps(PG_FUNCTION_ARGS);
|
||||
extern Datum dist_ppath(PG_FUNCTION_ARGS);
|
||||
extern Datum dist_pb(PG_FUNCTION_ARGS);
|
||||
extern Datum dist_sl(PG_FUNCTION_ARGS);
|
||||
extern Datum dist_sb(PG_FUNCTION_ARGS);
|
||||
extern Datum dist_lb(PG_FUNCTION_ARGS);
|
||||
extern Datum close_lseg(PG_FUNCTION_ARGS);
|
||||
extern Datum close_pl(PG_FUNCTION_ARGS);
|
||||
extern Datum close_ps(PG_FUNCTION_ARGS);
|
||||
extern Datum close_pb(PG_FUNCTION_ARGS);
|
||||
extern Datum close_sl(PG_FUNCTION_ARGS);
|
||||
extern Datum close_sb(PG_FUNCTION_ARGS);
|
||||
extern Datum close_ls(PG_FUNCTION_ARGS);
|
||||
extern Datum close_lb(PG_FUNCTION_ARGS);
|
||||
extern Datum on_pl(PG_FUNCTION_ARGS);
|
||||
extern Datum on_ps(PG_FUNCTION_ARGS);
|
||||
extern Datum on_pb(PG_FUNCTION_ARGS);
|
||||
extern Datum on_ppath(PG_FUNCTION_ARGS);
|
||||
extern Datum on_sl(PG_FUNCTION_ARGS);
|
||||
extern Datum on_sb(PG_FUNCTION_ARGS);
|
||||
extern Datum inter_sl(PG_FUNCTION_ARGS);
|
||||
extern Datum inter_sb(PG_FUNCTION_ARGS);
|
||||
extern Datum inter_lb(PG_FUNCTION_ARGS);
|
||||
|
||||
/* public line routines */
|
||||
extern Datum line_in(PG_FUNCTION_ARGS);
|
||||
extern Datum line_out(PG_FUNCTION_ARGS);
|
||||
extern Datum line_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum line_send(PG_FUNCTION_ARGS);
|
||||
extern Datum line_interpt(PG_FUNCTION_ARGS);
|
||||
extern Datum line_distance(PG_FUNCTION_ARGS);
|
||||
extern Datum line_construct_pp(PG_FUNCTION_ARGS);
|
||||
extern Datum line_intersect(PG_FUNCTION_ARGS);
|
||||
extern Datum line_parallel(PG_FUNCTION_ARGS);
|
||||
extern Datum line_perp(PG_FUNCTION_ARGS);
|
||||
extern Datum line_vertical(PG_FUNCTION_ARGS);
|
||||
extern Datum line_horizontal(PG_FUNCTION_ARGS);
|
||||
extern Datum line_eq(PG_FUNCTION_ARGS);
|
||||
|
||||
/* public box routines */
|
||||
extern Datum box_in(PG_FUNCTION_ARGS);
|
||||
extern Datum box_out(PG_FUNCTION_ARGS);
|
||||
extern Datum box_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum box_send(PG_FUNCTION_ARGS);
|
||||
extern Datum box_same(PG_FUNCTION_ARGS);
|
||||
extern Datum box_overlap(PG_FUNCTION_ARGS);
|
||||
extern Datum box_left(PG_FUNCTION_ARGS);
|
||||
extern Datum box_overleft(PG_FUNCTION_ARGS);
|
||||
extern Datum box_right(PG_FUNCTION_ARGS);
|
||||
extern Datum box_overright(PG_FUNCTION_ARGS);
|
||||
extern Datum box_below(PG_FUNCTION_ARGS);
|
||||
extern Datum box_overbelow(PG_FUNCTION_ARGS);
|
||||
extern Datum box_above(PG_FUNCTION_ARGS);
|
||||
extern Datum box_overabove(PG_FUNCTION_ARGS);
|
||||
extern Datum box_contained(PG_FUNCTION_ARGS);
|
||||
extern Datum box_contain(PG_FUNCTION_ARGS);
|
||||
extern Datum box_contain_pt(PG_FUNCTION_ARGS);
|
||||
extern Datum box_below_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum box_above_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum box_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum box_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum box_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum box_le(PG_FUNCTION_ARGS);
|
||||
extern Datum box_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum box_area(PG_FUNCTION_ARGS);
|
||||
extern Datum box_width(PG_FUNCTION_ARGS);
|
||||
extern Datum box_height(PG_FUNCTION_ARGS);
|
||||
extern Datum box_distance(PG_FUNCTION_ARGS);
|
||||
extern Datum box_center(PG_FUNCTION_ARGS);
|
||||
extern Datum box_intersect(PG_FUNCTION_ARGS);
|
||||
extern Datum box_diagonal(PG_FUNCTION_ARGS);
|
||||
extern Datum points_box(PG_FUNCTION_ARGS);
|
||||
extern Datum box_add(PG_FUNCTION_ARGS);
|
||||
extern Datum box_sub(PG_FUNCTION_ARGS);
|
||||
extern Datum box_mul(PG_FUNCTION_ARGS);
|
||||
extern Datum box_div(PG_FUNCTION_ARGS);
|
||||
extern Datum point_box(PG_FUNCTION_ARGS);
|
||||
extern Datum boxes_bound_box(PG_FUNCTION_ARGS);
|
||||
|
||||
/* public path routines */
|
||||
extern Datum path_area(PG_FUNCTION_ARGS);
|
||||
extern Datum path_in(PG_FUNCTION_ARGS);
|
||||
extern Datum path_out(PG_FUNCTION_ARGS);
|
||||
extern Datum path_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum path_send(PG_FUNCTION_ARGS);
|
||||
extern Datum path_n_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum path_n_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum path_n_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum path_n_le(PG_FUNCTION_ARGS);
|
||||
extern Datum path_n_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum path_inter(PG_FUNCTION_ARGS);
|
||||
extern Datum path_distance(PG_FUNCTION_ARGS);
|
||||
extern Datum path_length(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum path_isclosed(PG_FUNCTION_ARGS);
|
||||
extern Datum path_isopen(PG_FUNCTION_ARGS);
|
||||
extern Datum path_npoints(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum path_close(PG_FUNCTION_ARGS);
|
||||
extern Datum path_open(PG_FUNCTION_ARGS);
|
||||
extern Datum path_add(PG_FUNCTION_ARGS);
|
||||
extern Datum path_add_pt(PG_FUNCTION_ARGS);
|
||||
extern Datum path_sub_pt(PG_FUNCTION_ARGS);
|
||||
extern Datum path_mul_pt(PG_FUNCTION_ARGS);
|
||||
extern Datum path_div_pt(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum path_center(PG_FUNCTION_ARGS);
|
||||
extern Datum path_poly(PG_FUNCTION_ARGS);
|
||||
|
||||
/* public polygon routines */
|
||||
extern Datum poly_in(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_out(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_send(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_left(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_overleft(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_right(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_overright(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_below(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_overbelow(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_above(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_overabove(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_same(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_overlap(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_contain(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_contained(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_contain_pt(PG_FUNCTION_ARGS);
|
||||
extern Datum pt_contained_poly(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_distance(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_npoints(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_center(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_box(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_path(PG_FUNCTION_ARGS);
|
||||
extern Datum box_poly(PG_FUNCTION_ARGS);
|
||||
|
||||
/* public circle routines */
|
||||
extern Datum circle_in(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_out(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_send(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_same(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_overlap(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_overleft(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_left(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_right(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_overright(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_contained(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_contain(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_below(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_above(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_overbelow(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_overabove(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_le(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_contain_pt(PG_FUNCTION_ARGS);
|
||||
extern Datum pt_contained_circle(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_add_pt(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_sub_pt(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_mul_pt(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_div_pt(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_diameter(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_radius(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_distance(PG_FUNCTION_ARGS);
|
||||
extern Datum dist_pc(PG_FUNCTION_ARGS);
|
||||
extern Datum dist_cpoint(PG_FUNCTION_ARGS);
|
||||
extern Datum dist_cpoly(PG_FUNCTION_ARGS);
|
||||
extern Datum dist_ppoly(PG_FUNCTION_ARGS);
|
||||
extern Datum dist_polyp(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_center(PG_FUNCTION_ARGS);
|
||||
extern Datum cr_circle(PG_FUNCTION_ARGS);
|
||||
extern Datum box_circle(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_box(PG_FUNCTION_ARGS);
|
||||
extern Datum poly_circle(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_poly(PG_FUNCTION_ARGS);
|
||||
extern Datum circle_area(PG_FUNCTION_ARGS);
|
||||
|
||||
/* support routines for the GiST access method (access/gist/gistproc.c) */
|
||||
extern Datum gist_box_compress(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_box_decompress(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_box_union(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_box_picksplit(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_box_consistent(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_box_penalty(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_box_same(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_box_fetch(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_poly_compress(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_poly_consistent(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_poly_distance(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_circle_compress(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_circle_consistent(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_circle_distance(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_point_compress(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_point_consistent(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_point_distance(PG_FUNCTION_ARGS);
|
||||
extern Datum gist_point_fetch(PG_FUNCTION_ARGS);
|
||||
|
||||
/* utils/adt/geo_spgist.c */
|
||||
Datum spg_box_quad_config(PG_FUNCTION_ARGS);
|
||||
Datum spg_box_quad_choose(PG_FUNCTION_ARGS);
|
||||
Datum spg_box_quad_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum spg_box_quad_inner_consistent(PG_FUNCTION_ARGS);
|
||||
Datum spg_box_quad_leaf_consistent(PG_FUNCTION_ARGS);
|
||||
|
||||
/* geo_selfuncs.c */
|
||||
extern Datum areasel(PG_FUNCTION_ARGS);
|
||||
extern Datum areajoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum positionsel(PG_FUNCTION_ARGS);
|
||||
extern Datum positionjoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum contsel(PG_FUNCTION_ARGS);
|
||||
extern Datum contjoinsel(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* GEO_DECLS_H */
|
||||
|
@ -123,31 +123,4 @@ extern inet *cidr_set_masklen_internal(const inet *src, int bits);
|
||||
extern int bitncmp(const unsigned char *l, const unsigned char *r, int n);
|
||||
extern int bitncommon(const unsigned char *l, const unsigned char *r, int n);
|
||||
|
||||
/*
|
||||
* GiST support functions in network_gist.c
|
||||
*/
|
||||
extern Datum inet_gist_fetch(PG_FUNCTION_ARGS);
|
||||
extern Datum inet_gist_consistent(PG_FUNCTION_ARGS);
|
||||
extern Datum inet_gist_union(PG_FUNCTION_ARGS);
|
||||
extern Datum inet_gist_compress(PG_FUNCTION_ARGS);
|
||||
extern Datum inet_gist_decompress(PG_FUNCTION_ARGS);
|
||||
extern Datum inet_gist_penalty(PG_FUNCTION_ARGS);
|
||||
extern Datum inet_gist_picksplit(PG_FUNCTION_ARGS);
|
||||
extern Datum inet_gist_same(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* SP-GiST support functions in network_spgist.c
|
||||
*/
|
||||
extern Datum inet_spg_config(PG_FUNCTION_ARGS);
|
||||
extern Datum inet_spg_choose(PG_FUNCTION_ARGS);
|
||||
extern Datum inet_spg_picksplit(PG_FUNCTION_ARGS);
|
||||
extern Datum inet_spg_inner_consistent(PG_FUNCTION_ARGS);
|
||||
extern Datum inet_spg_leaf_consistent(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* Estimation functions in network_selfuncs.c
|
||||
*/
|
||||
extern Datum networksel(PG_FUNCTION_ARGS);
|
||||
extern Datum networkjoinsel(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* INET_H */
|
||||
|
@ -20,110 +20,6 @@
|
||||
#ifndef INT8_H
|
||||
#define INT8_H
|
||||
|
||||
#include "fmgr.h"
|
||||
|
||||
|
||||
extern bool scanint8(const char *str, bool errorOK, int64 *result);
|
||||
|
||||
extern Datum int8in(PG_FUNCTION_ARGS);
|
||||
extern Datum int8out(PG_FUNCTION_ARGS);
|
||||
extern Datum int8recv(PG_FUNCTION_ARGS);
|
||||
extern Datum int8send(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum int8eq(PG_FUNCTION_ARGS);
|
||||
extern Datum int8ne(PG_FUNCTION_ARGS);
|
||||
extern Datum int8lt(PG_FUNCTION_ARGS);
|
||||
extern Datum int8gt(PG_FUNCTION_ARGS);
|
||||
extern Datum int8le(PG_FUNCTION_ARGS);
|
||||
extern Datum int8ge(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum int84eq(PG_FUNCTION_ARGS);
|
||||
extern Datum int84ne(PG_FUNCTION_ARGS);
|
||||
extern Datum int84lt(PG_FUNCTION_ARGS);
|
||||
extern Datum int84gt(PG_FUNCTION_ARGS);
|
||||
extern Datum int84le(PG_FUNCTION_ARGS);
|
||||
extern Datum int84ge(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum int48eq(PG_FUNCTION_ARGS);
|
||||
extern Datum int48ne(PG_FUNCTION_ARGS);
|
||||
extern Datum int48lt(PG_FUNCTION_ARGS);
|
||||
extern Datum int48gt(PG_FUNCTION_ARGS);
|
||||
extern Datum int48le(PG_FUNCTION_ARGS);
|
||||
extern Datum int48ge(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum int82eq(PG_FUNCTION_ARGS);
|
||||
extern Datum int82ne(PG_FUNCTION_ARGS);
|
||||
extern Datum int82lt(PG_FUNCTION_ARGS);
|
||||
extern Datum int82gt(PG_FUNCTION_ARGS);
|
||||
extern Datum int82le(PG_FUNCTION_ARGS);
|
||||
extern Datum int82ge(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum int28eq(PG_FUNCTION_ARGS);
|
||||
extern Datum int28ne(PG_FUNCTION_ARGS);
|
||||
extern Datum int28lt(PG_FUNCTION_ARGS);
|
||||
extern Datum int28gt(PG_FUNCTION_ARGS);
|
||||
extern Datum int28le(PG_FUNCTION_ARGS);
|
||||
extern Datum int28ge(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum int8um(PG_FUNCTION_ARGS);
|
||||
extern Datum int8up(PG_FUNCTION_ARGS);
|
||||
extern Datum int8pl(PG_FUNCTION_ARGS);
|
||||
extern Datum int8mi(PG_FUNCTION_ARGS);
|
||||
extern Datum int8mul(PG_FUNCTION_ARGS);
|
||||
extern Datum int8div(PG_FUNCTION_ARGS);
|
||||
extern Datum int8abs(PG_FUNCTION_ARGS);
|
||||
extern Datum int8mod(PG_FUNCTION_ARGS);
|
||||
extern Datum int8inc(PG_FUNCTION_ARGS);
|
||||
extern Datum int8dec(PG_FUNCTION_ARGS);
|
||||
extern Datum int8inc_any(PG_FUNCTION_ARGS);
|
||||
extern Datum int8inc_float8_float8(PG_FUNCTION_ARGS);
|
||||
extern Datum int8dec_any(PG_FUNCTION_ARGS);
|
||||
extern Datum int8larger(PG_FUNCTION_ARGS);
|
||||
extern Datum int8smaller(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum int8and(PG_FUNCTION_ARGS);
|
||||
extern Datum int8or(PG_FUNCTION_ARGS);
|
||||
extern Datum int8xor(PG_FUNCTION_ARGS);
|
||||
extern Datum int8not(PG_FUNCTION_ARGS);
|
||||
extern Datum int8shl(PG_FUNCTION_ARGS);
|
||||
extern Datum int8shr(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum int84pl(PG_FUNCTION_ARGS);
|
||||
extern Datum int84mi(PG_FUNCTION_ARGS);
|
||||
extern Datum int84mul(PG_FUNCTION_ARGS);
|
||||
extern Datum int84div(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum int48pl(PG_FUNCTION_ARGS);
|
||||
extern Datum int48mi(PG_FUNCTION_ARGS);
|
||||
extern Datum int48mul(PG_FUNCTION_ARGS);
|
||||
extern Datum int48div(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum int82pl(PG_FUNCTION_ARGS);
|
||||
extern Datum int82mi(PG_FUNCTION_ARGS);
|
||||
extern Datum int82mul(PG_FUNCTION_ARGS);
|
||||
extern Datum int82div(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum int28pl(PG_FUNCTION_ARGS);
|
||||
extern Datum int28mi(PG_FUNCTION_ARGS);
|
||||
extern Datum int28mul(PG_FUNCTION_ARGS);
|
||||
extern Datum int28div(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum int48(PG_FUNCTION_ARGS);
|
||||
extern Datum int84(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum int28(PG_FUNCTION_ARGS);
|
||||
extern Datum int82(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum i8tod(PG_FUNCTION_ARGS);
|
||||
extern Datum dtoi8(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum i8tof(PG_FUNCTION_ARGS);
|
||||
extern Datum ftoi8(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum i8tooid(PG_FUNCTION_ARGS);
|
||||
extern Datum oidtoi8(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum generate_series_int8(PG_FUNCTION_ARGS);
|
||||
extern Datum generate_series_step_int8(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* INT8_H */
|
||||
|
@ -14,73 +14,9 @@
|
||||
#ifndef JSON_H
|
||||
#define JSON_H
|
||||
|
||||
#include "fmgr.h"
|
||||
#include "lib/stringinfo.h"
|
||||
|
||||
/* functions in json.c */
|
||||
extern Datum json_in(PG_FUNCTION_ARGS);
|
||||
extern Datum json_out(PG_FUNCTION_ARGS);
|
||||
extern Datum json_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum json_send(PG_FUNCTION_ARGS);
|
||||
extern Datum array_to_json(PG_FUNCTION_ARGS);
|
||||
extern Datum array_to_json_pretty(PG_FUNCTION_ARGS);
|
||||
extern Datum row_to_json(PG_FUNCTION_ARGS);
|
||||
extern Datum row_to_json_pretty(PG_FUNCTION_ARGS);
|
||||
extern Datum to_json(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum json_agg_transfn(PG_FUNCTION_ARGS);
|
||||
extern Datum json_agg_finalfn(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum json_object_agg_finalfn(PG_FUNCTION_ARGS);
|
||||
extern Datum json_object_agg_transfn(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum json_build_object(PG_FUNCTION_ARGS);
|
||||
extern Datum json_build_object_noargs(PG_FUNCTION_ARGS);
|
||||
extern Datum json_build_array(PG_FUNCTION_ARGS);
|
||||
extern Datum json_build_array_noargs(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum json_object(PG_FUNCTION_ARGS);
|
||||
extern Datum json_object_two_arg(PG_FUNCTION_ARGS);
|
||||
|
||||
extern void escape_json(StringInfo buf, const char *str);
|
||||
|
||||
extern Datum json_typeof(PG_FUNCTION_ARGS);
|
||||
|
||||
/* functions in jsonfuncs.c */
|
||||
extern Datum json_object_field(PG_FUNCTION_ARGS);
|
||||
extern Datum json_object_field_text(PG_FUNCTION_ARGS);
|
||||
extern Datum json_array_element(PG_FUNCTION_ARGS);
|
||||
extern Datum json_array_element_text(PG_FUNCTION_ARGS);
|
||||
extern Datum json_extract_path(PG_FUNCTION_ARGS);
|
||||
extern Datum json_extract_path_text(PG_FUNCTION_ARGS);
|
||||
extern Datum json_object_keys(PG_FUNCTION_ARGS);
|
||||
extern Datum json_array_length(PG_FUNCTION_ARGS);
|
||||
extern Datum json_each(PG_FUNCTION_ARGS);
|
||||
extern Datum json_each_text(PG_FUNCTION_ARGS);
|
||||
extern Datum json_array_elements(PG_FUNCTION_ARGS);
|
||||
extern Datum json_array_elements_text(PG_FUNCTION_ARGS);
|
||||
extern Datum json_populate_record(PG_FUNCTION_ARGS);
|
||||
extern Datum json_populate_recordset(PG_FUNCTION_ARGS);
|
||||
extern Datum json_to_record(PG_FUNCTION_ARGS);
|
||||
extern Datum json_to_recordset(PG_FUNCTION_ARGS);
|
||||
extern Datum json_strip_nulls(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum jsonb_object_field(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_object_field_text(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_array_element(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_array_element_text(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_extract_path(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_extract_path_text(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_object_keys(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_array_length(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_each(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_each_text(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_array_elements_text(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_array_elements(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_populate_record(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_populate_recordset(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_to_record(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_to_recordset(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_strip_nulls(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* JSON_H */
|
||||
|
@ -345,73 +345,6 @@ typedef struct JsonbIterator
|
||||
struct JsonbIterator *parent;
|
||||
} JsonbIterator;
|
||||
|
||||
/* I/O routines */
|
||||
extern Datum jsonb_in(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_out(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_send(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_typeof(PG_FUNCTION_ARGS);
|
||||
|
||||
/* generator routines */
|
||||
extern Datum to_jsonb(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum jsonb_build_object(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_build_object_noargs(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_build_array(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_build_array_noargs(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_object(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_object_two_arg(PG_FUNCTION_ARGS);
|
||||
|
||||
/* jsonb_agg, json_object_agg functions */
|
||||
extern Datum jsonb_agg_transfn(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_agg_finalfn(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_object_agg_transfn(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_object_agg_finalfn(PG_FUNCTION_ARGS);
|
||||
|
||||
/* Indexing-related ops */
|
||||
extern Datum jsonb_exists(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_exists_any(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_exists_all(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_contains(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_contained(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_le(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_cmp(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_hash(PG_FUNCTION_ARGS);
|
||||
|
||||
/* GIN support functions for jsonb_ops */
|
||||
extern Datum gin_compare_jsonb(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_extract_jsonb(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_extract_jsonb_query(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_consistent_jsonb(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_triconsistent_jsonb(PG_FUNCTION_ARGS);
|
||||
|
||||
/* GIN support functions for jsonb_path_ops */
|
||||
extern Datum gin_extract_jsonb_path(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_extract_jsonb_query_path(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_consistent_jsonb_path(PG_FUNCTION_ARGS);
|
||||
extern Datum gin_triconsistent_jsonb_path(PG_FUNCTION_ARGS);
|
||||
|
||||
/* pretty printer, returns text */
|
||||
extern Datum jsonb_pretty(PG_FUNCTION_ARGS);
|
||||
|
||||
/* concatenation */
|
||||
extern Datum jsonb_concat(PG_FUNCTION_ARGS);
|
||||
|
||||
/* deletion */
|
||||
extern Datum jsonb_delete(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_delete_idx(PG_FUNCTION_ARGS);
|
||||
extern Datum jsonb_delete_path(PG_FUNCTION_ARGS);
|
||||
|
||||
/* replacement */
|
||||
extern Datum jsonb_set(PG_FUNCTION_ARGS);
|
||||
|
||||
/* insert after or before (for arrays) */
|
||||
extern Datum jsonb_insert(PG_FUNCTION_ARGS);
|
||||
|
||||
/* Support functions */
|
||||
extern uint32 getJsonbOffset(const JsonbContainer *jc, int index);
|
||||
|
@ -96,69 +96,6 @@ typedef TimeIntervalData *TimeInterval;
|
||||
((bool) (((RelativeTime) (time)) != INVALID_RELTIME))
|
||||
|
||||
|
||||
/*
|
||||
* nabstime.c prototypes
|
||||
*/
|
||||
extern Datum abstimein(PG_FUNCTION_ARGS);
|
||||
extern Datum abstimeout(PG_FUNCTION_ARGS);
|
||||
extern Datum abstimerecv(PG_FUNCTION_ARGS);
|
||||
extern Datum abstimesend(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum abstimeeq(PG_FUNCTION_ARGS);
|
||||
extern Datum abstimene(PG_FUNCTION_ARGS);
|
||||
extern Datum abstimelt(PG_FUNCTION_ARGS);
|
||||
extern Datum abstimegt(PG_FUNCTION_ARGS);
|
||||
extern Datum abstimele(PG_FUNCTION_ARGS);
|
||||
extern Datum abstimege(PG_FUNCTION_ARGS);
|
||||
extern Datum abstime_finite(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum timestamp_abstime(PG_FUNCTION_ARGS);
|
||||
extern Datum abstime_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_abstime(PG_FUNCTION_ARGS);
|
||||
extern Datum abstime_timestamptz(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum reltimein(PG_FUNCTION_ARGS);
|
||||
extern Datum reltimeout(PG_FUNCTION_ARGS);
|
||||
extern Datum reltimerecv(PG_FUNCTION_ARGS);
|
||||
extern Datum reltimesend(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalin(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalout(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalrecv(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalsend(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_reltime(PG_FUNCTION_ARGS);
|
||||
extern Datum reltime_interval(PG_FUNCTION_ARGS);
|
||||
extern Datum mktinterval(PG_FUNCTION_ARGS);
|
||||
extern Datum timepl(PG_FUNCTION_ARGS);
|
||||
extern Datum timemi(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum intinterval(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalrel(PG_FUNCTION_ARGS);
|
||||
extern Datum timenow(PG_FUNCTION_ARGS);
|
||||
extern Datum reltimeeq(PG_FUNCTION_ARGS);
|
||||
extern Datum reltimene(PG_FUNCTION_ARGS);
|
||||
extern Datum reltimelt(PG_FUNCTION_ARGS);
|
||||
extern Datum reltimegt(PG_FUNCTION_ARGS);
|
||||
extern Datum reltimele(PG_FUNCTION_ARGS);
|
||||
extern Datum reltimege(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalsame(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervaleq(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalne(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervallt(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalgt(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalle(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalge(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalleneq(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervallenne(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervallenlt(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervallengt(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervallenle(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervallenge(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalct(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalov(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalstart(PG_FUNCTION_ARGS);
|
||||
extern Datum tintervalend(PG_FUNCTION_ARGS);
|
||||
extern Datum timeofday(PG_FUNCTION_ARGS);
|
||||
|
||||
/* non-fmgr-callable support routines */
|
||||
extern AbsoluteTime GetCurrentAbsoluteTime(void);
|
||||
extern void abstime2tm(AbsoluteTime time, int *tzp, struct pg_tm * tm, char **tzn);
|
||||
|
@ -18,22 +18,6 @@
|
||||
#include "fmgr.h"
|
||||
#include "access/xlogdefs.h"
|
||||
|
||||
extern Datum pg_lsn_in(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_lsn_out(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_lsn_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_lsn_send(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum pg_lsn_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_lsn_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_lsn_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_lsn_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_lsn_le(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_lsn_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_lsn_cmp(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_lsn_hash(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum pg_lsn_mi(PG_FUNCTION_ARGS);
|
||||
|
||||
#define DatumGetLSN(X) ((XLogRecPtr) DatumGetInt64(X))
|
||||
#define LSNGetDatum(X) (Int64GetDatum((int64) (X)))
|
||||
|
||||
|
@ -92,45 +92,8 @@ typedef struct
|
||||
* prototypes for functions defined in rangetypes.c
|
||||
*/
|
||||
|
||||
/* I/O */
|
||||
extern Datum range_in(PG_FUNCTION_ARGS);
|
||||
extern Datum range_out(PG_FUNCTION_ARGS);
|
||||
extern Datum range_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum range_send(PG_FUNCTION_ARGS);
|
||||
|
||||
/* constructors */
|
||||
extern Datum range_constructor2(PG_FUNCTION_ARGS);
|
||||
extern Datum range_constructor3(PG_FUNCTION_ARGS);
|
||||
|
||||
/* range -> subtype */
|
||||
extern Datum range_lower(PG_FUNCTION_ARGS);
|
||||
extern Datum range_upper(PG_FUNCTION_ARGS);
|
||||
|
||||
/* range -> bool */
|
||||
extern Datum range_empty(PG_FUNCTION_ARGS);
|
||||
extern Datum range_lower_inc(PG_FUNCTION_ARGS);
|
||||
extern Datum range_upper_inc(PG_FUNCTION_ARGS);
|
||||
extern Datum range_lower_inf(PG_FUNCTION_ARGS);
|
||||
extern Datum range_upper_inf(PG_FUNCTION_ARGS);
|
||||
|
||||
/* range, element -> bool */
|
||||
extern Datum range_contains_elem(PG_FUNCTION_ARGS);
|
||||
extern Datum elem_contained_by_range(PG_FUNCTION_ARGS);
|
||||
|
||||
extern bool range_contains_elem_internal(TypeCacheEntry *typcache, RangeType *r, Datum val);
|
||||
|
||||
/* range, range -> bool */
|
||||
extern Datum range_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum range_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum range_contains(PG_FUNCTION_ARGS);
|
||||
extern Datum range_contained_by(PG_FUNCTION_ARGS);
|
||||
extern Datum range_before(PG_FUNCTION_ARGS);
|
||||
extern Datum range_after(PG_FUNCTION_ARGS);
|
||||
extern Datum range_adjacent(PG_FUNCTION_ARGS);
|
||||
extern Datum range_overlaps(PG_FUNCTION_ARGS);
|
||||
extern Datum range_overleft(PG_FUNCTION_ARGS);
|
||||
extern Datum range_overright(PG_FUNCTION_ARGS);
|
||||
|
||||
/* internal versions of the above */
|
||||
extern bool range_eq_internal(TypeCacheEntry *typcache, RangeType *r1,
|
||||
RangeType *r2);
|
||||
@ -153,38 +116,6 @@ extern bool range_overleft_internal(TypeCacheEntry *typcache, RangeType *r1,
|
||||
extern bool range_overright_internal(TypeCacheEntry *typcache, RangeType *r1,
|
||||
RangeType *r2);
|
||||
|
||||
/* range, range -> range */
|
||||
extern Datum range_minus(PG_FUNCTION_ARGS);
|
||||
extern Datum range_union(PG_FUNCTION_ARGS);
|
||||
extern Datum range_intersect(PG_FUNCTION_ARGS);
|
||||
|
||||
/* BTree support */
|
||||
extern Datum range_cmp(PG_FUNCTION_ARGS);
|
||||
extern Datum range_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum range_le(PG_FUNCTION_ARGS);
|
||||
extern Datum range_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum range_gt(PG_FUNCTION_ARGS);
|
||||
|
||||
/* Hash support */
|
||||
extern Datum hash_range(PG_FUNCTION_ARGS);
|
||||
|
||||
/* ANALYZE support */
|
||||
extern Datum range_typanalyze(PG_FUNCTION_ARGS);
|
||||
extern Datum rangesel(PG_FUNCTION_ARGS);
|
||||
|
||||
/* Canonical functions */
|
||||
extern Datum int4range_canonical(PG_FUNCTION_ARGS);
|
||||
extern Datum int8range_canonical(PG_FUNCTION_ARGS);
|
||||
extern Datum daterange_canonical(PG_FUNCTION_ARGS);
|
||||
|
||||
/* Subtype Difference functions */
|
||||
extern Datum int4range_subdiff(PG_FUNCTION_ARGS);
|
||||
extern Datum int8range_subdiff(PG_FUNCTION_ARGS);
|
||||
extern Datum numrange_subdiff(PG_FUNCTION_ARGS);
|
||||
extern Datum daterange_subdiff(PG_FUNCTION_ARGS);
|
||||
extern Datum tsrange_subdiff(PG_FUNCTION_ARGS);
|
||||
extern Datum tstzrange_subdiff(PG_FUNCTION_ARGS);
|
||||
|
||||
/* assorted support functions */
|
||||
extern TypeCacheEntry *range_get_typcache(FunctionCallInfo fcinfo,
|
||||
Oid rngtypid);
|
||||
@ -205,15 +136,4 @@ extern bool bounds_adjacent(TypeCacheEntry *typcache, RangeBound bound1,
|
||||
RangeBound bound2);
|
||||
extern RangeType *make_empty_range(TypeCacheEntry *typcache);
|
||||
|
||||
/* GiST support (in rangetypes_gist.c) */
|
||||
extern Datum range_gist_consistent(PG_FUNCTION_ARGS);
|
||||
extern Datum range_gist_compress(PG_FUNCTION_ARGS);
|
||||
extern Datum range_gist_decompress(PG_FUNCTION_ARGS);
|
||||
extern Datum range_gist_fetch(PG_FUNCTION_ARGS);
|
||||
extern Datum range_gist_union(PG_FUNCTION_ARGS);
|
||||
extern Datum range_merge(PG_FUNCTION_ARGS);
|
||||
extern Datum range_gist_penalty(PG_FUNCTION_ARGS);
|
||||
extern Datum range_gist_picksplit(PG_FUNCTION_ARGS);
|
||||
extern Datum range_gist_same(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* RANGETYPES_H */
|
||||
|
@ -180,32 +180,6 @@ extern Pattern_Prefix_Status pattern_fixed_prefix(Const *patt,
|
||||
extern Const *make_greater_string(const Const *str_const, FmgrInfo *ltproc,
|
||||
Oid collation);
|
||||
|
||||
extern Datum eqsel(PG_FUNCTION_ARGS);
|
||||
extern Datum neqsel(PG_FUNCTION_ARGS);
|
||||
extern Datum scalarltsel(PG_FUNCTION_ARGS);
|
||||
extern Datum scalargtsel(PG_FUNCTION_ARGS);
|
||||
extern Datum regexeqsel(PG_FUNCTION_ARGS);
|
||||
extern Datum icregexeqsel(PG_FUNCTION_ARGS);
|
||||
extern Datum likesel(PG_FUNCTION_ARGS);
|
||||
extern Datum iclikesel(PG_FUNCTION_ARGS);
|
||||
extern Datum regexnesel(PG_FUNCTION_ARGS);
|
||||
extern Datum icregexnesel(PG_FUNCTION_ARGS);
|
||||
extern Datum nlikesel(PG_FUNCTION_ARGS);
|
||||
extern Datum icnlikesel(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum eqjoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum neqjoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum scalarltjoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum scalargtjoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum regexeqjoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum icregexeqjoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum likejoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum iclikejoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum regexnejoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum icregexnejoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum nlikejoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum icnlikejoinsel(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Selectivity boolvarsel(PlannerInfo *root, Node *arg, int varRelid);
|
||||
extern Selectivity booltestsel(PlannerInfo *root, BoolTestType booltesttype,
|
||||
Node *arg, int varRelid,
|
||||
@ -245,7 +219,5 @@ extern Selectivity scalararraysel_containment(PlannerInfo *root,
|
||||
Node *leftop, Node *rightop,
|
||||
Oid elemtype, bool isEquality, bool useOr,
|
||||
int varRelid);
|
||||
extern Datum arraycontsel(PG_FUNCTION_ARGS);
|
||||
extern Datum arraycontjoinsel(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* SELFUNCS_H */
|
||||
|
@ -87,7 +87,6 @@ extern void AtSubCommit_Snapshot(int level);
|
||||
extern void AtSubAbort_Snapshot(int level);
|
||||
extern void AtEOXact_Snapshot(bool isCommit);
|
||||
|
||||
extern Datum pg_export_snapshot(PG_FUNCTION_ARGS);
|
||||
extern void ImportSnapshot(const char *idstr);
|
||||
extern bool XactHasExportedSnapshots(void);
|
||||
extern void DeleteAllExportedSnapshotFiles(void);
|
||||
|
@ -88,131 +88,6 @@ extern TimestampTz PgStartTime;
|
||||
extern TimestampTz PgReloadTime;
|
||||
|
||||
|
||||
/*
|
||||
* timestamp.c prototypes
|
||||
*/
|
||||
|
||||
extern Datum timestamp_in(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_out(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_send(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptypmodin(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptypmodout(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_transform(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_scale(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_le(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_finite(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_cmp(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_sortsupport(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_hash(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_smaller(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_larger(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum timestamp_eq_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_ne_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_lt_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_le_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_gt_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_ge_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_cmp_timestamptz(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum make_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum make_timestamptz(PG_FUNCTION_ARGS);
|
||||
extern Datum make_timestamptz_at_timezone(PG_FUNCTION_ARGS);
|
||||
extern Datum float8_timestamptz(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum timestamptz_eq_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_ne_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_lt_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_le_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_gt_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_ge_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_cmp_timestamp(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum interval_in(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_out(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_send(PG_FUNCTION_ARGS);
|
||||
extern Datum intervaltypmodin(PG_FUNCTION_ARGS);
|
||||
extern Datum intervaltypmodout(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_transform(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_scale(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_eq(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_ne(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_lt(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_le(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_ge(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_gt(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_finite(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_cmp(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_hash(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_smaller(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_larger(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_justify_interval(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_justify_hours(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_justify_days(PG_FUNCTION_ARGS);
|
||||
extern Datum make_interval(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum timestamp_trunc(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_trunc(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_part(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_part(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_zone_transform(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_zone(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_izone_transform(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_izone(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_timestamptz(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum timestamptz_in(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_out(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_send(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptztypmodin(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptztypmodout(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_scale(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_zone(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_izone(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_timestamptz(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum interval_um(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_pl(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_mi(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_mul(PG_FUNCTION_ARGS);
|
||||
extern Datum mul_d_interval(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_div(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_accum(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_combine(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_accum_inv(PG_FUNCTION_ARGS);
|
||||
extern Datum interval_avg(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum timestamp_mi(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_pl_interval(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_mi_interval(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamp_age(PG_FUNCTION_ARGS);
|
||||
extern Datum overlaps_timestamp(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum timestamptz_pl_interval(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_mi_interval(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_age(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_trunc(PG_FUNCTION_ARGS);
|
||||
extern Datum timestamptz_part(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum now(PG_FUNCTION_ARGS);
|
||||
extern Datum statement_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum clock_timestamp(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum pg_postmaster_start_time(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_conf_load_time(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum generate_series_timestamp(PG_FUNCTION_ARGS);
|
||||
extern Datum generate_series_timestamptz(PG_FUNCTION_ARGS);
|
||||
|
||||
/* Internal routines (not fmgr-callable) */
|
||||
|
||||
extern int32 anytimestamp_typmod_check(bool istz, int32 typmod);
|
||||
|
@ -66,50 +66,4 @@ typedef struct
|
||||
/* Mask that will cover exactly one byte, i.e. BITS_PER_BYTE bits */
|
||||
#define BITMASK 0xFF
|
||||
|
||||
|
||||
extern Datum bit_in(PG_FUNCTION_ARGS);
|
||||
extern Datum bit_out(PG_FUNCTION_ARGS);
|
||||
extern Datum bit_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum bit_send(PG_FUNCTION_ARGS);
|
||||
extern Datum bittypmodin(PG_FUNCTION_ARGS);
|
||||
extern Datum bittypmodout(PG_FUNCTION_ARGS);
|
||||
extern Datum varbit_in(PG_FUNCTION_ARGS);
|
||||
extern Datum varbit_out(PG_FUNCTION_ARGS);
|
||||
extern Datum varbit_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum varbit_send(PG_FUNCTION_ARGS);
|
||||
extern Datum varbittypmodin(PG_FUNCTION_ARGS);
|
||||
extern Datum varbittypmodout(PG_FUNCTION_ARGS);
|
||||
extern Datum bit(PG_FUNCTION_ARGS);
|
||||
extern Datum varbit_transform(PG_FUNCTION_ARGS);
|
||||
extern Datum varbit(PG_FUNCTION_ARGS);
|
||||
extern Datum biteq(PG_FUNCTION_ARGS);
|
||||
extern Datum bitne(PG_FUNCTION_ARGS);
|
||||
extern Datum bitlt(PG_FUNCTION_ARGS);
|
||||
extern Datum bitle(PG_FUNCTION_ARGS);
|
||||
extern Datum bitgt(PG_FUNCTION_ARGS);
|
||||
extern Datum bitge(PG_FUNCTION_ARGS);
|
||||
extern Datum bitcmp(PG_FUNCTION_ARGS);
|
||||
|
||||
/* avoid the names bitand and bitor, since they are C++ keywords */
|
||||
extern Datum bit_and(PG_FUNCTION_ARGS);
|
||||
extern Datum bit_or(PG_FUNCTION_ARGS);
|
||||
extern Datum bitxor(PG_FUNCTION_ARGS);
|
||||
extern Datum bitnot(PG_FUNCTION_ARGS);
|
||||
extern Datum bitshiftleft(PG_FUNCTION_ARGS);
|
||||
extern Datum bitshiftright(PG_FUNCTION_ARGS);
|
||||
extern Datum bitcat(PG_FUNCTION_ARGS);
|
||||
extern Datum bitsubstr(PG_FUNCTION_ARGS);
|
||||
extern Datum bitsubstr_no_len(PG_FUNCTION_ARGS);
|
||||
extern Datum bitoverlay(PG_FUNCTION_ARGS);
|
||||
extern Datum bitoverlay_no_len(PG_FUNCTION_ARGS);
|
||||
extern Datum bitlength(PG_FUNCTION_ARGS);
|
||||
extern Datum bitoctetlength(PG_FUNCTION_ARGS);
|
||||
extern Datum bitfromint4(PG_FUNCTION_ARGS);
|
||||
extern Datum bittoint4(PG_FUNCTION_ARGS);
|
||||
extern Datum bitfromint8(PG_FUNCTION_ARGS);
|
||||
extern Datum bittoint8(PG_FUNCTION_ARGS);
|
||||
extern Datum bitposition(PG_FUNCTION_ARGS);
|
||||
extern Datum bitsetbit(PG_FUNCTION_ARGS);
|
||||
extern Datum bitgetbit(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif
|
||||
|
@ -52,39 +52,6 @@ typedef struct PgXmlErrorContext PgXmlErrorContext;
|
||||
#define PG_GETARG_XML_P(n) DatumGetXmlP(PG_GETARG_DATUM(n))
|
||||
#define PG_RETURN_XML_P(x) PG_RETURN_POINTER(x)
|
||||
|
||||
extern Datum xml_in(PG_FUNCTION_ARGS);
|
||||
extern Datum xml_out(PG_FUNCTION_ARGS);
|
||||
extern Datum xml_recv(PG_FUNCTION_ARGS);
|
||||
extern Datum xml_send(PG_FUNCTION_ARGS);
|
||||
extern Datum xmlcomment(PG_FUNCTION_ARGS);
|
||||
extern Datum xmlconcat2(PG_FUNCTION_ARGS);
|
||||
extern Datum texttoxml(PG_FUNCTION_ARGS);
|
||||
extern Datum xmltotext(PG_FUNCTION_ARGS);
|
||||
extern Datum xmlvalidate(PG_FUNCTION_ARGS);
|
||||
extern Datum xpath(PG_FUNCTION_ARGS);
|
||||
extern Datum xpath_exists(PG_FUNCTION_ARGS);
|
||||
extern Datum xmlexists(PG_FUNCTION_ARGS);
|
||||
extern Datum xml_is_well_formed(PG_FUNCTION_ARGS);
|
||||
extern Datum xml_is_well_formed_document(PG_FUNCTION_ARGS);
|
||||
extern Datum xml_is_well_formed_content(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum table_to_xml(PG_FUNCTION_ARGS);
|
||||
extern Datum query_to_xml(PG_FUNCTION_ARGS);
|
||||
extern Datum cursor_to_xml(PG_FUNCTION_ARGS);
|
||||
extern Datum table_to_xmlschema(PG_FUNCTION_ARGS);
|
||||
extern Datum query_to_xmlschema(PG_FUNCTION_ARGS);
|
||||
extern Datum cursor_to_xmlschema(PG_FUNCTION_ARGS);
|
||||
extern Datum table_to_xml_and_xmlschema(PG_FUNCTION_ARGS);
|
||||
extern Datum query_to_xml_and_xmlschema(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum schema_to_xml(PG_FUNCTION_ARGS);
|
||||
extern Datum schema_to_xmlschema(PG_FUNCTION_ARGS);
|
||||
extern Datum schema_to_xml_and_xmlschema(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum database_to_xml(PG_FUNCTION_ARGS);
|
||||
extern Datum database_to_xmlschema(PG_FUNCTION_ARGS);
|
||||
extern Datum database_to_xml_and_xmlschema(PG_FUNCTION_ARGS);
|
||||
|
||||
extern void pg_xml_init_library(void);
|
||||
extern PgXmlErrorContext *pg_xml_init(PgXmlStrictness strictness);
|
||||
extern void pg_xml_done(PgXmlErrorContext *errcxt, bool isError);
|
||||
|
@ -268,7 +268,7 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
|
||||
if (IsNewer(
|
||||
'src/backend/utils/fmgrtab.c', 'src/include/catalog/pg_proc.h'))
|
||||
{
|
||||
print "Generating fmgrtab.c and fmgroids.h...\n";
|
||||
print "Generating fmgrtab.c, fmgroids.h, fmgrprotos.h...\n";
|
||||
chdir('src/backend/utils');
|
||||
system(
|
||||
"perl -I ../catalog Gen_fmgrtab.pl ../../../src/include/catalog/pg_proc.h");
|
||||
@ -282,6 +282,14 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
|
||||
'src/include/utils/fmgroids.h');
|
||||
}
|
||||
|
||||
if (IsNewer(
|
||||
'src/include/utils/fmgrprotos.h',
|
||||
'src/backend/utils/fmgrprotos.h'))
|
||||
{
|
||||
copyFile('src/backend/utils/fmgrprotos.h',
|
||||
'src/include/utils/fmgrprotos.h');
|
||||
}
|
||||
|
||||
if (IsNewer(
|
||||
'src/include/storage/lwlocknames.h',
|
||||
'src/backend/storage/lmgr/lwlocknames.txt'))
|
||||
|
@ -42,9 +42,11 @@ if exist src\include\dynloader.h del /q src\include\dynloader.h
|
||||
if %DIST%==1 if exist src\backend\parser\gram.h del /q src\backend\parser\gram.h
|
||||
if exist src\include\utils\errcodes.h del /q src\include\utils\errcodes.h
|
||||
if exist src\include\utils\fmgroids.h del /q src\include\utils\fmgroids.h
|
||||
if exist src\include\utils\fmgrprotos.h del /q src\include\utils\fmgrprotos.h
|
||||
if exist src\include\utils\probes.h del /q src\include\utils\probes.h
|
||||
|
||||
if %DIST%==1 if exist src\backend\utils\fmgroids.h del /q src\backend\utils\fmgroids.h
|
||||
if %DIST%==1 if exist src\backend\utils\fmgrprotos.h del /q src\backend\utils\fmgrprotos.h
|
||||
if %DIST%==1 if exist src\backend\utils\fmgrtab.c del /q src\backend\utils\fmgrtab.c
|
||||
if %DIST%==1 if exist src\backend\catalog\postgres.bki del /q src\backend\catalog\postgres.bki
|
||||
if %DIST%==1 if exist src\backend\catalog\postgres.description del /q src\backend\catalog\postgres.description
|
||||
|
Loading…
x
Reference in New Issue
Block a user