aboutsummaryrefslogtreecommitdiff
path: root/src/test/regress/input/create_function_1.source
blob: 6ba37fe63b617d7cc2dc26ac2f54682d57b4bc60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
--
-- CREATE_FUNCTION_1
--

CREATE FUNCTION widget_in(cstring)
   RETURNS widget
   AS '@libdir@/regress@DLSUFFIX@'
   LANGUAGE C STRICT IMMUTABLE;

CREATE FUNCTION widget_out(widget)
   RETURNS cstring
   AS '@libdir@/regress@DLSUFFIX@'
   LANGUAGE C STRICT IMMUTABLE;

CREATE FUNCTION int44in(cstring)
   RETURNS city_budget
   AS '@libdir@/regress@DLSUFFIX@'
   LANGUAGE C STRICT IMMUTABLE;

CREATE FUNCTION int44out(city_budget)
   RETURNS cstring
   AS '@libdir@/regress@DLSUFFIX@'
   LANGUAGE C STRICT IMMUTABLE;

CREATE FUNCTION check_primary_key ()
	RETURNS trigger
	AS '@libdir@/refint@DLSUFFIX@'
	LANGUAGE C;

CREATE FUNCTION check_foreign_key ()
	RETURNS trigger
	AS '@libdir@/refint@DLSUFFIX@'
	LANGUAGE C;

CREATE FUNCTION autoinc ()
	RETURNS trigger
	AS '@libdir@/autoinc@DLSUFFIX@'
	LANGUAGE C;

CREATE FUNCTION trigger_return_old ()
        RETURNS trigger
        AS '@libdir@/regress@DLSUFFIX@'
        LANGUAGE C;

CREATE FUNCTION ttdummy ()
        RETURNS trigger
        AS '@libdir@/regress@DLSUFFIX@'
        LANGUAGE C;

CREATE FUNCTION set_ttdummy (int4)
        RETURNS int4
        AS '@libdir@/regress@DLSUFFIX@'
        LANGUAGE C STRICT;

CREATE FUNCTION make_tuple_indirect (record)
        RETURNS record
        AS '@libdir@/regress@DLSUFFIX@'
        LANGUAGE C STRICT;

CREATE FUNCTION test_atomic_ops()
    RETURNS bool
    AS '@libdir@/regress@DLSUFFIX@'
    LANGUAGE C;

-- Tests creating a FDW handler
CREATE FUNCTION test_fdw_handler()
    RETURNS fdw_handler
    AS '@libdir@/regress@DLSUFFIX@', 'test_fdw_handler'
    LANGUAGE C;

CREATE FUNCTION test_support_func(internal)
    RETURNS internal
    AS '@libdir@/regress@DLSUFFIX@', 'test_support_func'
    LANGUAGE C STRICT;

CREATE FUNCTION test_opclass_options_func(internal)
    RETURNS void
    AS '@libdir@/regress@DLSUFFIX@', 'test_opclass_options_func'
    LANGUAGE C;

CREATE FUNCTION test_enc_conversion(bytea, name, name, bool, validlen OUT int, result OUT bytea)
    AS '@libdir@/regress@DLSUFFIX@', 'test_enc_conversion'
    LANGUAGE C;

-- Things that shouldn't work:

CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
    AS 'SELECT ''not an integer'';';

CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
    AS 'not even SQL';

CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
    AS 'SELECT 1, 2, 3;';

CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
    AS 'SELECT $2;';

CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL
    AS 'a', 'b';

CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C
    AS 'nosuchfile';

CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C
    AS '@libdir@/regress@DLSUFFIX@', 'nosuchsymbol';

CREATE FUNCTION test1 (int) RETURNS int LANGUAGE internal
    AS 'nosuch';