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-- Things that shouldn't work:
66
67CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
68    AS 'SELECT ''not an integer'';';
69
70CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
71    AS 'not even SQL';
72
73CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
74    AS 'SELECT 1, 2, 3;';
75
76CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
77    AS 'SELECT $2;';
78
79CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
80    AS 'a', 'b';
81
82CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C
83    AS 'nosuchfile';
84
85CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C
86    AS '@libdir@/regress@DLSUFFIX@', 'nosuchsymbol';
87
88CREATE FUNCTION test1 (int) RETURNS int LANGUAGE internal
89    AS 'nosuch';
90