From: Peter Eisentraut Date: Fri, 18 Apr 2014 04:03:19 +0000 (-0400) Subject: Create function prototype as part of PG_FUNCTION_INFO_V1 macro X-Git-Tag: REL9_4_BETA1~147 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e7128e8dbb305059c30ec085461297e619bcbff4;p=postgresql Create function prototype as part of PG_FUNCTION_INFO_V1 macro Because of gcc -Wmissing-prototypes, all functions in dynamically loadable modules must have a separate prototype declaration. This is meant to detect global functions that are not declared in header files, but in cases where the function is called via dfmgr, this is redundant. Besides filling up space with boilerplate, this is a frequent source of compiler warnings in extension modules. We can fix that by creating the function prototype as part of the PG_FUNCTION_INFO_V1 macro, which such modules have to use anyway. That makes the code of modules cleaner, because there is one less place where the entry points have to be listed, and creates an additional check that functions have the right prototype. Remove now redundant prototypes from contrib and other modules. --- diff --git a/contrib/adminpack/adminpack.c b/contrib/adminpack/adminpack.c index 27cbcde073..8193b1f1d0 100644 --- a/contrib/adminpack/adminpack.c +++ b/contrib/adminpack/adminpack.c @@ -40,11 +40,6 @@ PG_MODULE_MAGIC; -Datum pg_file_write(PG_FUNCTION_ARGS); -Datum pg_file_rename(PG_FUNCTION_ARGS); -Datum pg_file_unlink(PG_FUNCTION_ARGS); -Datum pg_logdir_ls(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(pg_file_write); PG_FUNCTION_INFO_V1(pg_file_rename); PG_FUNCTION_INFO_V1(pg_file_unlink); diff --git a/contrib/btree_gin/btree_gin.c b/contrib/btree_gin/btree_gin.c index 5e6003f63c..87d23e0350 100644 --- a/contrib/btree_gin/btree_gin.c +++ b/contrib/btree_gin/btree_gin.c @@ -32,7 +32,6 @@ typedef struct QueryInfo #define GIN_EXTRACT_VALUE(type) \ PG_FUNCTION_INFO_V1(gin_extract_value_##type); \ -Datum gin_extract_value_##type(PG_FUNCTION_ARGS); \ Datum \ gin_extract_value_##type(PG_FUNCTION_ARGS) \ { \ @@ -59,7 +58,6 @@ gin_extract_value_##type(PG_FUNCTION_ARGS) \ #define GIN_EXTRACT_QUERY(type) \ PG_FUNCTION_INFO_V1(gin_extract_query_##type); \ -Datum gin_extract_query_##type(PG_FUNCTION_ARGS); \ Datum \ gin_extract_query_##type(PG_FUNCTION_ARGS) \ { \ @@ -109,7 +107,6 @@ gin_extract_query_##type(PG_FUNCTION_ARGS) \ */ #define GIN_COMPARE_PREFIX(type) \ PG_FUNCTION_INFO_V1(gin_compare_prefix_##type); \ -Datum gin_compare_prefix_##type(PG_FUNCTION_ARGS); \ Datum \ gin_compare_prefix_##type(PG_FUNCTION_ARGS) \ { \ @@ -182,7 +179,6 @@ gin_compare_prefix_##type(PG_FUNCTION_ARGS) \ PG_FUNCTION_INFO_V1(gin_btree_consistent); -Datum gin_btree_consistent(PG_FUNCTION_ARGS); Datum gin_btree_consistent(PG_FUNCTION_ARGS) { @@ -404,7 +400,6 @@ GIN_SUPPORT(varbit) #define NUMERIC_IS_LEFTMOST(x) ((x) == NULL) PG_FUNCTION_INFO_V1(gin_numeric_cmp); -Datum gin_numeric_cmp(PG_FUNCTION_ARGS); Datum gin_numeric_cmp(PG_FUNCTION_ARGS) diff --git a/contrib/btree_gist/btree_bit.c b/contrib/btree_gist/btree_bit.c index d94abcb3cf..edf75e0684 100644 --- a/contrib/btree_gist/btree_bit.c +++ b/contrib/btree_gist/btree_bit.c @@ -19,14 +19,6 @@ PG_FUNCTION_INFO_V1(gbt_bit_consistent); PG_FUNCTION_INFO_V1(gbt_bit_penalty); PG_FUNCTION_INFO_V1(gbt_bit_same); -Datum gbt_bit_compress(PG_FUNCTION_ARGS); -Datum gbt_bit_union(PG_FUNCTION_ARGS); -Datum gbt_bit_picksplit(PG_FUNCTION_ARGS); -Datum gbt_bit_consistent(PG_FUNCTION_ARGS); -Datum gbt_bit_penalty(PG_FUNCTION_ARGS); -Datum gbt_bit_same(PG_FUNCTION_ARGS); - - /* define for comparison */ diff --git a/contrib/btree_gist/btree_bytea.c b/contrib/btree_gist/btree_bytea.c index 0dd441964a..dfc25a45c6 100644 --- a/contrib/btree_gist/btree_bytea.c +++ b/contrib/btree_gist/btree_bytea.c @@ -18,13 +18,6 @@ PG_FUNCTION_INFO_V1(gbt_bytea_consistent); PG_FUNCTION_INFO_V1(gbt_bytea_penalty); PG_FUNCTION_INFO_V1(gbt_bytea_same); -Datum gbt_bytea_compress(PG_FUNCTION_ARGS); -Datum gbt_bytea_union(PG_FUNCTION_ARGS); -Datum gbt_bytea_picksplit(PG_FUNCTION_ARGS); -Datum gbt_bytea_consistent(PG_FUNCTION_ARGS); -Datum gbt_bytea_penalty(PG_FUNCTION_ARGS); -Datum gbt_bytea_same(PG_FUNCTION_ARGS); - /* define for comparison */ diff --git a/contrib/btree_gist/btree_cash.c b/contrib/btree_gist/btree_cash.c index 8e8495ca06..8de3716c94 100644 --- a/contrib/btree_gist/btree_cash.c +++ b/contrib/btree_gist/btree_cash.c @@ -24,14 +24,6 @@ PG_FUNCTION_INFO_V1(gbt_cash_distance); PG_FUNCTION_INFO_V1(gbt_cash_penalty); PG_FUNCTION_INFO_V1(gbt_cash_same); -Datum gbt_cash_compress(PG_FUNCTION_ARGS); -Datum gbt_cash_union(PG_FUNCTION_ARGS); -Datum gbt_cash_picksplit(PG_FUNCTION_ARGS); -Datum gbt_cash_consistent(PG_FUNCTION_ARGS); -Datum gbt_cash_distance(PG_FUNCTION_ARGS); -Datum gbt_cash_penalty(PG_FUNCTION_ARGS); -Datum gbt_cash_same(PG_FUNCTION_ARGS); - static bool gbt_cashgt(const void *a, const void *b) { @@ -97,7 +89,6 @@ static const gbtree_ninfo tinfo = PG_FUNCTION_INFO_V1(cash_dist); -Datum cash_dist(PG_FUNCTION_ARGS); Datum cash_dist(PG_FUNCTION_ARGS) { diff --git a/contrib/btree_gist/btree_date.c b/contrib/btree_gist/btree_date.c index 1c0c3ec20c..9cab7ec42f 100644 --- a/contrib/btree_gist/btree_date.c +++ b/contrib/btree_gist/btree_date.c @@ -24,14 +24,6 @@ PG_FUNCTION_INFO_V1(gbt_date_distance); PG_FUNCTION_INFO_V1(gbt_date_penalty); PG_FUNCTION_INFO_V1(gbt_date_same); -Datum gbt_date_compress(PG_FUNCTION_ARGS); -Datum gbt_date_union(PG_FUNCTION_ARGS); -Datum gbt_date_picksplit(PG_FUNCTION_ARGS); -Datum gbt_date_consistent(PG_FUNCTION_ARGS); -Datum gbt_date_distance(PG_FUNCTION_ARGS); -Datum gbt_date_penalty(PG_FUNCTION_ARGS); -Datum gbt_date_same(PG_FUNCTION_ARGS); - static bool gbt_dategt(const void *a, const void *b) { @@ -115,7 +107,6 @@ static const gbtree_ninfo tinfo = PG_FUNCTION_INFO_V1(date_dist); -Datum date_dist(PG_FUNCTION_ARGS); Datum date_dist(PG_FUNCTION_ARGS) { diff --git a/contrib/btree_gist/btree_float4.c b/contrib/btree_gist/btree_float4.c index cf1e45a381..55e1c4c1c6 100644 --- a/contrib/btree_gist/btree_float4.c +++ b/contrib/btree_gist/btree_float4.c @@ -23,14 +23,6 @@ PG_FUNCTION_INFO_V1(gbt_float4_distance); PG_FUNCTION_INFO_V1(gbt_float4_penalty); PG_FUNCTION_INFO_V1(gbt_float4_same); -Datum gbt_float4_compress(PG_FUNCTION_ARGS); -Datum gbt_float4_union(PG_FUNCTION_ARGS); -Datum gbt_float4_picksplit(PG_FUNCTION_ARGS); -Datum gbt_float4_consistent(PG_FUNCTION_ARGS); -Datum gbt_float4_distance(PG_FUNCTION_ARGS); -Datum gbt_float4_penalty(PG_FUNCTION_ARGS); -Datum gbt_float4_same(PG_FUNCTION_ARGS); - static bool gbt_float4gt(const void *a, const void *b) { @@ -96,7 +88,6 @@ static const gbtree_ninfo tinfo = PG_FUNCTION_INFO_V1(float4_dist); -Datum float4_dist(PG_FUNCTION_ARGS); Datum float4_dist(PG_FUNCTION_ARGS) { diff --git a/contrib/btree_gist/btree_float8.c b/contrib/btree_gist/btree_float8.c index 3ce87642cb..62271dec84 100644 --- a/contrib/btree_gist/btree_float8.c +++ b/contrib/btree_gist/btree_float8.c @@ -23,14 +23,6 @@ PG_FUNCTION_INFO_V1(gbt_float8_distance); PG_FUNCTION_INFO_V1(gbt_float8_penalty); PG_FUNCTION_INFO_V1(gbt_float8_same); -Datum gbt_float8_compress(PG_FUNCTION_ARGS); -Datum gbt_float8_union(PG_FUNCTION_ARGS); -Datum gbt_float8_picksplit(PG_FUNCTION_ARGS); -Datum gbt_float8_consistent(PG_FUNCTION_ARGS); -Datum gbt_float8_distance(PG_FUNCTION_ARGS); -Datum gbt_float8_penalty(PG_FUNCTION_ARGS); -Datum gbt_float8_same(PG_FUNCTION_ARGS); - static bool gbt_float8gt(const void *a, const void *b) @@ -104,7 +96,6 @@ static const gbtree_ninfo tinfo = PG_FUNCTION_INFO_V1(float8_dist); -Datum float8_dist(PG_FUNCTION_ARGS); Datum float8_dist(PG_FUNCTION_ARGS) { diff --git a/contrib/btree_gist/btree_gist.c b/contrib/btree_gist/btree_gist.c index f2d2ed2cb2..e1dc253c96 100644 --- a/contrib/btree_gist/btree_gist.c +++ b/contrib/btree_gist/btree_gist.c @@ -11,8 +11,6 @@ PG_FUNCTION_INFO_V1(gbt_decompress); PG_FUNCTION_INFO_V1(gbtreekey_in); PG_FUNCTION_INFO_V1(gbtreekey_out); -Datum gbt_decompress(PG_FUNCTION_ARGS); - /************************************************** * In/Out for keys **************************************************/ diff --git a/contrib/btree_gist/btree_inet.c b/contrib/btree_gist/btree_inet.c index c136296ab5..24ae6bf369 100644 --- a/contrib/btree_gist/btree_inet.c +++ b/contrib/btree_gist/btree_inet.c @@ -25,13 +25,6 @@ PG_FUNCTION_INFO_V1(gbt_inet_consistent); PG_FUNCTION_INFO_V1(gbt_inet_penalty); PG_FUNCTION_INFO_V1(gbt_inet_same); -Datum gbt_inet_compress(PG_FUNCTION_ARGS); -Datum gbt_inet_union(PG_FUNCTION_ARGS); -Datum gbt_inet_picksplit(PG_FUNCTION_ARGS); -Datum gbt_inet_consistent(PG_FUNCTION_ARGS); -Datum gbt_inet_penalty(PG_FUNCTION_ARGS); -Datum gbt_inet_same(PG_FUNCTION_ARGS); - static bool gbt_inetgt(const void *a, const void *b) diff --git a/contrib/btree_gist/btree_int2.c b/contrib/btree_gist/btree_int2.c index 6a438bf1f2..d51ad0c2ab 100644 --- a/contrib/btree_gist/btree_int2.c +++ b/contrib/btree_gist/btree_int2.c @@ -23,14 +23,6 @@ PG_FUNCTION_INFO_V1(gbt_int2_distance); PG_FUNCTION_INFO_V1(gbt_int2_penalty); PG_FUNCTION_INFO_V1(gbt_int2_same); -Datum gbt_int2_compress(PG_FUNCTION_ARGS); -Datum gbt_int2_union(PG_FUNCTION_ARGS); -Datum gbt_int2_picksplit(PG_FUNCTION_ARGS); -Datum gbt_int2_consistent(PG_FUNCTION_ARGS); -Datum gbt_int2_distance(PG_FUNCTION_ARGS); -Datum gbt_int2_penalty(PG_FUNCTION_ARGS); -Datum gbt_int2_same(PG_FUNCTION_ARGS); - static bool gbt_int2gt(const void *a, const void *b) { @@ -96,7 +88,6 @@ static const gbtree_ninfo tinfo = PG_FUNCTION_INFO_V1(int2_dist); -Datum int2_dist(PG_FUNCTION_ARGS); Datum int2_dist(PG_FUNCTION_ARGS) { diff --git a/contrib/btree_gist/btree_int4.c b/contrib/btree_gist/btree_int4.c index df2164fc5e..e7641f2284 100644 --- a/contrib/btree_gist/btree_int4.c +++ b/contrib/btree_gist/btree_int4.c @@ -23,14 +23,6 @@ PG_FUNCTION_INFO_V1(gbt_int4_distance); PG_FUNCTION_INFO_V1(gbt_int4_penalty); PG_FUNCTION_INFO_V1(gbt_int4_same); -Datum gbt_int4_compress(PG_FUNCTION_ARGS); -Datum gbt_int4_union(PG_FUNCTION_ARGS); -Datum gbt_int4_picksplit(PG_FUNCTION_ARGS); -Datum gbt_int4_consistent(PG_FUNCTION_ARGS); -Datum gbt_int4_distance(PG_FUNCTION_ARGS); -Datum gbt_int4_penalty(PG_FUNCTION_ARGS); -Datum gbt_int4_same(PG_FUNCTION_ARGS); - static bool gbt_int4gt(const void *a, const void *b) @@ -97,7 +89,6 @@ static const gbtree_ninfo tinfo = PG_FUNCTION_INFO_V1(int4_dist); -Datum int4_dist(PG_FUNCTION_ARGS); Datum int4_dist(PG_FUNCTION_ARGS) { diff --git a/contrib/btree_gist/btree_int8.c b/contrib/btree_gist/btree_int8.c index c05d8687fd..8bc8cb5fdf 100644 --- a/contrib/btree_gist/btree_int8.c +++ b/contrib/btree_gist/btree_int8.c @@ -23,14 +23,6 @@ PG_FUNCTION_INFO_V1(gbt_int8_distance); PG_FUNCTION_INFO_V1(gbt_int8_penalty); PG_FUNCTION_INFO_V1(gbt_int8_same); -Datum gbt_int8_compress(PG_FUNCTION_ARGS); -Datum gbt_int8_union(PG_FUNCTION_ARGS); -Datum gbt_int8_picksplit(PG_FUNCTION_ARGS); -Datum gbt_int8_consistent(PG_FUNCTION_ARGS); -Datum gbt_int8_distance(PG_FUNCTION_ARGS); -Datum gbt_int8_penalty(PG_FUNCTION_ARGS); -Datum gbt_int8_same(PG_FUNCTION_ARGS); - static bool gbt_int8gt(const void *a, const void *b) @@ -97,7 +89,6 @@ static const gbtree_ninfo tinfo = PG_FUNCTION_INFO_V1(int8_dist); -Datum int8_dist(PG_FUNCTION_ARGS); Datum int8_dist(PG_FUNCTION_ARGS) { diff --git a/contrib/btree_gist/btree_interval.c b/contrib/btree_gist/btree_interval.c index bb779adf8e..e406d7120c 100644 --- a/contrib/btree_gist/btree_interval.c +++ b/contrib/btree_gist/btree_interval.c @@ -26,15 +26,6 @@ PG_FUNCTION_INFO_V1(gbt_intv_distance); PG_FUNCTION_INFO_V1(gbt_intv_penalty); PG_FUNCTION_INFO_V1(gbt_intv_same); -Datum gbt_intv_compress(PG_FUNCTION_ARGS); -Datum gbt_intv_decompress(PG_FUNCTION_ARGS); -Datum gbt_intv_union(PG_FUNCTION_ARGS); -Datum gbt_intv_picksplit(PG_FUNCTION_ARGS); -Datum gbt_intv_consistent(PG_FUNCTION_ARGS); -Datum gbt_intv_distance(PG_FUNCTION_ARGS); -Datum gbt_intv_penalty(PG_FUNCTION_ARGS); -Datum gbt_intv_same(PG_FUNCTION_ARGS); - static bool gbt_intvgt(const void *a, const void *b) @@ -129,7 +120,6 @@ abs_interval(Interval *a) } PG_FUNCTION_INFO_V1(interval_dist); -Datum interval_dist(PG_FUNCTION_ARGS); Datum interval_dist(PG_FUNCTION_ARGS) { diff --git a/contrib/btree_gist/btree_macaddr.c b/contrib/btree_gist/btree_macaddr.c index 31125beda6..6255564ac5 100644 --- a/contrib/btree_gist/btree_macaddr.c +++ b/contrib/btree_gist/btree_macaddr.c @@ -24,13 +24,6 @@ PG_FUNCTION_INFO_V1(gbt_macad_consistent); PG_FUNCTION_INFO_V1(gbt_macad_penalty); PG_FUNCTION_INFO_V1(gbt_macad_same); -Datum gbt_macad_compress(PG_FUNCTION_ARGS); -Datum gbt_macad_union(PG_FUNCTION_ARGS); -Datum gbt_macad_picksplit(PG_FUNCTION_ARGS); -Datum gbt_macad_consistent(PG_FUNCTION_ARGS); -Datum gbt_macad_penalty(PG_FUNCTION_ARGS); -Datum gbt_macad_same(PG_FUNCTION_ARGS); - static bool gbt_macadgt(const void *a, const void *b) diff --git a/contrib/btree_gist/btree_numeric.c b/contrib/btree_gist/btree_numeric.c index 37938aff6a..02ccca8647 100644 --- a/contrib/btree_gist/btree_numeric.c +++ b/contrib/btree_gist/btree_numeric.c @@ -23,13 +23,6 @@ PG_FUNCTION_INFO_V1(gbt_numeric_consistent); PG_FUNCTION_INFO_V1(gbt_numeric_penalty); PG_FUNCTION_INFO_V1(gbt_numeric_same); -Datum gbt_numeric_compress(PG_FUNCTION_ARGS); -Datum gbt_numeric_union(PG_FUNCTION_ARGS); -Datum gbt_numeric_picksplit(PG_FUNCTION_ARGS); -Datum gbt_numeric_consistent(PG_FUNCTION_ARGS); -Datum gbt_numeric_penalty(PG_FUNCTION_ARGS); -Datum gbt_numeric_same(PG_FUNCTION_ARGS); - /* define for comparison */ diff --git a/contrib/btree_gist/btree_oid.c b/contrib/btree_gist/btree_oid.c index e80a23c0b1..dcd0765417 100644 --- a/contrib/btree_gist/btree_oid.c +++ b/contrib/btree_gist/btree_oid.c @@ -23,14 +23,6 @@ PG_FUNCTION_INFO_V1(gbt_oid_distance); PG_FUNCTION_INFO_V1(gbt_oid_penalty); PG_FUNCTION_INFO_V1(gbt_oid_same); -Datum gbt_oid_compress(PG_FUNCTION_ARGS); -Datum gbt_oid_union(PG_FUNCTION_ARGS); -Datum gbt_oid_picksplit(PG_FUNCTION_ARGS); -Datum gbt_oid_consistent(PG_FUNCTION_ARGS); -Datum gbt_oid_distance(PG_FUNCTION_ARGS); -Datum gbt_oid_penalty(PG_FUNCTION_ARGS); -Datum gbt_oid_same(PG_FUNCTION_ARGS); - static bool gbt_oidgt(const void *a, const void *b) @@ -103,7 +95,6 @@ static const gbtree_ninfo tinfo = PG_FUNCTION_INFO_V1(oid_dist); -Datum oid_dist(PG_FUNCTION_ARGS); Datum oid_dist(PG_FUNCTION_ARGS) { diff --git a/contrib/btree_gist/btree_text.c b/contrib/btree_gist/btree_text.c index 56790a9983..2e00cb60ba 100644 --- a/contrib/btree_gist/btree_text.c +++ b/contrib/btree_gist/btree_text.c @@ -19,15 +19,6 @@ PG_FUNCTION_INFO_V1(gbt_bpchar_consistent); PG_FUNCTION_INFO_V1(gbt_text_penalty); PG_FUNCTION_INFO_V1(gbt_text_same); -Datum gbt_text_compress(PG_FUNCTION_ARGS); -Datum gbt_bpchar_compress(PG_FUNCTION_ARGS); -Datum gbt_text_union(PG_FUNCTION_ARGS); -Datum gbt_text_picksplit(PG_FUNCTION_ARGS); -Datum gbt_text_consistent(PG_FUNCTION_ARGS); -Datum gbt_bpchar_consistent(PG_FUNCTION_ARGS); -Datum gbt_text_penalty(PG_FUNCTION_ARGS); -Datum gbt_text_same(PG_FUNCTION_ARGS); - /* define for comparison */ diff --git a/contrib/btree_gist/btree_time.c b/contrib/btree_gist/btree_time.c index a148e5e120..e0e32428e2 100644 --- a/contrib/btree_gist/btree_time.c +++ b/contrib/btree_gist/btree_time.c @@ -27,16 +27,6 @@ PG_FUNCTION_INFO_V1(gbt_timetz_consistent); PG_FUNCTION_INFO_V1(gbt_time_penalty); PG_FUNCTION_INFO_V1(gbt_time_same); -Datum gbt_time_compress(PG_FUNCTION_ARGS); -Datum gbt_timetz_compress(PG_FUNCTION_ARGS); -Datum gbt_time_union(PG_FUNCTION_ARGS); -Datum gbt_time_picksplit(PG_FUNCTION_ARGS); -Datum gbt_time_consistent(PG_FUNCTION_ARGS); -Datum gbt_time_distance(PG_FUNCTION_ARGS); -Datum gbt_timetz_consistent(PG_FUNCTION_ARGS); -Datum gbt_time_penalty(PG_FUNCTION_ARGS); -Datum gbt_time_same(PG_FUNCTION_ARGS); - #ifdef USE_FLOAT8_BYVAL #define TimeADTGetDatumFast(X) TimeADTGetDatum(X) @@ -145,7 +135,6 @@ static const gbtree_ninfo tinfo = PG_FUNCTION_INFO_V1(time_dist); -Datum time_dist(PG_FUNCTION_ARGS); Datum time_dist(PG_FUNCTION_ARGS) { diff --git a/contrib/btree_gist/btree_ts.c b/contrib/btree_gist/btree_ts.c index bf82709dd8..10f325d672 100644 --- a/contrib/btree_gist/btree_ts.c +++ b/contrib/btree_gist/btree_ts.c @@ -28,17 +28,6 @@ PG_FUNCTION_INFO_V1(gbt_tstz_distance); PG_FUNCTION_INFO_V1(gbt_ts_penalty); PG_FUNCTION_INFO_V1(gbt_ts_same); -Datum gbt_ts_compress(PG_FUNCTION_ARGS); -Datum gbt_tstz_compress(PG_FUNCTION_ARGS); -Datum gbt_ts_union(PG_FUNCTION_ARGS); -Datum gbt_ts_picksplit(PG_FUNCTION_ARGS); -Datum gbt_ts_consistent(PG_FUNCTION_ARGS); -Datum gbt_ts_distance(PG_FUNCTION_ARGS); -Datum gbt_tstz_consistent(PG_FUNCTION_ARGS); -Datum gbt_tstz_distance(PG_FUNCTION_ARGS); -Datum gbt_ts_penalty(PG_FUNCTION_ARGS); -Datum gbt_ts_same(PG_FUNCTION_ARGS); - #ifdef USE_FLOAT8_BYVAL #define TimestampGetDatumFast(X) TimestampGetDatum(X) @@ -149,7 +138,6 @@ static const gbtree_ninfo tinfo = PG_FUNCTION_INFO_V1(ts_dist); -Datum ts_dist(PG_FUNCTION_ARGS); Datum ts_dist(PG_FUNCTION_ARGS) { @@ -178,7 +166,6 @@ ts_dist(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(tstz_dist); -Datum tstz_dist(PG_FUNCTION_ARGS); Datum tstz_dist(PG_FUNCTION_ARGS) { diff --git a/contrib/btree_gist/btree_utils_var.c b/contrib/btree_gist/btree_utils_var.c index c7c6faafc6..09b51fc9c9 100644 --- a/contrib/btree_gist/btree_utils_var.c +++ b/contrib/btree_gist/btree_utils_var.c @@ -29,7 +29,6 @@ typedef struct PG_FUNCTION_INFO_V1(gbt_var_decompress); -Datum gbt_var_decompress(PG_FUNCTION_ARGS); Datum diff --git a/contrib/chkpass/chkpass.c b/contrib/chkpass/chkpass.c index 1795b8cde4..283ad9a538 100644 --- a/contrib/chkpass/chkpass.c +++ b/contrib/chkpass/chkpass.c @@ -39,18 +39,6 @@ typedef struct chkpass char password[16]; } chkpass; -/* - * Various forward declarations: - */ - -Datum chkpass_in(PG_FUNCTION_ARGS); -Datum chkpass_out(PG_FUNCTION_ARGS); -Datum chkpass_rout(PG_FUNCTION_ARGS); - -/* Only equal or not equal make sense */ -Datum chkpass_eq(PG_FUNCTION_ARGS); -Datum chkpass_ne(PG_FUNCTION_ARGS); - /* This function checks that the password is a good one * It's just a placeholder for now */ diff --git a/contrib/citext/citext.c b/contrib/citext/citext.c index a584f57455..1174b70aa7 100644 --- a/contrib/citext/citext.c +++ b/contrib/citext/citext.c @@ -19,16 +19,6 @@ PG_MODULE_MAGIC; */ static int32 citextcmp(text *left, text *right, Oid collid); -extern Datum citext_cmp(PG_FUNCTION_ARGS); -extern Datum citext_hash(PG_FUNCTION_ARGS); -extern Datum citext_eq(PG_FUNCTION_ARGS); -extern Datum citext_ne(PG_FUNCTION_ARGS); -extern Datum citext_gt(PG_FUNCTION_ARGS); -extern Datum citext_ge(PG_FUNCTION_ARGS); -extern Datum citext_lt(PG_FUNCTION_ARGS); -extern Datum citext_le(PG_FUNCTION_ARGS); -extern Datum citext_smaller(PG_FUNCTION_ARGS); -extern Datum citext_larger(PG_FUNCTION_ARGS); /* * ================= diff --git a/contrib/cube/cube.c b/contrib/cube/cube.c index 9524943ca8..906cc9efc7 100644 --- a/contrib/cube/cube.c +++ b/contrib/cube/cube.c @@ -47,19 +47,6 @@ PG_FUNCTION_INFO_V1(cube_ll_coord); PG_FUNCTION_INFO_V1(cube_ur_coord); PG_FUNCTION_INFO_V1(cube_subset); -Datum cube_in(PG_FUNCTION_ARGS); -Datum cube_a_f8_f8(PG_FUNCTION_ARGS); -Datum cube_a_f8(PG_FUNCTION_ARGS); -Datum cube_out(PG_FUNCTION_ARGS); -Datum cube_f8(PG_FUNCTION_ARGS); -Datum cube_f8_f8(PG_FUNCTION_ARGS); -Datum cube_c_f8(PG_FUNCTION_ARGS); -Datum cube_c_f8_f8(PG_FUNCTION_ARGS); -Datum cube_dim(PG_FUNCTION_ARGS); -Datum cube_ll_coord(PG_FUNCTION_ARGS); -Datum cube_ur_coord(PG_FUNCTION_ARGS); -Datum cube_subset(PG_FUNCTION_ARGS); - /* ** GiST support methods */ @@ -72,14 +59,6 @@ PG_FUNCTION_INFO_V1(g_cube_picksplit); PG_FUNCTION_INFO_V1(g_cube_union); PG_FUNCTION_INFO_V1(g_cube_same); -Datum g_cube_consistent(PG_FUNCTION_ARGS); -Datum g_cube_compress(PG_FUNCTION_ARGS); -Datum g_cube_decompress(PG_FUNCTION_ARGS); -Datum g_cube_penalty(PG_FUNCTION_ARGS); -Datum g_cube_picksplit(PG_FUNCTION_ARGS); -Datum g_cube_union(PG_FUNCTION_ARGS); -Datum g_cube_same(PG_FUNCTION_ARGS); - /* ** B-tree support functions */ @@ -91,14 +70,6 @@ PG_FUNCTION_INFO_V1(cube_le); PG_FUNCTION_INFO_V1(cube_ge); PG_FUNCTION_INFO_V1(cube_cmp); -Datum cube_eq(PG_FUNCTION_ARGS); -Datum cube_ne(PG_FUNCTION_ARGS); -Datum cube_lt(PG_FUNCTION_ARGS); -Datum cube_gt(PG_FUNCTION_ARGS); -Datum cube_le(PG_FUNCTION_ARGS); -Datum cube_ge(PG_FUNCTION_ARGS); -Datum cube_cmp(PG_FUNCTION_ARGS); - /* ** R-tree support functions */ @@ -110,13 +81,6 @@ PG_FUNCTION_INFO_V1(cube_union); PG_FUNCTION_INFO_V1(cube_inter); PG_FUNCTION_INFO_V1(cube_size); -Datum cube_contains(PG_FUNCTION_ARGS); -Datum cube_contained(PG_FUNCTION_ARGS); -Datum cube_overlap(PG_FUNCTION_ARGS); -Datum cube_union(PG_FUNCTION_ARGS); -Datum cube_inter(PG_FUNCTION_ARGS); -Datum cube_size(PG_FUNCTION_ARGS); - /* ** miscellaneous */ @@ -124,10 +88,6 @@ PG_FUNCTION_INFO_V1(cube_distance); PG_FUNCTION_INFO_V1(cube_is_point); PG_FUNCTION_INFO_V1(cube_enlarge); -Datum cube_distance(PG_FUNCTION_ARGS); -Datum cube_is_point(PG_FUNCTION_ARGS); -Datum cube_enlarge(PG_FUNCTION_ARGS); - /* ** For internal use only */ diff --git a/contrib/dict_int/dict_int.c b/contrib/dict_int/dict_int.c index b05138e29d..79067a86f0 100644 --- a/contrib/dict_int/dict_int.c +++ b/contrib/dict_int/dict_int.c @@ -26,10 +26,7 @@ typedef struct PG_FUNCTION_INFO_V1(dintdict_init); -Datum dintdict_init(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(dintdict_lexize); -Datum dintdict_lexize(PG_FUNCTION_ARGS); Datum dintdict_init(PG_FUNCTION_ARGS) diff --git a/contrib/dict_xsyn/dict_xsyn.c b/contrib/dict_xsyn/dict_xsyn.c index f0084a96c4..1c27565f5e 100644 --- a/contrib/dict_xsyn/dict_xsyn.c +++ b/contrib/dict_xsyn/dict_xsyn.c @@ -40,10 +40,7 @@ typedef struct PG_FUNCTION_INFO_V1(dxsyn_init); -Datum dxsyn_init(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(dxsyn_lexize); -Datum dxsyn_lexize(PG_FUNCTION_ARGS); static char * find_word(char *in, char **end) diff --git a/contrib/earthdistance/earthdistance.c b/contrib/earthdistance/earthdistance.c index 2f344a7011..eadfce4605 100644 --- a/contrib/earthdistance/earthdistance.c +++ b/contrib/earthdistance/earthdistance.c @@ -99,8 +99,6 @@ geo_distance_internal(Point *pt1, Point *pt2) #ifdef USE_FLOAT8_BYVAL -Datum geo_distance(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(geo_distance); Datum diff --git a/contrib/file_fdw/file_fdw.c b/contrib/file_fdw/file_fdw.c index 7fb1dbcff3..4f84e3bcea 100644 --- a/contrib/file_fdw/file_fdw.c +++ b/contrib/file_fdw/file_fdw.c @@ -102,9 +102,6 @@ typedef struct FileFdwExecutionState /* * SQL functions */ -extern Datum file_fdw_handler(PG_FUNCTION_ARGS); -extern Datum file_fdw_validator(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(file_fdw_handler); PG_FUNCTION_INFO_V1(file_fdw_validator); diff --git a/contrib/fuzzystrmatch/dmetaphone.c b/contrib/fuzzystrmatch/dmetaphone.c index 19413b481a..5001288bb6 100644 --- a/contrib/fuzzystrmatch/dmetaphone.c +++ b/contrib/fuzzystrmatch/dmetaphone.c @@ -114,9 +114,6 @@ The remaining code is authored by Andrew Dunstan and #include #include -extern Datum dmetaphone(PG_FUNCTION_ARGS); -extern Datum dmetaphone_alt(PG_FUNCTION_ARGS); - /* prototype for the main function we got from the perl module */ static void DoubleMetaphone(char *, char **); diff --git a/contrib/fuzzystrmatch/fuzzystrmatch.c b/contrib/fuzzystrmatch/fuzzystrmatch.c index 218eced921..7a53d8a008 100644 --- a/contrib/fuzzystrmatch/fuzzystrmatch.c +++ b/contrib/fuzzystrmatch/fuzzystrmatch.c @@ -45,18 +45,6 @@ PG_MODULE_MAGIC; - -/* - * External declarations for exported functions - */ -extern Datum levenshtein_with_costs(PG_FUNCTION_ARGS); -extern Datum levenshtein(PG_FUNCTION_ARGS); -extern Datum levenshtein_less_equal_with_costs(PG_FUNCTION_ARGS); -extern Datum levenshtein_less_equal(PG_FUNCTION_ARGS); -extern Datum metaphone(PG_FUNCTION_ARGS); -extern Datum soundex(PG_FUNCTION_ARGS); -extern Datum difference(PG_FUNCTION_ARGS); - /* * Soundex */ diff --git a/contrib/hstore/hstore.h b/contrib/hstore/hstore.h index 37e4611853..382111617a 100644 --- a/contrib/hstore/hstore.h +++ b/contrib/hstore/hstore.h @@ -194,7 +194,6 @@ extern Pairs *hstoreArrayToPairs(ArrayType *a, int *npairs); #if HSTORE_POLLUTE_NAMESPACE #define HSTORE_POLLUTE(newname_,oldname_) \ PG_FUNCTION_INFO_V1(oldname_); \ - Datum oldname_(PG_FUNCTION_ARGS); \ Datum newname_(PG_FUNCTION_ARGS); \ Datum oldname_(PG_FUNCTION_ARGS) { return newname_(fcinfo); } \ extern int no_such_variable diff --git a/contrib/hstore/hstore_compat.c b/contrib/hstore/hstore_compat.c index 6327a8e8bb..6364f032f9 100644 --- a/contrib/hstore/hstore_compat.c +++ b/contrib/hstore/hstore_compat.c @@ -357,7 +357,6 @@ hstoreUpgrade(Datum orig) PG_FUNCTION_INFO_V1(hstore_version_diag); -Datum hstore_version_diag(PG_FUNCTION_ARGS); Datum hstore_version_diag(PG_FUNCTION_ARGS) { diff --git a/contrib/hstore/hstore_gin.c b/contrib/hstore/hstore_gin.c index 2007801cf0..9f2de06f7f 100644 --- a/contrib/hstore/hstore_gin.c +++ b/contrib/hstore/hstore_gin.c @@ -22,7 +22,6 @@ #define NULLFLAG 'N' PG_FUNCTION_INFO_V1(gin_extract_hstore); -Datum gin_extract_hstore(PG_FUNCTION_ARGS); /* Build an indexable text value */ static text * @@ -76,7 +75,6 @@ gin_extract_hstore(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(gin_extract_hstore_query); -Datum gin_extract_hstore_query(PG_FUNCTION_ARGS); Datum gin_extract_hstore_query(PG_FUNCTION_ARGS) @@ -148,7 +146,6 @@ gin_extract_hstore_query(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(gin_consistent_hstore); -Datum gin_consistent_hstore(PG_FUNCTION_ARGS); Datum gin_consistent_hstore(PG_FUNCTION_ARGS) diff --git a/contrib/hstore/hstore_gist.c b/contrib/hstore/hstore_gist.c index 9001180142..d4a9aaa4c1 100644 --- a/contrib/hstore/hstore_gist.c +++ b/contrib/hstore/hstore_gist.c @@ -69,10 +69,7 @@ typedef struct #define WISH_F(a,b,c) (double)( -(double)(((a)-(b))*((a)-(b))*((a)-(b)))*(c) ) PG_FUNCTION_INFO_V1(ghstore_in); -Datum ghstore_in(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(ghstore_out); -Datum ghstore_out(PG_FUNCTION_ARGS); Datum @@ -97,14 +94,6 @@ PG_FUNCTION_INFO_V1(ghstore_picksplit); PG_FUNCTION_INFO_V1(ghstore_union); PG_FUNCTION_INFO_V1(ghstore_same); -Datum ghstore_consistent(PG_FUNCTION_ARGS); -Datum ghstore_compress(PG_FUNCTION_ARGS); -Datum ghstore_decompress(PG_FUNCTION_ARGS); -Datum ghstore_penalty(PG_FUNCTION_ARGS); -Datum ghstore_picksplit(PG_FUNCTION_ARGS); -Datum ghstore_union(PG_FUNCTION_ARGS); -Datum ghstore_same(PG_FUNCTION_ARGS); - Datum ghstore_compress(PG_FUNCTION_ARGS) { diff --git a/contrib/hstore/hstore_io.c b/contrib/hstore/hstore_io.c index 6ec0b9cbf1..9899317bfc 100644 --- a/contrib/hstore/hstore_io.c +++ b/contrib/hstore/hstore_io.c @@ -401,7 +401,6 @@ hstorePairs(Pairs *pairs, int32 pcount, int32 buflen) PG_FUNCTION_INFO_V1(hstore_in); -Datum hstore_in(PG_FUNCTION_ARGS); Datum hstore_in(PG_FUNCTION_ARGS) { @@ -422,7 +421,6 @@ hstore_in(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_recv); -Datum hstore_recv(PG_FUNCTION_ARGS); Datum hstore_recv(PG_FUNCTION_ARGS) { @@ -486,7 +484,6 @@ hstore_recv(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_from_text); -Datum hstore_from_text(PG_FUNCTION_ARGS); Datum hstore_from_text(PG_FUNCTION_ARGS) { @@ -523,7 +520,6 @@ hstore_from_text(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_from_arrays); -Datum hstore_from_arrays(PG_FUNCTION_ARGS); Datum hstore_from_arrays(PG_FUNCTION_ARGS) { @@ -641,7 +637,6 @@ hstore_from_arrays(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_from_array); -Datum hstore_from_array(PG_FUNCTION_ARGS); Datum hstore_from_array(PG_FUNCTION_ARGS) { @@ -755,7 +750,6 @@ typedef struct RecordIOData } RecordIOData; PG_FUNCTION_INFO_V1(hstore_from_record); -Datum hstore_from_record(PG_FUNCTION_ARGS); Datum hstore_from_record(PG_FUNCTION_ARGS) { @@ -909,7 +903,6 @@ hstore_from_record(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_populate_record); -Datum hstore_populate_record(PG_FUNCTION_ARGS); Datum hstore_populate_record(PG_FUNCTION_ARGS) { @@ -1122,7 +1115,6 @@ cpw(char *dst, char *src, int len) } PG_FUNCTION_INFO_V1(hstore_out); -Datum hstore_out(PG_FUNCTION_ARGS); Datum hstore_out(PG_FUNCTION_ARGS) { @@ -1194,7 +1186,6 @@ hstore_out(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_send); -Datum hstore_send(PG_FUNCTION_ARGS); Datum hstore_send(PG_FUNCTION_ARGS) { @@ -1241,7 +1232,6 @@ hstore_send(PG_FUNCTION_ARGS) * (think zip codes or phone numbers starting with 0). */ PG_FUNCTION_INFO_V1(hstore_to_json_loose); -Datum hstore_to_json_loose(PG_FUNCTION_ARGS); Datum hstore_to_json_loose(PG_FUNCTION_ARGS) { @@ -1333,7 +1323,6 @@ hstore_to_json_loose(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(hstore_to_json); -Datum hstore_to_json(PG_FUNCTION_ARGS); Datum hstore_to_json(PG_FUNCTION_ARGS) { @@ -1377,7 +1366,6 @@ hstore_to_json(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(hstore_to_jsonb); -Datum hstore_to_jsonb(PG_FUNCTION_ARGS); Datum hstore_to_jsonb(PG_FUNCTION_ARGS) { @@ -1425,7 +1413,6 @@ hstore_to_jsonb(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(hstore_to_jsonb_loose); -Datum hstore_to_jsonb_loose(PG_FUNCTION_ARGS); Datum hstore_to_jsonb_loose(PG_FUNCTION_ARGS) { diff --git a/contrib/hstore/hstore_op.c b/contrib/hstore/hstore_op.c index 8ba7a05a65..9e18a2b512 100644 --- a/contrib/hstore/hstore_op.c +++ b/contrib/hstore/hstore_op.c @@ -127,7 +127,6 @@ hstoreArrayToPairs(ArrayType *a, int *npairs) PG_FUNCTION_INFO_V1(hstore_fetchval); -Datum hstore_fetchval(PG_FUNCTION_ARGS); Datum hstore_fetchval(PG_FUNCTION_ARGS) { @@ -149,7 +148,6 @@ hstore_fetchval(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_exists); -Datum hstore_exists(PG_FUNCTION_ARGS); Datum hstore_exists(PG_FUNCTION_ARGS) { @@ -163,7 +161,6 @@ hstore_exists(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_exists_any); -Datum hstore_exists_any(PG_FUNCTION_ARGS); Datum hstore_exists_any(PG_FUNCTION_ARGS) { @@ -198,7 +195,6 @@ hstore_exists_any(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_exists_all); -Datum hstore_exists_all(PG_FUNCTION_ARGS); Datum hstore_exists_all(PG_FUNCTION_ARGS) { @@ -233,7 +229,6 @@ hstore_exists_all(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_defined); -Datum hstore_defined(PG_FUNCTION_ARGS); Datum hstore_defined(PG_FUNCTION_ARGS) { @@ -249,7 +244,6 @@ hstore_defined(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_delete); -Datum hstore_delete(PG_FUNCTION_ARGS); Datum hstore_delete(PG_FUNCTION_ARGS) { @@ -296,7 +290,6 @@ hstore_delete(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_delete_array); -Datum hstore_delete_array(PG_FUNCTION_ARGS); Datum hstore_delete_array(PG_FUNCTION_ARGS) { @@ -376,7 +369,6 @@ hstore_delete_array(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_delete_hstore); -Datum hstore_delete_hstore(PG_FUNCTION_ARGS); Datum hstore_delete_hstore(PG_FUNCTION_ARGS) { @@ -476,7 +468,6 @@ hstore_delete_hstore(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_concat); -Datum hstore_concat(PG_FUNCTION_ARGS); Datum hstore_concat(PG_FUNCTION_ARGS) { @@ -575,7 +566,6 @@ hstore_concat(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_slice_to_array); -Datum hstore_slice_to_array(PG_FUNCTION_ARGS); Datum hstore_slice_to_array(PG_FUNCTION_ARGS) { @@ -639,7 +629,6 @@ hstore_slice_to_array(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_slice_to_hstore); -Datum hstore_slice_to_hstore(PG_FUNCTION_ARGS); Datum hstore_slice_to_hstore(PG_FUNCTION_ARGS) { @@ -702,7 +691,6 @@ hstore_slice_to_hstore(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_akeys); -Datum hstore_akeys(PG_FUNCTION_ARGS); Datum hstore_akeys(PG_FUNCTION_ARGS) { @@ -738,7 +726,6 @@ hstore_akeys(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_avals); -Datum hstore_avals(PG_FUNCTION_ARGS); Datum hstore_avals(PG_FUNCTION_ARGS) { @@ -835,7 +822,6 @@ hstore_to_array_internal(HStore *hs, int ndims) } PG_FUNCTION_INFO_V1(hstore_to_array); -Datum hstore_to_array(PG_FUNCTION_ARGS); Datum hstore_to_array(PG_FUNCTION_ARGS) { @@ -846,7 +832,6 @@ hstore_to_array(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(hstore_to_matrix); -Datum hstore_to_matrix(PG_FUNCTION_ARGS); Datum hstore_to_matrix(PG_FUNCTION_ARGS) { @@ -895,7 +880,6 @@ setup_firstcall(FuncCallContext *funcctx, HStore *hs, PG_FUNCTION_INFO_V1(hstore_skeys); -Datum hstore_skeys(PG_FUNCTION_ARGS); Datum hstore_skeys(PG_FUNCTION_ARGS) { @@ -930,7 +914,6 @@ hstore_skeys(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_svals); -Datum hstore_svals(PG_FUNCTION_ARGS); Datum hstore_svals(PG_FUNCTION_ARGS) { @@ -979,7 +962,6 @@ hstore_svals(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_contains); -Datum hstore_contains(PG_FUNCTION_ARGS); Datum hstore_contains(PG_FUNCTION_ARGS) { @@ -1026,7 +1008,6 @@ hstore_contains(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_contained); -Datum hstore_contained(PG_FUNCTION_ARGS); Datum hstore_contained(PG_FUNCTION_ARGS) { @@ -1038,7 +1019,6 @@ hstore_contained(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_each); -Datum hstore_each(PG_FUNCTION_ARGS); Datum hstore_each(PG_FUNCTION_ARGS) { @@ -1100,7 +1080,6 @@ hstore_each(PG_FUNCTION_ARGS) */ PG_FUNCTION_INFO_V1(hstore_cmp); -Datum hstore_cmp(PG_FUNCTION_ARGS); Datum hstore_cmp(PG_FUNCTION_ARGS) { @@ -1182,7 +1161,6 @@ hstore_cmp(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_eq); -Datum hstore_eq(PG_FUNCTION_ARGS); Datum hstore_eq(PG_FUNCTION_ARGS) { @@ -1194,7 +1172,6 @@ hstore_eq(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(hstore_ne); -Datum hstore_ne(PG_FUNCTION_ARGS); Datum hstore_ne(PG_FUNCTION_ARGS) { @@ -1206,7 +1183,6 @@ hstore_ne(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(hstore_gt); -Datum hstore_gt(PG_FUNCTION_ARGS); Datum hstore_gt(PG_FUNCTION_ARGS) { @@ -1218,7 +1194,6 @@ hstore_gt(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(hstore_ge); -Datum hstore_ge(PG_FUNCTION_ARGS); Datum hstore_ge(PG_FUNCTION_ARGS) { @@ -1230,7 +1205,6 @@ hstore_ge(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(hstore_lt); -Datum hstore_lt(PG_FUNCTION_ARGS); Datum hstore_lt(PG_FUNCTION_ARGS) { @@ -1242,7 +1216,6 @@ hstore_lt(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(hstore_le); -Datum hstore_le(PG_FUNCTION_ARGS); Datum hstore_le(PG_FUNCTION_ARGS) { @@ -1255,7 +1228,6 @@ hstore_le(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(hstore_hash); -Datum hstore_hash(PG_FUNCTION_ARGS); Datum hstore_hash(PG_FUNCTION_ARGS) { diff --git a/contrib/intarray/_int_bool.c b/contrib/intarray/_int_bool.c index b18e997748..566a6c2505 100644 --- a/contrib/intarray/_int_bool.c +++ b/contrib/intarray/_int_bool.c @@ -10,17 +10,9 @@ PG_FUNCTION_INFO_V1(bqarr_in); PG_FUNCTION_INFO_V1(bqarr_out); -Datum bqarr_in(PG_FUNCTION_ARGS); -Datum bqarr_out(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(boolop); -Datum boolop(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(rboolop); -Datum rboolop(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(querytree); -Datum querytree(PG_FUNCTION_ARGS); /* parser's states */ diff --git a/contrib/intarray/_int_gin.c b/contrib/intarray/_int_gin.c index be71e5ce69..58352cac80 100644 --- a/contrib/intarray/_int_gin.c +++ b/contrib/intarray/_int_gin.c @@ -10,7 +10,6 @@ #include "_int.h" PG_FUNCTION_INFO_V1(ginint4_queryextract); -Datum ginint4_queryextract(PG_FUNCTION_ARGS); Datum ginint4_queryextract(PG_FUNCTION_ARGS) @@ -108,7 +107,6 @@ ginint4_queryextract(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(ginint4_consistent); -Datum ginint4_consistent(PG_FUNCTION_ARGS); Datum ginint4_consistent(PG_FUNCTION_ARGS) diff --git a/contrib/intarray/_int_gist.c b/contrib/intarray/_int_gist.c index 60de393bdf..d64a81a559 100644 --- a/contrib/intarray/_int_gist.c +++ b/contrib/intarray/_int_gist.c @@ -21,14 +21,6 @@ PG_FUNCTION_INFO_V1(g_int_picksplit); PG_FUNCTION_INFO_V1(g_int_union); PG_FUNCTION_INFO_V1(g_int_same); -Datum g_int_consistent(PG_FUNCTION_ARGS); -Datum g_int_compress(PG_FUNCTION_ARGS); -Datum g_int_decompress(PG_FUNCTION_ARGS); -Datum g_int_penalty(PG_FUNCTION_ARGS); -Datum g_int_picksplit(PG_FUNCTION_ARGS); -Datum g_int_union(PG_FUNCTION_ARGS); -Datum g_int_same(PG_FUNCTION_ARGS); - /* ** The GiST Consistent method for _intments diff --git a/contrib/intarray/_int_op.c b/contrib/intarray/_int_op.c index 4c2aa7af8b..70849be57f 100644 --- a/contrib/intarray/_int_op.c +++ b/contrib/intarray/_int_op.c @@ -17,14 +17,6 @@ PG_FUNCTION_INFO_V1(_int_overlap); PG_FUNCTION_INFO_V1(_int_union); PG_FUNCTION_INFO_V1(_int_inter); -Datum _int_different(PG_FUNCTION_ARGS); -Datum _int_same(PG_FUNCTION_ARGS); -Datum _int_contains(PG_FUNCTION_ARGS); -Datum _int_contained(PG_FUNCTION_ARGS); -Datum _int_overlap(PG_FUNCTION_ARGS); -Datum _int_union(PG_FUNCTION_ARGS); -Datum _int_inter(PG_FUNCTION_ARGS); - Datum _int_contained(PG_FUNCTION_ARGS) { @@ -188,19 +180,6 @@ PG_FUNCTION_INFO_V1(intarray_push_array); PG_FUNCTION_INFO_V1(intarray_del_elem); PG_FUNCTION_INFO_V1(intset_union_elem); PG_FUNCTION_INFO_V1(intset_subtract); -Datum intset(PG_FUNCTION_ARGS); -Datum icount(PG_FUNCTION_ARGS); -Datum sort(PG_FUNCTION_ARGS); -Datum sort_asc(PG_FUNCTION_ARGS); -Datum sort_desc(PG_FUNCTION_ARGS); -Datum uniq(PG_FUNCTION_ARGS); -Datum idx(PG_FUNCTION_ARGS); -Datum subarray(PG_FUNCTION_ARGS); -Datum intarray_push_elem(PG_FUNCTION_ARGS); -Datum intarray_push_array(PG_FUNCTION_ARGS); -Datum intarray_del_elem(PG_FUNCTION_ARGS); -Datum intset_union_elem(PG_FUNCTION_ARGS); -Datum intset_subtract(PG_FUNCTION_ARGS); Datum intset(PG_FUNCTION_ARGS) diff --git a/contrib/intarray/_intbig_gist.c b/contrib/intarray/_intbig_gist.c index 1bad024c09..235db38957 100644 --- a/contrib/intarray/_intbig_gist.c +++ b/contrib/intarray/_intbig_gist.c @@ -20,14 +20,6 @@ PG_FUNCTION_INFO_V1(g_intbig_picksplit); PG_FUNCTION_INFO_V1(g_intbig_union); PG_FUNCTION_INFO_V1(g_intbig_same); -Datum g_intbig_consistent(PG_FUNCTION_ARGS); -Datum g_intbig_compress(PG_FUNCTION_ARGS); -Datum g_intbig_decompress(PG_FUNCTION_ARGS); -Datum g_intbig_penalty(PG_FUNCTION_ARGS); -Datum g_intbig_picksplit(PG_FUNCTION_ARGS); -Datum g_intbig_union(PG_FUNCTION_ARGS); -Datum g_intbig_same(PG_FUNCTION_ARGS); - /* Number of one-bits in an unsigned byte */ static const uint8 number_of_ones[256] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, @@ -49,11 +41,7 @@ static const uint8 number_of_ones[256] = { }; PG_FUNCTION_INFO_V1(_intbig_in); -Datum _intbig_in(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(_intbig_out); -Datum _intbig_out(PG_FUNCTION_ARGS); - Datum _intbig_in(PG_FUNCTION_ARGS) diff --git a/contrib/lo/lo.c b/contrib/lo/lo.c index 757758fe7f..4dee64724d 100644 --- a/contrib/lo/lo.c +++ b/contrib/lo/lo.c @@ -18,10 +18,6 @@ PG_MODULE_MAGIC; #define atooid(x) ((Oid) strtoul((x), NULL, 10)) -/* forward declarations */ -Datum lo_manage(PG_FUNCTION_ARGS); - - /* * This is the trigger that protects us from orphaned large objects */ diff --git a/contrib/ltree/_ltree_gist.c b/contrib/ltree/_ltree_gist.c index 93507158c0..41be68d7ee 100644 --- a/contrib/ltree/_ltree_gist.c +++ b/contrib/ltree/_ltree_gist.c @@ -14,22 +14,11 @@ PG_FUNCTION_INFO_V1(_ltree_compress); -Datum _ltree_compress(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(_ltree_same); -Datum _ltree_same(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(_ltree_union); -Datum _ltree_union(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(_ltree_penalty); -Datum _ltree_penalty(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(_ltree_picksplit); -Datum _ltree_picksplit(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(_ltree_consistent); -Datum _ltree_consistent(PG_FUNCTION_ARGS); #define GETENTRY(vec,pos) ((ltree_gist *) DatumGetPointer((vec)->vector[(pos)].key)) #define NEXTVAL(x) ( (ltree*)( (char*)(x) + INTALIGN( VARSIZE(x) ) ) ) diff --git a/contrib/ltree/_ltree_op.c b/contrib/ltree/_ltree_op.c index 1b53af816d..44270d4614 100644 --- a/contrib/ltree/_ltree_op.c +++ b/contrib/ltree/_ltree_op.c @@ -22,20 +22,12 @@ PG_FUNCTION_INFO_V1(_lt_q_rregex); PG_FUNCTION_INFO_V1(_ltxtq_exec); PG_FUNCTION_INFO_V1(_ltxtq_rexec); -Datum _ltree_r_isparent(PG_FUNCTION_ARGS); -Datum _ltree_r_risparent(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(_ltree_extract_isparent); PG_FUNCTION_INFO_V1(_ltree_extract_risparent); PG_FUNCTION_INFO_V1(_ltq_extract_regex); PG_FUNCTION_INFO_V1(_ltxtq_extract_exec); -Datum _ltree_extract_isparent(PG_FUNCTION_ARGS); -Datum _ltree_extract_risparent(PG_FUNCTION_ARGS); -Datum _ltq_extract_regex(PG_FUNCTION_ARGS); -Datum _ltxtq_extract_exec(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_lca); -Datum _lca(PG_FUNCTION_ARGS); typedef Datum (*PGCALL2) (PG_FUNCTION_ARGS); diff --git a/contrib/ltree/ltree_gist.c b/contrib/ltree/ltree_gist.c index 5324c65f59..2d89f1aed4 100644 --- a/contrib/ltree/ltree_gist.c +++ b/contrib/ltree/ltree_gist.c @@ -13,10 +13,7 @@ #define NEXTVAL(x) ( (lquery*)( (char*)(x) + INTALIGN( VARSIZE(x) ) ) ) PG_FUNCTION_INFO_V1(ltree_gist_in); -Datum ltree_gist_in(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(ltree_gist_out); -Datum ltree_gist_out(PG_FUNCTION_ARGS); Datum ltree_gist_in(PG_FUNCTION_ARGS) @@ -37,25 +34,12 @@ ltree_gist_out(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(ltree_compress); -Datum ltree_compress(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(ltree_decompress); -Datum ltree_decompress(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(ltree_same); -Datum ltree_same(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(ltree_union); -Datum ltree_union(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(ltree_penalty); -Datum ltree_penalty(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(ltree_picksplit); -Datum ltree_picksplit(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(ltree_consistent); -Datum ltree_consistent(PG_FUNCTION_ARGS); #define ISEQ(a,b) ( (a)->numlevel == (b)->numlevel && ltree_compare(a,b)==0 ) #define GETENTRY(vec,pos) ((ltree_gist *) DatumGetPointer((vec)->vector[(pos)].key)) diff --git a/contrib/ltree/ltree_io.c b/contrib/ltree/ltree_io.c index d64debb5f4..a1d4a0d38f 100644 --- a/contrib/ltree/ltree_io.c +++ b/contrib/ltree/ltree_io.c @@ -12,16 +12,9 @@ #include "crc32.h" PG_FUNCTION_INFO_V1(ltree_in); -Datum ltree_in(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(ltree_out); -Datum ltree_out(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(lquery_in); -Datum lquery_in(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(lquery_out); -Datum lquery_out(PG_FUNCTION_ARGS); #define UNCHAR ereport(ERROR, \ diff --git a/contrib/ltree/ltree_op.c b/contrib/ltree/ltree_op.c index 25b6db1b1a..992106f05a 100644 --- a/contrib/ltree/ltree_op.c +++ b/contrib/ltree/ltree_op.c @@ -38,25 +38,6 @@ PG_FUNCTION_INFO_V1(ltree2text); PG_FUNCTION_INFO_V1(text2ltree); PG_FUNCTION_INFO_V1(ltreeparentsel); -Datum ltree_cmp(PG_FUNCTION_ARGS); -Datum ltree_lt(PG_FUNCTION_ARGS); -Datum ltree_le(PG_FUNCTION_ARGS); -Datum ltree_eq(PG_FUNCTION_ARGS); -Datum ltree_ne(PG_FUNCTION_ARGS); -Datum ltree_ge(PG_FUNCTION_ARGS); -Datum ltree_gt(PG_FUNCTION_ARGS); -Datum nlevel(PG_FUNCTION_ARGS); -Datum subltree(PG_FUNCTION_ARGS); -Datum subpath(PG_FUNCTION_ARGS); -Datum ltree_index(PG_FUNCTION_ARGS); -Datum ltree_addltree(PG_FUNCTION_ARGS); -Datum ltree_addtext(PG_FUNCTION_ARGS); -Datum ltree_textadd(PG_FUNCTION_ARGS); -Datum lca(PG_FUNCTION_ARGS); -Datum ltree2text(PG_FUNCTION_ARGS); -Datum text2ltree(PG_FUNCTION_ARGS); -Datum ltreeparentsel(PG_FUNCTION_ARGS); - int ltree_compare(const ltree *a, const ltree *b) { diff --git a/contrib/ltree/ltxtquery_io.c b/contrib/ltree/ltxtquery_io.c index 982186581a..ddc63d7b66 100644 --- a/contrib/ltree/ltxtquery_io.c +++ b/contrib/ltree/ltxtquery_io.c @@ -12,10 +12,7 @@ #include "miscadmin.h" PG_FUNCTION_INFO_V1(ltxtq_in); -Datum ltxtq_in(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(ltxtq_out); -Datum ltxtq_out(PG_FUNCTION_ARGS); /* parser's states */ diff --git a/contrib/pageinspect/btreefuncs.c b/contrib/pageinspect/btreefuncs.c index e3f3c2818f..c1e83f301b 100644 --- a/contrib/pageinspect/btreefuncs.c +++ b/contrib/pageinspect/btreefuncs.c @@ -35,10 +35,6 @@ #include "utils/rel.h" -extern Datum bt_metap(PG_FUNCTION_ARGS); -extern Datum bt_page_items(PG_FUNCTION_ARGS); -extern Datum bt_page_stats(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(bt_metap); PG_FUNCTION_INFO_V1(bt_page_items); PG_FUNCTION_INFO_V1(bt_page_stats); diff --git a/contrib/pageinspect/fsmfuncs.c b/contrib/pageinspect/fsmfuncs.c index bdae0a58d9..8c1960445a 100644 --- a/contrib/pageinspect/fsmfuncs.c +++ b/contrib/pageinspect/fsmfuncs.c @@ -25,8 +25,6 @@ #include "storage/fsm_internals.h" #include "utils/builtins.h" -Datum fsm_page_contents(PG_FUNCTION_ARGS); - /* * Dumps the contents of a FSM page. */ diff --git a/contrib/pageinspect/heapfuncs.c b/contrib/pageinspect/heapfuncs.c index 5e532556e1..dedc8feaeb 100644 --- a/contrib/pageinspect/heapfuncs.c +++ b/contrib/pageinspect/heapfuncs.c @@ -30,8 +30,6 @@ #include "utils/builtins.h" #include "miscadmin.h" -Datum heap_page_items(PG_FUNCTION_ARGS); - /* * bits_to_text diff --git a/contrib/pageinspect/rawpage.c b/contrib/pageinspect/rawpage.c index f1e0944c0e..66c88b17af 100644 --- a/contrib/pageinspect/rawpage.c +++ b/contrib/pageinspect/rawpage.c @@ -28,10 +28,6 @@ PG_MODULE_MAGIC; -Datum get_raw_page(PG_FUNCTION_ARGS); -Datum get_raw_page_fork(PG_FUNCTION_ARGS); -Datum page_header(PG_FUNCTION_ARGS); - static bytea *get_raw_page_internal(text *relname, ForkNumber forknum, BlockNumber blkno); diff --git a/contrib/pg_buffercache/pg_buffercache_pages.c b/contrib/pg_buffercache/pg_buffercache_pages.c index 1e2d192f11..f39fe255db 100644 --- a/contrib/pg_buffercache/pg_buffercache_pages.c +++ b/contrib/pg_buffercache/pg_buffercache_pages.c @@ -19,8 +19,6 @@ PG_MODULE_MAGIC; -Datum pg_buffercache_pages(PG_FUNCTION_ARGS); - /* * Record structure holding the to be exposed cache data. diff --git a/contrib/pg_freespacemap/pg_freespacemap.c b/contrib/pg_freespacemap/pg_freespacemap.c index f6f7d2e743..7805345add 100644 --- a/contrib/pg_freespacemap/pg_freespacemap.c +++ b/contrib/pg_freespacemap/pg_freespacemap.c @@ -14,8 +14,6 @@ PG_MODULE_MAGIC; -Datum pg_freespace(PG_FUNCTION_ARGS); - /* * Returns the amount of free space on a given page, according to the * free space map. diff --git a/contrib/pg_prewarm/pg_prewarm.c b/contrib/pg_prewarm/pg_prewarm.c index f7e112a5e6..d50726d109 100644 --- a/contrib/pg_prewarm/pg_prewarm.c +++ b/contrib/pg_prewarm/pg_prewarm.c @@ -28,8 +28,6 @@ PG_MODULE_MAGIC; -extern Datum pg_prewarm(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(pg_prewarm); typedef enum diff --git a/contrib/pg_stat_statements/pg_stat_statements.c b/contrib/pg_stat_statements/pg_stat_statements.c index 0bd0d046c7..2ad3fb5886 100644 --- a/contrib/pg_stat_statements/pg_stat_statements.c +++ b/contrib/pg_stat_statements/pg_stat_statements.c @@ -273,10 +273,6 @@ static bool pgss_save; /* whether to save stats across shutdown */ void _PG_init(void); void _PG_fini(void); -Datum pg_stat_statements_reset(PG_FUNCTION_ARGS); -Datum pg_stat_statements_1_2(PG_FUNCTION_ARGS); -Datum pg_stat_statements(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(pg_stat_statements_reset); PG_FUNCTION_INFO_V1(pg_stat_statements_1_2); PG_FUNCTION_INFO_V1(pg_stat_statements); diff --git a/contrib/pg_trgm/trgm_gin.c b/contrib/pg_trgm/trgm_gin.c index 1fbbd9ca35..ac18c7b80f 100644 --- a/contrib/pg_trgm/trgm_gin.c +++ b/contrib/pg_trgm/trgm_gin.c @@ -10,16 +10,9 @@ PG_FUNCTION_INFO_V1(gin_extract_trgm); -Datum gin_extract_trgm(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(gin_extract_value_trgm); -Datum gin_extract_value_trgm(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(gin_extract_query_trgm); -Datum gin_extract_query_trgm(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(gin_trgm_consistent); -Datum gin_trgm_consistent(PG_FUNCTION_ARGS); /* * This function can only be called if a pre-9.1 version of the GIN operator diff --git a/contrib/pg_trgm/trgm_gist.c b/contrib/pg_trgm/trgm_gist.c index c572d0f90f..ede969f424 100644 --- a/contrib/pg_trgm/trgm_gist.c +++ b/contrib/pg_trgm/trgm_gist.c @@ -28,34 +28,15 @@ typedef struct PG_FUNCTION_INFO_V1(gtrgm_in); -Datum gtrgm_in(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(gtrgm_out); -Datum gtrgm_out(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(gtrgm_compress); -Datum gtrgm_compress(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(gtrgm_decompress); -Datum gtrgm_decompress(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(gtrgm_consistent); -Datum gtrgm_consistent(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(gtrgm_distance); -Datum gtrgm_distance(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(gtrgm_union); -Datum gtrgm_union(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(gtrgm_same); -Datum gtrgm_same(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(gtrgm_penalty); -Datum gtrgm_penalty(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(gtrgm_picksplit); -Datum gtrgm_picksplit(PG_FUNCTION_ARGS); /* Number of one-bits in an unsigned byte */ static const uint8 number_of_ones[256] = { diff --git a/contrib/pg_trgm/trgm_op.c b/contrib/pg_trgm/trgm_op.c index dadbeea94d..c385e09edd 100644 --- a/contrib/pg_trgm/trgm_op.c +++ b/contrib/pg_trgm/trgm_op.c @@ -17,22 +17,11 @@ PG_MODULE_MAGIC; float4 trgm_limit = 0.3f; PG_FUNCTION_INFO_V1(set_limit); -Datum set_limit(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(show_limit); -Datum show_limit(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(show_trgm); -Datum show_trgm(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(similarity); -Datum similarity(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(similarity_dist); -Datum similarity_dist(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(similarity_op); -Datum similarity_op(PG_FUNCTION_ARGS); Datum diff --git a/contrib/pg_upgrade_support/pg_upgrade_support.c b/contrib/pg_upgrade_support/pg_upgrade_support.c index 77a2c1f638..edd41d06ae 100644 --- a/contrib/pg_upgrade_support/pg_upgrade_support.c +++ b/contrib/pg_upgrade_support/pg_upgrade_support.c @@ -25,19 +25,6 @@ PG_MODULE_MAGIC; #endif -Datum set_next_pg_type_oid(PG_FUNCTION_ARGS); -Datum set_next_array_pg_type_oid(PG_FUNCTION_ARGS); -Datum set_next_toast_pg_type_oid(PG_FUNCTION_ARGS); - -Datum set_next_heap_pg_class_oid(PG_FUNCTION_ARGS); -Datum set_next_index_pg_class_oid(PG_FUNCTION_ARGS); -Datum set_next_toast_pg_class_oid(PG_FUNCTION_ARGS); - -Datum set_next_pg_enum_oid(PG_FUNCTION_ARGS); -Datum set_next_pg_authid_oid(PG_FUNCTION_ARGS); - -Datum create_empty_extension(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(set_next_pg_type_oid); PG_FUNCTION_INFO_V1(set_next_array_pg_type_oid); PG_FUNCTION_INFO_V1(set_next_toast_pg_type_oid); diff --git a/contrib/pgcrypto/pgp-pgsql.c b/contrib/pgcrypto/pgp-pgsql.c index 828f64a84b..fff59de2c8 100644 --- a/contrib/pgcrypto/pgp-pgsql.c +++ b/contrib/pgcrypto/pgp-pgsql.c @@ -41,23 +41,6 @@ /* * public functions */ -Datum pgp_sym_encrypt_text(PG_FUNCTION_ARGS); -Datum pgp_sym_encrypt_bytea(PG_FUNCTION_ARGS); -Datum pgp_sym_decrypt_text(PG_FUNCTION_ARGS); -Datum pgp_sym_decrypt_bytea(PG_FUNCTION_ARGS); - -Datum pgp_pub_encrypt_text(PG_FUNCTION_ARGS); -Datum pgp_pub_encrypt_bytea(PG_FUNCTION_ARGS); -Datum pgp_pub_decrypt_text(PG_FUNCTION_ARGS); -Datum pgp_pub_decrypt_bytea(PG_FUNCTION_ARGS); - -Datum pgp_key_id_w(PG_FUNCTION_ARGS); - -Datum pg_armor(PG_FUNCTION_ARGS); -Datum pg_dearmor(PG_FUNCTION_ARGS); - -/* function headers */ - PG_FUNCTION_INFO_V1(pgp_sym_encrypt_bytea); PG_FUNCTION_INFO_V1(pgp_sym_encrypt_text); PG_FUNCTION_INFO_V1(pgp_sym_decrypt_bytea); diff --git a/contrib/pgrowlocks/pgrowlocks.c b/contrib/pgrowlocks/pgrowlocks.c index 636ff05670..15d9704752 100644 --- a/contrib/pgrowlocks/pgrowlocks.c +++ b/contrib/pgrowlocks/pgrowlocks.c @@ -43,8 +43,6 @@ PG_MODULE_MAGIC; PG_FUNCTION_INFO_V1(pgrowlocks); -extern Datum pgrowlocks(PG_FUNCTION_ARGS); - /* ---------- * pgrowlocks: * returns tids of rows being locked diff --git a/contrib/pgstattuple/pgstatindex.c b/contrib/pgstattuple/pgstatindex.c index 8939b784db..f617d99d4d 100644 --- a/contrib/pgstattuple/pgstatindex.c +++ b/contrib/pgstattuple/pgstatindex.c @@ -47,12 +47,6 @@ * Those functions which have text-type input arg will be deprecated * in the future release. */ -extern Datum pgstatindex(PG_FUNCTION_ARGS); -extern Datum pgstatindexbyid(PG_FUNCTION_ARGS); -extern Datum pg_relpages(PG_FUNCTION_ARGS); -extern Datum pg_relpagesbyid(PG_FUNCTION_ARGS); -extern Datum pgstatginindex(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(pgstatindex); PG_FUNCTION_INFO_V1(pgstatindexbyid); PG_FUNCTION_INFO_V1(pg_relpages); diff --git a/contrib/pgstattuple/pgstattuple.c b/contrib/pgstattuple/pgstattuple.c index f9ba0a6c21..16b437babe 100644 --- a/contrib/pgstattuple/pgstattuple.c +++ b/contrib/pgstattuple/pgstattuple.c @@ -42,9 +42,6 @@ PG_MODULE_MAGIC; PG_FUNCTION_INFO_V1(pgstattuple); PG_FUNCTION_INFO_V1(pgstattuplebyid); -extern Datum pgstattuple(PG_FUNCTION_ARGS); -extern Datum pgstattuplebyid(PG_FUNCTION_ARGS); - /* * struct pgstattuple_type * diff --git a/contrib/postgres_fdw/option.c b/contrib/postgres_fdw/option.c index 8ba2be5ca6..6f98dfcb23 100644 --- a/contrib/postgres_fdw/option.c +++ b/contrib/postgres_fdw/option.c @@ -57,8 +57,6 @@ static bool is_libpq_option(const char *keyword); * * Raise an ERROR if the option or its value is considered invalid. */ -extern Datum postgres_fdw_validator(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(postgres_fdw_validator); Datum diff --git a/contrib/postgres_fdw/postgres_fdw.c b/contrib/postgres_fdw/postgres_fdw.c index d7c5fa2119..040e5867bf 100644 --- a/contrib/postgres_fdw/postgres_fdw.c +++ b/contrib/postgres_fdw/postgres_fdw.c @@ -228,8 +228,6 @@ typedef struct /* * SQL functions */ -extern Datum postgres_fdw_handler(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(postgres_fdw_handler); /* diff --git a/contrib/seg/seg.c b/contrib/seg/seg.c index 0cf9853060..0807e238f1 100644 --- a/contrib/seg/seg.c +++ b/contrib/seg/seg.c @@ -52,13 +52,6 @@ PG_FUNCTION_INFO_V1(seg_lower); PG_FUNCTION_INFO_V1(seg_upper); PG_FUNCTION_INFO_V1(seg_center); -Datum seg_in(PG_FUNCTION_ARGS); -Datum seg_out(PG_FUNCTION_ARGS); -Datum seg_size(PG_FUNCTION_ARGS); -Datum seg_lower(PG_FUNCTION_ARGS); -Datum seg_upper(PG_FUNCTION_ARGS); -Datum seg_center(PG_FUNCTION_ARGS); - /* ** GiST support methods */ diff --git a/contrib/spi/autoinc.c b/contrib/spi/autoinc.c index 54bbc4345c..41eae4fdc4 100644 --- a/contrib/spi/autoinc.c +++ b/contrib/spi/autoinc.c @@ -12,8 +12,6 @@ PG_MODULE_MAGIC; -extern Datum autoinc(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(autoinc); Datum diff --git a/contrib/spi/insert_username.c b/contrib/spi/insert_username.c index 3bc51c7f02..875207881a 100644 --- a/contrib/spi/insert_username.c +++ b/contrib/spi/insert_username.c @@ -17,8 +17,6 @@ PG_MODULE_MAGIC; -extern Datum insert_username(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(insert_username); Datum diff --git a/contrib/spi/moddatetime.c b/contrib/spi/moddatetime.c index 2ec9654036..c6d33b7355 100644 --- a/contrib/spi/moddatetime.c +++ b/contrib/spi/moddatetime.c @@ -23,8 +23,6 @@ OH, me, I'm Terry Mackintosh PG_MODULE_MAGIC; -extern Datum moddatetime(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(moddatetime); Datum diff --git a/contrib/spi/refint.c b/contrib/spi/refint.c index fbed300396..2602210741 100644 --- a/contrib/spi/refint.c +++ b/contrib/spi/refint.c @@ -16,10 +16,6 @@ PG_MODULE_MAGIC; -extern Datum check_primary_key(PG_FUNCTION_ARGS); -extern Datum check_foreign_key(PG_FUNCTION_ARGS); - - typedef struct { char *ident; diff --git a/contrib/spi/timetravel.c b/contrib/spi/timetravel.c index fa74daba94..a97eaa148f 100644 --- a/contrib/spi/timetravel.c +++ b/contrib/spi/timetravel.c @@ -22,9 +22,6 @@ PG_MODULE_MAGIC; /* AbsoluteTime currabstime(void); */ -Datum timetravel(PG_FUNCTION_ARGS); -Datum set_timetravel(PG_FUNCTION_ARGS); -Datum get_timetravel(PG_FUNCTION_ARGS); typedef struct { diff --git a/contrib/sslinfo/sslinfo.c b/contrib/sslinfo/sslinfo.c index 90c6b57c69..ac691574b4 100644 --- a/contrib/sslinfo/sslinfo.c +++ b/contrib/sslinfo/sslinfo.c @@ -22,16 +22,6 @@ PG_MODULE_MAGIC; -Datum ssl_is_used(PG_FUNCTION_ARGS); -Datum ssl_version(PG_FUNCTION_ARGS); -Datum ssl_cipher(PG_FUNCTION_ARGS); -Datum ssl_client_cert_present(PG_FUNCTION_ARGS); -Datum ssl_client_serial(PG_FUNCTION_ARGS); -Datum ssl_client_dn_field(PG_FUNCTION_ARGS); -Datum ssl_issuer_field(PG_FUNCTION_ARGS); -Datum ssl_client_dn(PG_FUNCTION_ARGS); -Datum ssl_issuer_dn(PG_FUNCTION_ARGS); - static Datum X509_NAME_field_to_text(X509_NAME *name, text *fieldName); static Datum X509_NAME_to_text(X509_NAME *name); static Datum ASN1_STRING_to_text(ASN1_STRING *str); diff --git a/contrib/tcn/tcn.c b/contrib/tcn/tcn.c index 701ae824ae..b4720969d1 100644 --- a/contrib/tcn/tcn.c +++ b/contrib/tcn/tcn.c @@ -27,10 +27,6 @@ PG_MODULE_MAGIC; -/* forward declarations */ -Datum triggered_change_notification(PG_FUNCTION_ARGS); - - /* * Copy from s (for source) to r (for result), wrapping with q (quote) * characters and doubling any quote characters found. diff --git a/contrib/test_parser/test_parser.c b/contrib/test_parser/test_parser.c index 932d9248a3..c41d1eb201 100644 --- a/contrib/test_parser/test_parser.c +++ b/contrib/test_parser/test_parser.c @@ -38,23 +38,13 @@ typedef struct } LexDescr; /* - * prototypes + * functions */ PG_FUNCTION_INFO_V1(testprs_start); -Datum testprs_start(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(testprs_getlexeme); -Datum testprs_getlexeme(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(testprs_end); -Datum testprs_end(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(testprs_lextype); -Datum testprs_lextype(PG_FUNCTION_ARGS); -/* - * functions - */ Datum testprs_start(PG_FUNCTION_ARGS) { diff --git a/contrib/test_shm_mq/test.c b/contrib/test_shm_mq/test.c index 5ff1e9a63f..1832e1d1db 100644 --- a/contrib/test_shm_mq/test.c +++ b/contrib/test_shm_mq/test.c @@ -23,8 +23,6 @@ PG_FUNCTION_INFO_V1(test_shm_mq); PG_FUNCTION_INFO_V1(test_shm_mq_pipelined); void _PG_init(void); -Datum test_shm_mq(PG_FUNCTION_ARGS); -Datum test_shm_mq_pipelined(PG_FUNCTION_ARGS); static void verify_message(Size origlen, char *origdata, Size newlen, char *newdata); diff --git a/contrib/tsearch2/tsearch2.c b/contrib/tsearch2/tsearch2.c index e508b43bc4..bd30d87515 100644 --- a/contrib/tsearch2/tsearch2.c +++ b/contrib/tsearch2/tsearch2.c @@ -45,7 +45,7 @@ static Oid current_parser_oid = InvalidOid; CStringGetDatum(text_to_cstring(text)))) #define UNSUPPORTED_FUNCTION(name) \ - Datum name(PG_FUNCTION_ARGS); \ + PG_FUNCTION_INFO_V1(name); \ Datum \ name(PG_FUNCTION_ARGS) \ { \ @@ -57,30 +57,11 @@ static Oid current_parser_oid = InvalidOid; /* keep compiler quiet */ \ PG_RETURN_NULL(); \ } \ - PG_FUNCTION_INFO_V1(name) + extern int no_such_variable static Oid GetCurrentDict(void); static Oid GetCurrentParser(void); -Datum tsa_lexize_byname(PG_FUNCTION_ARGS); -Datum tsa_lexize_bycurrent(PG_FUNCTION_ARGS); -Datum tsa_set_curdict(PG_FUNCTION_ARGS); -Datum tsa_set_curdict_byname(PG_FUNCTION_ARGS); -Datum tsa_token_type_current(PG_FUNCTION_ARGS); -Datum tsa_set_curprs(PG_FUNCTION_ARGS); -Datum tsa_set_curprs_byname(PG_FUNCTION_ARGS); -Datum tsa_parse_current(PG_FUNCTION_ARGS); -Datum tsa_set_curcfg(PG_FUNCTION_ARGS); -Datum tsa_set_curcfg_byname(PG_FUNCTION_ARGS); -Datum tsa_to_tsvector_name(PG_FUNCTION_ARGS); -Datum tsa_to_tsquery_name(PG_FUNCTION_ARGS); -Datum tsa_plainto_tsquery_name(PG_FUNCTION_ARGS); -Datum tsa_headline_byname(PG_FUNCTION_ARGS); -Datum tsa_ts_stat(PG_FUNCTION_ARGS); -Datum tsa_tsearch2(PG_FUNCTION_ARGS); -Datum tsa_rewrite_accum(PG_FUNCTION_ARGS); -Datum tsa_rewrite_finish(PG_FUNCTION_ARGS); - PG_FUNCTION_INFO_V1(tsa_lexize_byname); PG_FUNCTION_INFO_V1(tsa_lexize_bycurrent); PG_FUNCTION_INFO_V1(tsa_set_curdict); diff --git a/contrib/unaccent/unaccent.c b/contrib/unaccent/unaccent.c index 10cc1e36f1..a337df61af 100644 --- a/contrib/unaccent/unaccent.c +++ b/contrib/unaccent/unaccent.c @@ -216,7 +216,6 @@ findReplaceTo(TrieChar *node, unsigned char *src, int srclen) } PG_FUNCTION_INFO_V1(unaccent_init); -Datum unaccent_init(PG_FUNCTION_ARGS); Datum unaccent_init(PG_FUNCTION_ARGS) { @@ -258,7 +257,6 @@ unaccent_init(PG_FUNCTION_ARGS) } PG_FUNCTION_INFO_V1(unaccent_lexize); -Datum unaccent_lexize(PG_FUNCTION_ARGS); Datum unaccent_lexize(PG_FUNCTION_ARGS) { @@ -313,7 +311,6 @@ unaccent_lexize(PG_FUNCTION_ARGS) * Function-like wrapper for dictionary */ PG_FUNCTION_INFO_V1(unaccent_dict); -Datum unaccent_dict(PG_FUNCTION_ARGS); Datum unaccent_dict(PG_FUNCTION_ARGS) { diff --git a/contrib/uuid-ossp/uuid-ossp.c b/contrib/uuid-ossp/uuid-ossp.c index 8e80c24f1b..8f99084df3 100644 --- a/contrib/uuid-ossp/uuid-ossp.c +++ b/contrib/uuid-ossp/uuid-ossp.c @@ -39,19 +39,6 @@ PG_MODULE_MAGIC; -Datum uuid_nil(PG_FUNCTION_ARGS); -Datum uuid_ns_dns(PG_FUNCTION_ARGS); -Datum uuid_ns_url(PG_FUNCTION_ARGS); -Datum uuid_ns_oid(PG_FUNCTION_ARGS); -Datum uuid_ns_x500(PG_FUNCTION_ARGS); - -Datum uuid_generate_v1(PG_FUNCTION_ARGS); -Datum uuid_generate_v1mc(PG_FUNCTION_ARGS); -Datum uuid_generate_v3(PG_FUNCTION_ARGS); -Datum uuid_generate_v4(PG_FUNCTION_ARGS); -Datum uuid_generate_v5(PG_FUNCTION_ARGS); - - PG_FUNCTION_INFO_V1(uuid_nil); PG_FUNCTION_INFO_V1(uuid_ns_dns); PG_FUNCTION_INFO_V1(uuid_ns_url); diff --git a/contrib/worker_spi/worker_spi.c b/contrib/worker_spi/worker_spi.c index 560be21814..a01385354f 100644 --- a/contrib/worker_spi/worker_spi.c +++ b/contrib/worker_spi/worker_spi.c @@ -47,7 +47,6 @@ PG_FUNCTION_INFO_V1(worker_spi_launch); void _PG_init(void); void worker_spi_main(Datum); -Datum worker_spi_launch(PG_FUNCTION_ARGS); /* flags set by signal handlers */ static volatile sig_atomic_t got_sighup = false; diff --git a/contrib/xml2/xpath.c b/contrib/xml2/xpath.c index 41cb98d139..156ed2f493 100644 --- a/contrib/xml2/xpath.c +++ b/contrib/xml2/xpath.c @@ -26,17 +26,6 @@ PG_MODULE_MAGIC; -/* externally accessible functions */ - -Datum xml_is_well_formed(PG_FUNCTION_ARGS); -Datum xml_encode_special_chars(PG_FUNCTION_ARGS); -Datum xpath_nodeset(PG_FUNCTION_ARGS); -Datum xpath_string(PG_FUNCTION_ARGS); -Datum xpath_number(PG_FUNCTION_ARGS); -Datum xpath_bool(PG_FUNCTION_ARGS); -Datum xpath_list(PG_FUNCTION_ARGS); -Datum xpath_table(PG_FUNCTION_ARGS); - /* exported for use by xslt_proc.c */ PgXmlErrorContext *pgxml_parser_init(PgXmlStrictness strictness); diff --git a/contrib/xml2/xslt_proc.c b/contrib/xml2/xslt_proc.c index 2f24b39bcc..9f13787332 100644 --- a/contrib/xml2/xslt_proc.c +++ b/contrib/xml2/xslt_proc.c @@ -32,10 +32,6 @@ #endif /* USE_LIBXSLT */ -/* externally accessible functions */ - -Datum xslt_process(PG_FUNCTION_ARGS); - #ifdef USE_LIBXSLT /* declarations to come from xpath.c */ diff --git a/src/include/fmgr.h b/src/include/fmgr.h index aed81cdc26..494c768826 100644 --- a/src/include/fmgr.h +++ b/src/include/fmgr.h @@ -348,6 +348,7 @@ typedef const Pg_finfo_record *(*PGFInfoFunction) (void); * doesn't hurt to add PGDLLIMPORT in case they don't. */ #define PG_FUNCTION_INFO_V1(funcname) \ +Datum funcname(PG_FUNCTION_ARGS); \ extern PGDLLEXPORT const Pg_finfo_record * CppConcat(pg_finfo_,funcname)(void); \ const Pg_finfo_record * \ CppConcat(pg_finfo_,funcname) (void) \ diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c index 5fff63558f..ffdf634f55 100644 --- a/src/pl/plperl/plperl.c +++ b/src/pl/plperl/plperl.c @@ -240,12 +240,6 @@ static plperl_call_data *current_call_data = NULL; /********************************************************************** * Forward declarations **********************************************************************/ -Datum plperl_call_handler(PG_FUNCTION_ARGS); -Datum plperl_inline_handler(PG_FUNCTION_ARGS); -Datum plperl_validator(PG_FUNCTION_ARGS); -Datum plperlu_call_handler(PG_FUNCTION_ARGS); -Datum plperlu_inline_handler(PG_FUNCTION_ARGS); -Datum plperlu_validator(PG_FUNCTION_ARGS); void _PG_init(void); static PerlInterpreter *plperl_init_interp(void); diff --git a/src/pl/plpgsql/src/plpgsql.h b/src/pl/plpgsql/src/plpgsql.h index 41fc9407a2..b4d1498e43 100644 --- a/src/pl/plpgsql/src/plpgsql.h +++ b/src/pl/plpgsql/src/plpgsql.h @@ -950,9 +950,6 @@ extern void plpgsql_HashTableInit(void); * ---------- */ extern void _PG_init(void); -extern Datum plpgsql_call_handler(PG_FUNCTION_ARGS); -extern Datum plpgsql_inline_handler(PG_FUNCTION_ARGS); -extern Datum plpgsql_validator(PG_FUNCTION_ARGS); /* ---------- * Functions in pl_exec.c diff --git a/src/pl/plpython/plpy_main.c b/src/pl/plpython/plpy_main.c index 4438721589..5f03efa4fb 100644 --- a/src/pl/plpython/plpy_main.c +++ b/src/pl/plpython/plpy_main.c @@ -40,16 +40,6 @@ #endif extern void _PG_init(void); -extern Datum plpython_validator(PG_FUNCTION_ARGS); -extern Datum plpython_call_handler(PG_FUNCTION_ARGS); -extern Datum plpython_inline_handler(PG_FUNCTION_ARGS); - -#if PY_MAJOR_VERSION < 3 -/* Define aliases plpython2_call_handler etc */ -extern Datum plpython2_validator(PG_FUNCTION_ARGS); -extern Datum plpython2_call_handler(PG_FUNCTION_ARGS); -extern Datum plpython2_inline_handler(PG_FUNCTION_ARGS); -#endif PG_MODULE_MAGIC; @@ -58,6 +48,7 @@ PG_FUNCTION_INFO_V1(plpython_call_handler); PG_FUNCTION_INFO_V1(plpython_inline_handler); #if PY_MAJOR_VERSION < 3 +/* Define aliases plpython2_call_handler etc */ PG_FUNCTION_INFO_V1(plpython2_validator); PG_FUNCTION_INFO_V1(plpython2_call_handler); PG_FUNCTION_INFO_V1(plpython2_inline_handler); diff --git a/src/pl/tcl/pltcl.c b/src/pl/tcl/pltcl.c index 2d862a6b05..8c18d5ea20 100644 --- a/src/pl/tcl/pltcl.c +++ b/src/pl/tcl/pltcl.c @@ -192,8 +192,6 @@ static pltcl_proc_desc *pltcl_current_prodesc = NULL; /********************************************************************** * Forward declarations **********************************************************************/ -Datum pltcl_call_handler(PG_FUNCTION_ARGS); -Datum pltclu_call_handler(PG_FUNCTION_ARGS); void _PG_init(void); static void pltcl_init_interp(pltcl_interp_desc *interp_desc, bool pltrusted); diff --git a/src/test/regress/regress.c b/src/test/regress/regress.c index 4dbe314557..c25bf6e09d 100644 --- a/src/test/regress/regress.c +++ b/src/test/regress/regress.c @@ -28,18 +28,10 @@ #define RDELIM ')' #define DELIM ',' -extern Datum regress_dist_ptpath(PG_FUNCTION_ARGS); -extern Datum regress_path_dist(PG_FUNCTION_ARGS); extern PATH *poly2path(POLYGON *poly); -extern Datum interpt_pp(PG_FUNCTION_ARGS); extern void regress_lseg_construct(LSEG *lseg, Point *pt1, Point *pt2); -extern Datum overpaid(PG_FUNCTION_ARGS); -extern Datum boxarea(PG_FUNCTION_ARGS); extern char *reverse_name(char *string); extern int oldstyle_length(int n, text *t); -extern Datum int44in(PG_FUNCTION_ARGS); -extern Datum int44out(PG_FUNCTION_ARGS); -extern Datum make_tuple_indirect(PG_FUNCTION_ARGS); #ifdef PG_MODULE_MAGIC PG_MODULE_MAGIC; @@ -236,7 +228,6 @@ typedef struct WIDGET *widget_in(char *str); char *widget_out(WIDGET * widget); -extern Datum pt_in_widget(PG_FUNCTION_ARGS); #define NARGS 3 @@ -341,7 +332,6 @@ static int fd17b_level = 0; static int fd17a_level = 0; static bool fd17b_recursion = true; static bool fd17a_recursion = true; -extern Datum funny_dup17(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(funny_dup17); @@ -453,9 +443,6 @@ funny_dup17(PG_FUNCTION_ARGS) return PointerGetDatum(tuple); } -extern Datum ttdummy(PG_FUNCTION_ARGS); -extern Datum set_ttdummy(PG_FUNCTION_ARGS); - #define TTDUMMY_INFINITY 999999 static SPIPlanPtr splan = NULL;