1--
2-- CREATE_FUNCTION_1
3--
4
5CREATE FUNCTION widget_in(cstring)
6   RETURNS widget
7   AS '@libdir@/regress@DLSUFFIX@'
8   LANGUAGE C STRICT IMMUTABLE;
9
10CREATE FUNCTION widget_out(widget)
11   RETURNS cstring
12   AS '@libdir@/regress@DLSUFFIX@'
13   LANGUAGE C STRICT IMMUTABLE;
14
15CREATE FUNCTION int44in(cstring)
16   RETURNS city_budget
17   AS '@libdir@/regress@DLSUFFIX@'
18   LANGUAGE C STRICT IMMUTABLE;
19
20CREATE FUNCTION int44out(city_budget)
21   RETURNS cstring
22   AS '@libdir@/regress@DLSUFFIX@'
23   LANGUAGE C STRICT IMMUTABLE;
24
25CREATE FUNCTION check_primary_key ()
26	RETURNS trigger
27	AS '@libdir@/refint@DLSUFFIX@'
28	LANGUAGE C;
29
30CREATE FUNCTION check_foreign_key ()
31	RETURNS trigger
32	AS '@libdir@/refint@DLSUFFIX@'
33	LANGUAGE C;
34
35CREATE FUNCTION autoinc ()
36	RETURNS trigger
37	AS '@libdir@/autoinc@DLSUFFIX@'
38	LANGUAGE C;
39
40CREATE FUNCTION trigger_return_old ()
41        RETURNS trigger
42        AS '@libdir@/regress@DLSUFFIX@'
43        LANGUAGE C;
44
45CREATE FUNCTION ttdummy ()
46        RETURNS trigger
47        AS '@libdir@/regress@DLSUFFIX@'
48        LANGUAGE C;
49
50CREATE FUNCTION set_ttdummy (int4)
51        RETURNS int4
52        AS '@libdir@/regress@DLSUFFIX@'
53        LANGUAGE C STRICT;
54
55CREATE FUNCTION make_tuple_indirect (record)
56        RETURNS record
57        AS '@libdir@/regress@DLSUFFIX@'
58        LANGUAGE C STRICT;
59
60CREATE FUNCTION test_atomic_ops()
61    RETURNS bool
62    AS '@libdir@/regress@DLSUFFIX@'
63    LANGUAGE C;
64
65-- Tests creating a FDW handler
66CREATE FUNCTION test_fdw_handler()
67    RETURNS fdw_handler
68    AS '@libdir@/regress@DLSUFFIX@', 'test_fdw_handler'
69    LANGUAGE C;
70
71CREATE FUNCTION test_support_func(internal)
72    RETURNS internal
73    AS '@libdir@/regress@DLSUFFIX@', 'test_support_func'
74    LANGUAGE C STRICT;
75
76-- Things that shouldn't work:
77
78CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
79    AS 'SELECT ''not an integer'';';
80
81CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
82    AS 'not even SQL';
83
84CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
85    AS 'SELECT 1, 2, 3;';
86
87CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
88    AS 'SELECT $2;';
89
90CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
91    AS 'a', 'b';
92
93CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C
94    AS 'nosuchfile';
95
96CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C
97    AS '@libdir@/regress@DLSUFFIX@', 'nosuchsymbol';
98
99CREATE FUNCTION test1 (int) RETURNS int LANGUAGE internal
100    AS 'nosuch';
101