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);
#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) \
{ \
#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) \
{ \
*/
#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) \
{ \
PG_FUNCTION_INFO_V1(gin_btree_consistent);
-Datum gin_btree_consistent(PG_FUNCTION_ARGS);
Datum
gin_btree_consistent(PG_FUNCTION_ARGS)
{
#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)
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 */
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 */
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)
{
PG_FUNCTION_INFO_V1(cash_dist);
-Datum cash_dist(PG_FUNCTION_ARGS);
Datum
cash_dist(PG_FUNCTION_ARGS)
{
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)
{
PG_FUNCTION_INFO_V1(date_dist);
-Datum date_dist(PG_FUNCTION_ARGS);
Datum
date_dist(PG_FUNCTION_ARGS)
{
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)
{
PG_FUNCTION_INFO_V1(float4_dist);
-Datum float4_dist(PG_FUNCTION_ARGS);
Datum
float4_dist(PG_FUNCTION_ARGS)
{
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)
PG_FUNCTION_INFO_V1(float8_dist);
-Datum float8_dist(PG_FUNCTION_ARGS);
Datum
float8_dist(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(gbtreekey_in);
PG_FUNCTION_INFO_V1(gbtreekey_out);
-Datum gbt_decompress(PG_FUNCTION_ARGS);
-
/**************************************************
* In/Out for keys
**************************************************/
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)
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)
{
PG_FUNCTION_INFO_V1(int2_dist);
-Datum int2_dist(PG_FUNCTION_ARGS);
Datum
int2_dist(PG_FUNCTION_ARGS)
{
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)
PG_FUNCTION_INFO_V1(int4_dist);
-Datum int4_dist(PG_FUNCTION_ARGS);
Datum
int4_dist(PG_FUNCTION_ARGS)
{
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)
PG_FUNCTION_INFO_V1(int8_dist);
-Datum int8_dist(PG_FUNCTION_ARGS);
Datum
int8_dist(PG_FUNCTION_ARGS)
{
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)
}
PG_FUNCTION_INFO_V1(interval_dist);
-Datum interval_dist(PG_FUNCTION_ARGS);
Datum
interval_dist(PG_FUNCTION_ARGS)
{
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)
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 */
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)
PG_FUNCTION_INFO_V1(oid_dist);
-Datum oid_dist(PG_FUNCTION_ARGS);
Datum
oid_dist(PG_FUNCTION_ARGS)
{
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 */
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)
PG_FUNCTION_INFO_V1(time_dist);
-Datum time_dist(PG_FUNCTION_ARGS);
Datum
time_dist(PG_FUNCTION_ARGS)
{
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)
PG_FUNCTION_INFO_V1(ts_dist);
-Datum ts_dist(PG_FUNCTION_ARGS);
Datum
ts_dist(PG_FUNCTION_ARGS)
{
}
PG_FUNCTION_INFO_V1(tstz_dist);
-Datum tstz_dist(PG_FUNCTION_ARGS);
Datum
tstz_dist(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(gbt_var_decompress);
-Datum gbt_var_decompress(PG_FUNCTION_ARGS);
Datum
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 */
*/
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);
/*
* =================
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
*/
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
*/
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
*/
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
*/
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
*/
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)
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)
#ifdef USE_FLOAT8_BYVAL
-Datum geo_distance(PG_FUNCTION_ARGS);
-
PG_FUNCTION_INFO_V1(geo_distance);
Datum
/*
* 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);
#include <stdarg.h>
#include <assert.h>
-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 **);
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
*/
#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
PG_FUNCTION_INFO_V1(hstore_version_diag);
-Datum hstore_version_diag(PG_FUNCTION_ARGS);
Datum
hstore_version_diag(PG_FUNCTION_ARGS)
{
#define NULLFLAG 'N'
PG_FUNCTION_INFO_V1(gin_extract_hstore);
-Datum gin_extract_hstore(PG_FUNCTION_ARGS);
/* Build an indexable text value */
static text *
}
PG_FUNCTION_INFO_V1(gin_extract_hstore_query);
-Datum gin_extract_hstore_query(PG_FUNCTION_ARGS);
Datum
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)
#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
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)
{
PG_FUNCTION_INFO_V1(hstore_in);
-Datum hstore_in(PG_FUNCTION_ARGS);
Datum
hstore_in(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(hstore_recv);
-Datum hstore_recv(PG_FUNCTION_ARGS);
Datum
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)
{
PG_FUNCTION_INFO_V1(hstore_from_arrays);
-Datum hstore_from_arrays(PG_FUNCTION_ARGS);
Datum
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)
{
} RecordIOData;
PG_FUNCTION_INFO_V1(hstore_from_record);
-Datum hstore_from_record(PG_FUNCTION_ARGS);
Datum
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)
{
}
PG_FUNCTION_INFO_V1(hstore_out);
-Datum hstore_out(PG_FUNCTION_ARGS);
Datum
hstore_out(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(hstore_send);
-Datum hstore_send(PG_FUNCTION_ARGS);
Datum
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)
{
}
PG_FUNCTION_INFO_V1(hstore_to_json);
-Datum hstore_to_json(PG_FUNCTION_ARGS);
Datum
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)
{
}
PG_FUNCTION_INFO_V1(hstore_to_jsonb_loose);
-Datum hstore_to_jsonb_loose(PG_FUNCTION_ARGS);
Datum
hstore_to_jsonb_loose(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(hstore_fetchval);
-Datum hstore_fetchval(PG_FUNCTION_ARGS);
Datum
hstore_fetchval(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(hstore_exists);
-Datum hstore_exists(PG_FUNCTION_ARGS);
Datum
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)
{
PG_FUNCTION_INFO_V1(hstore_exists_all);
-Datum hstore_exists_all(PG_FUNCTION_ARGS);
Datum
hstore_exists_all(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(hstore_defined);
-Datum hstore_defined(PG_FUNCTION_ARGS);
Datum
hstore_defined(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(hstore_delete);
-Datum hstore_delete(PG_FUNCTION_ARGS);
Datum
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)
{
PG_FUNCTION_INFO_V1(hstore_delete_hstore);
-Datum hstore_delete_hstore(PG_FUNCTION_ARGS);
Datum
hstore_delete_hstore(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(hstore_concat);
-Datum hstore_concat(PG_FUNCTION_ARGS);
Datum
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)
{
PG_FUNCTION_INFO_V1(hstore_slice_to_hstore);
-Datum hstore_slice_to_hstore(PG_FUNCTION_ARGS);
Datum
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)
{
PG_FUNCTION_INFO_V1(hstore_avals);
-Datum hstore_avals(PG_FUNCTION_ARGS);
Datum
hstore_avals(PG_FUNCTION_ARGS)
{
}
PG_FUNCTION_INFO_V1(hstore_to_array);
-Datum hstore_to_array(PG_FUNCTION_ARGS);
Datum
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)
{
PG_FUNCTION_INFO_V1(hstore_skeys);
-Datum hstore_skeys(PG_FUNCTION_ARGS);
Datum
hstore_skeys(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(hstore_svals);
-Datum hstore_svals(PG_FUNCTION_ARGS);
Datum
hstore_svals(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(hstore_contains);
-Datum hstore_contains(PG_FUNCTION_ARGS);
Datum
hstore_contains(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(hstore_contained);
-Datum hstore_contained(PG_FUNCTION_ARGS);
Datum
hstore_contained(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(hstore_each);
-Datum hstore_each(PG_FUNCTION_ARGS);
Datum
hstore_each(PG_FUNCTION_ARGS)
{
*/
PG_FUNCTION_INFO_V1(hstore_cmp);
-Datum hstore_cmp(PG_FUNCTION_ARGS);
Datum
hstore_cmp(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(hstore_eq);
-Datum hstore_eq(PG_FUNCTION_ARGS);
Datum
hstore_eq(PG_FUNCTION_ARGS)
{
}
PG_FUNCTION_INFO_V1(hstore_ne);
-Datum hstore_ne(PG_FUNCTION_ARGS);
Datum
hstore_ne(PG_FUNCTION_ARGS)
{
}
PG_FUNCTION_INFO_V1(hstore_gt);
-Datum hstore_gt(PG_FUNCTION_ARGS);
Datum
hstore_gt(PG_FUNCTION_ARGS)
{
}
PG_FUNCTION_INFO_V1(hstore_ge);
-Datum hstore_ge(PG_FUNCTION_ARGS);
Datum
hstore_ge(PG_FUNCTION_ARGS)
{
}
PG_FUNCTION_INFO_V1(hstore_lt);
-Datum hstore_lt(PG_FUNCTION_ARGS);
Datum
hstore_lt(PG_FUNCTION_ARGS)
{
}
PG_FUNCTION_INFO_V1(hstore_le);
-Datum hstore_le(PG_FUNCTION_ARGS);
Datum
hstore_le(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(hstore_hash);
-Datum hstore_hash(PG_FUNCTION_ARGS);
Datum
hstore_hash(PG_FUNCTION_ARGS)
{
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 */
#include "_int.h"
PG_FUNCTION_INFO_V1(ginint4_queryextract);
-Datum ginint4_queryextract(PG_FUNCTION_ARGS);
Datum
ginint4_queryextract(PG_FUNCTION_ARGS)
}
PG_FUNCTION_INFO_V1(ginint4_consistent);
-Datum ginint4_consistent(PG_FUNCTION_ARGS);
Datum
ginint4_consistent(PG_FUNCTION_ARGS)
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
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)
{
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)
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,
};
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)
#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
*/
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) ) ) )
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);
#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)
}
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))
#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, \
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)
{
#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 */
#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);
#include "storage/fsm_internals.h"
#include "utils/builtins.h"
-Datum fsm_page_contents(PG_FUNCTION_ARGS);
-
/*
* Dumps the contents of a FSM page.
*/
#include "utils/builtins.h"
#include "miscadmin.h"
-Datum heap_page_items(PG_FUNCTION_ARGS);
-
/*
* bits_to_text
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);
PG_MODULE_MAGIC;
-Datum pg_buffercache_pages(PG_FUNCTION_ARGS);
-
/*
* Record structure holding the to be exposed cache data.
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.
PG_MODULE_MAGIC;
-extern Datum pg_prewarm(PG_FUNCTION_ARGS);
-
PG_FUNCTION_INFO_V1(pg_prewarm);
typedef enum
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);
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
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] = {
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
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);
/*
* 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);
PG_FUNCTION_INFO_V1(pgrowlocks);
-extern Datum pgrowlocks(PG_FUNCTION_ARGS);
-
/* ----------
* pgrowlocks:
* returns tids of rows being locked
* 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);
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
*
*
* 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
/*
* SQL functions
*/
-extern Datum postgres_fdw_handler(PG_FUNCTION_ARGS);
-
PG_FUNCTION_INFO_V1(postgres_fdw_handler);
/*
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
*/
PG_MODULE_MAGIC;
-extern Datum autoinc(PG_FUNCTION_ARGS);
-
PG_FUNCTION_INFO_V1(autoinc);
Datum
PG_MODULE_MAGIC;
-extern Datum insert_username(PG_FUNCTION_ARGS);
-
PG_FUNCTION_INFO_V1(insert_username);
Datum
PG_MODULE_MAGIC;
-extern Datum moddatetime(PG_FUNCTION_ARGS);
-
PG_FUNCTION_INFO_V1(moddatetime);
Datum
PG_MODULE_MAGIC;
-extern Datum check_primary_key(PG_FUNCTION_ARGS);
-extern Datum check_foreign_key(PG_FUNCTION_ARGS);
-
-
typedef struct
{
char *ident;
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
{
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);
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.
} 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)
{
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);
CStringGetDatum(text_to_cstring(text))))
#define UNSUPPORTED_FUNCTION(name) \
- Datum name(PG_FUNCTION_ARGS); \
+ PG_FUNCTION_INFO_V1(name); \
Datum \
name(PG_FUNCTION_ARGS) \
{ \
/* 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);
}
PG_FUNCTION_INFO_V1(unaccent_init);
-Datum unaccent_init(PG_FUNCTION_ARGS);
Datum
unaccent_init(PG_FUNCTION_ARGS)
{
}
PG_FUNCTION_INFO_V1(unaccent_lexize);
-Datum unaccent_lexize(PG_FUNCTION_ARGS);
Datum
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)
{
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);
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;
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);
#endif /* USE_LIBXSLT */
-/* externally accessible functions */
-
-Datum xslt_process(PG_FUNCTION_ARGS);
-
#ifdef USE_LIBXSLT
/* declarations to come from xpath.c */
* 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) \
/**********************************************************************
* 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);
* ----------
*/
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
#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;
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);
/**********************************************************************
* 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);
#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;
WIDGET *widget_in(char *str);
char *widget_out(WIDGET * widget);
-extern Datum pt_in_widget(PG_FUNCTION_ARGS);
#define NARGS 3
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);
return PointerGetDatum(tuple);
}
-extern Datum ttdummy(PG_FUNCTION_ARGS);
-extern Datum set_ttdummy(PG_FUNCTION_ARGS);
-
#define TTDUMMY_INFINITY 999999
static SPIPlanPtr splan = NULL;