PG_FUNCTION_INFO_V1(hstore_to_plperl);
-Datum hstore_to_plperl(PG_FUNCTION_ARGS);
Datum
hstore_to_plperl(PG_FUNCTION_ARGS)
PG_FUNCTION_INFO_V1(plperl_to_hstore);
-Datum plperl_to_hstore(PG_FUNCTION_ARGS);
Datum
plperl_to_hstore(PG_FUNCTION_ARGS)
PG_FUNCTION_INFO_V1(hstore_to_plpython);
-Datum hstore_to_plpython(PG_FUNCTION_ARGS);
Datum
hstore_to_plpython(PG_FUNCTION_ARGS)
PG_FUNCTION_INFO_V1(plpython_to_hstore);
-Datum plpython_to_hstore(PG_FUNCTION_ARGS);
Datum
plpython_to_hstore(PG_FUNCTION_ARGS)
PG_FUNCTION_INFO_V1(ltree_to_plpython);
-Datum ltree_to_plpython(PG_FUNCTION_ARGS);
Datum
ltree_to_plpython(PG_FUNCTION_ARGS)
void _PG_init(void);
-/* Prototypes for functions used with event triggers */
-Datum pg_audit_ddl_command_end(PG_FUNCTION_ARGS);
-Datum pg_audit_sql_drop(PG_FUNCTION_ARGS);
-
PG_FUNCTION_INFO_V1(pg_audit_ddl_command_end);
PG_FUNCTION_INFO_V1(pg_audit_sql_drop);
PG_MODULE_MAGIC;
-Datum noddl(PG_FUNCTION_ARGS);
-
PG_FUNCTION_INFO_V1(noddl);
Datum
And the matching code in the C module could then follow this skeleton:
<programlisting>
-Datum my_consistent(PG_FUNCTION_ARGS);
PG_FUNCTION_INFO_V1(my_consistent);
Datum
And the matching code in the C module could then follow this skeleton:
<programlisting>
-Datum my_union(PG_FUNCTION_ARGS);
PG_FUNCTION_INFO_V1(my_union);
Datum
And the matching code in the C module could then follow this skeleton:
<programlisting>
-Datum my_compress(PG_FUNCTION_ARGS);
PG_FUNCTION_INFO_V1(my_compress);
Datum
And the matching code in the C module could then follow this skeleton:
<programlisting>
-Datum my_decompress(PG_FUNCTION_ARGS);
PG_FUNCTION_INFO_V1(my_decompress);
Datum
And the matching code in the C module could then follow this skeleton:
<programlisting>
-Datum my_penalty(PG_FUNCTION_ARGS);
PG_FUNCTION_INFO_V1(my_penalty);
Datum
And the matching code in the C module could then follow this skeleton:
<programlisting>
-Datum my_picksplit(PG_FUNCTION_ARGS);
PG_FUNCTION_INFO_V1(my_picksplit);
Datum
And the matching code in the C module could then follow this skeleton:
<programlisting>
-Datum my_same(PG_FUNCTION_ARGS);
PG_FUNCTION_INFO_V1(my_same);
Datum
And the matching code in the C module could then follow this skeleton:
<programlisting>
-Datum my_distance(PG_FUNCTION_ARGS);
PG_FUNCTION_INFO_V1(my_distance);
Datum
The matching code in the C module could then follow this skeleton:
<programlisting>
-Datum my_fetch(PG_FUNCTION_ARGS);
PG_FUNCTION_INFO_V1(my_fetch);
Datum
#include "commands/trigger.h" /* ... triggers ... */
#include "utils/rel.h" /* ... and relations */
-#ifdef PG_MODULE_MAGIC
PG_MODULE_MAGIC;
-#endif
-
-extern Datum trigf(PG_FUNCTION_ARGS);
PG_FUNCTION_INFO_V1(trigf);
PG_MODULE_MAGIC;
PG_FUNCTION_INFO_V1(dsnowball_init);
-Datum dsnowball_init(PG_FUNCTION_ARGS);
PG_FUNCTION_INFO_V1(dsnowball_lexize);
-Datum dsnowball_lexize(PG_FUNCTION_ARGS);
/* List of supported modules */
typedef struct stemmer_module
PG_FUNCTION_INFO_V1(ascii_to_mic);
PG_FUNCTION_INFO_V1(mic_to_ascii);
-extern Datum ascii_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_ascii(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(iso_to_win866);
PG_FUNCTION_INFO_V1(win866_to_iso);
-extern Datum koi8r_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_koi8r(PG_FUNCTION_ARGS);
-extern Datum iso_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_iso(PG_FUNCTION_ARGS);
-extern Datum win1251_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_win1251(PG_FUNCTION_ARGS);
-extern Datum win866_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_win866(PG_FUNCTION_ARGS);
-extern Datum koi8r_to_win1251(PG_FUNCTION_ARGS);
-extern Datum win1251_to_koi8r(PG_FUNCTION_ARGS);
-extern Datum koi8r_to_win866(PG_FUNCTION_ARGS);
-extern Datum win866_to_koi8r(PG_FUNCTION_ARGS);
-extern Datum win866_to_win1251(PG_FUNCTION_ARGS);
-extern Datum win1251_to_win866(PG_FUNCTION_ARGS);
-extern Datum iso_to_koi8r(PG_FUNCTION_ARGS);
-extern Datum koi8r_to_iso(PG_FUNCTION_ARGS);
-extern Datum iso_to_win1251(PG_FUNCTION_ARGS);
-extern Datum win1251_to_iso(PG_FUNCTION_ARGS);
-extern Datum iso_to_win866(PG_FUNCTION_ARGS);
-extern Datum win866_to_iso(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(euc_jis_2004_to_shift_jis_2004);
PG_FUNCTION_INFO_V1(shift_jis_2004_to_euc_jis_2004);
-extern Datum euc_jis_2004_to_shift_jis_2004(PG_FUNCTION_ARGS);
-extern Datum shift_jis_2004_to_euc_jis_2004(PG_FUNCTION_ARGS);
-
static void euc_jis_20042shift_jis_2004(const unsigned char *euc, unsigned char *p, int len);
static void shift_jis_20042euc_jis_2004(const unsigned char *sjis, unsigned char *p, int len);
PG_FUNCTION_INFO_V1(euc_cn_to_mic);
PG_FUNCTION_INFO_V1(mic_to_euc_cn);
-extern Datum euc_cn_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_euc_cn(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(sjis_to_mic);
PG_FUNCTION_INFO_V1(mic_to_sjis);
-extern Datum euc_jp_to_sjis(PG_FUNCTION_ARGS);
-extern Datum sjis_to_euc_jp(PG_FUNCTION_ARGS);
-extern Datum euc_jp_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_euc_jp(PG_FUNCTION_ARGS);
-extern Datum sjis_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_sjis(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(euc_kr_to_mic);
PG_FUNCTION_INFO_V1(mic_to_euc_kr);
-extern Datum euc_kr_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_euc_kr(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(big5_to_mic);
PG_FUNCTION_INFO_V1(mic_to_big5);
-extern Datum euc_tw_to_big5(PG_FUNCTION_ARGS);
-extern Datum big5_to_euc_tw(PG_FUNCTION_ARGS);
-extern Datum euc_tw_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_euc_tw(PG_FUNCTION_ARGS);
-extern Datum big5_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_big5(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(latin2_to_win1250);
PG_FUNCTION_INFO_V1(win1250_to_latin2);
-extern Datum latin2_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_latin2(PG_FUNCTION_ARGS);
-extern Datum win1250_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_win1250(PG_FUNCTION_ARGS);
-extern Datum latin2_to_win1250(PG_FUNCTION_ARGS);
-extern Datum win1250_to_latin2(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(latin4_to_mic);
PG_FUNCTION_INFO_V1(mic_to_latin4);
-extern Datum latin1_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_latin1(PG_FUNCTION_ARGS);
-extern Datum latin3_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_latin3(PG_FUNCTION_ARGS);
-extern Datum latin4_to_mic(PG_FUNCTION_ARGS);
-extern Datum mic_to_latin4(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(ascii_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_ascii);
-extern Datum ascii_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_ascii(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(big5_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_big5);
-extern Datum big5_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_big5(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(utf8_to_koi8u);
PG_FUNCTION_INFO_V1(koi8u_to_utf8);
-extern Datum utf8_to_koi8r(PG_FUNCTION_ARGS);
-extern Datum koi8r_to_utf8(PG_FUNCTION_ARGS);
-
-extern Datum utf8_to_koi8u(PG_FUNCTION_ARGS);
-extern Datum koi8u_to_utf8(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(euc_jis_2004_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_euc_jis_2004);
-extern Datum euc_jis_2004_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_euc_jis_2004(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(euc_cn_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_euc_cn);
-extern Datum euc_cn_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_euc_cn(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(euc_jp_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_euc_jp);
-extern Datum euc_jp_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_euc_jp(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(euc_kr_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_euc_kr);
-extern Datum euc_kr_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_euc_kr(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(euc_tw_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_euc_tw);
-extern Datum euc_tw_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_euc_tw(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(gb18030_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_gb18030);
-extern Datum gb18030_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_gb18030(PG_FUNCTION_ARGS);
-
/*
* Convert 4-byte GB18030 characters to and from a linear code space
*
PG_FUNCTION_INFO_V1(gbk_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_gbk);
-extern Datum gbk_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_gbk(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(iso8859_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_iso8859);
-extern Datum iso8859_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_iso8859(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(iso8859_1_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_iso8859_1);
-extern Datum iso8859_1_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_iso8859_1(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(johab_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_johab);
-extern Datum johab_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_johab(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(sjis_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_sjis);
-extern Datum sjis_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_sjis(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(shift_jis_2004_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_shift_jis_2004);
-extern Datum shift_jis_2004_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_shift_jis_2004(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(uhc_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_uhc);
-extern Datum uhc_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_uhc(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
PG_FUNCTION_INFO_V1(win_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_win);
-extern Datum win_to_utf8(PG_FUNCTION_ARGS);
-extern Datum utf8_to_win(PG_FUNCTION_ARGS);
-
/* ----------
* conv_proc(
* INTEGER, -- source encoding id
extern Datum jsonb_concat(PG_FUNCTION_ARGS);
/* deletion */
-Datum jsonb_delete(PG_FUNCTION_ARGS);
-Datum jsonb_delete_idx(PG_FUNCTION_ARGS);
-Datum jsonb_delete_path(PG_FUNCTION_ARGS);
+extern Datum jsonb_delete(PG_FUNCTION_ARGS);
+extern Datum jsonb_delete_idx(PG_FUNCTION_ARGS);
+extern Datum jsonb_delete_path(PG_FUNCTION_ARGS);
/* replacement */
extern Datum jsonb_replace(PG_FUNCTION_ARGS);
double y;
} Complex;
-/*
- * Since we use V1 function calling convention, all these functions have
- * the same signature as far as C is concerned. We provide these prototypes
- * just to forestall warnings when compiled with gcc -Wmissing-prototypes.
- */
-Datum complex_in(PG_FUNCTION_ARGS);
-Datum complex_out(PG_FUNCTION_ARGS);
-Datum complex_recv(PG_FUNCTION_ARGS);
-Datum complex_send(PG_FUNCTION_ARGS);
-Datum complex_add(PG_FUNCTION_ARGS);
-Datum complex_abs_lt(PG_FUNCTION_ARGS);
-Datum complex_abs_le(PG_FUNCTION_ARGS);
-Datum complex_abs_eq(PG_FUNCTION_ARGS);
-Datum complex_abs_ge(PG_FUNCTION_ARGS);
-Datum complex_abs_gt(PG_FUNCTION_ARGS);
-Datum complex_abs_cmp(PG_FUNCTION_ARGS);
-
/*****************************************************************************
* Input/Output functions
PG_MODULE_MAGIC;
-/* These prototypes just prevent possible warnings from gcc. */
-
-Datum add_one(PG_FUNCTION_ARGS);
-Datum add_one_float8(PG_FUNCTION_ARGS);
-Datum makepoint(PG_FUNCTION_ARGS);
-Datum copytext(PG_FUNCTION_ARGS);
-Datum concat_text(PG_FUNCTION_ARGS);
-Datum c_overpaid(PG_FUNCTION_ARGS);
-
/* By Value */