summaryrefslogtreecommitdiff
path: root/src/test/regress/input/create_function.source
blob: 602f0ca4e3e97b0e37cc17a565322c1acf9b8049 (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
--
-- create.source
--
--

CREATE FUNCTION widget_in(opaque)
   RETURNS widget
   AS '_OBJWD_/regress_DLSUFFIX_'
   LANGUAGE 'c';

CREATE FUNCTION widget_out(opaque)
   RETURNS opaque
   AS '_OBJWD_/regress_DLSUFFIX_'
   LANGUAGE 'c';

--
-- FUNCTION DEFINITIONS
--
CREATE FUNCTION hobbies(person)
   RETURNS setof hobbies_r 
   AS 'select * from hobbies_r where person = $1.name'
   LANGUAGE 'sql';


CREATE FUNCTION hobby_construct(text, text)
   RETURNS hobbies_r
   AS 'select $1 as name, $2 as hobby'
   LANGUAGE 'sql';


CREATE FUNCTION equipment(hobbies_r)
   RETURNS setof equipment_r
   AS 'select * from equipment_r where hobby = $1.name'
   LANGUAGE 'sql';


CREATE FUNCTION user_relns()
   RETURNS setof name
   AS 'select relname 
       from pg_class 
       where relname !~ ''pg_.*'' and
             relkind <> ''i'' '
   LANGUAGE 'sql';

CREATE FUNCTION pt_in_widget(point, widget)
   RETURNS int4
   AS '_OBJWD_/regress_DLSUFFIX_'
   LANGUAGE 'c';

CREATE FUNCTION overpaid(emp)
   RETURNS bool
   AS '_OBJWD_/regress_DLSUFFIX_'
   LANGUAGE 'c';

CREATE FUNCTION boxarea(box)
   RETURNS int4
   AS '_OBJWD_/regress_DLSUFFIX_'
   LANGUAGE 'c';

CREATE FUNCTION interpt_pp(path, path)
   RETURNS point
   AS '_OBJWD_/regress_DLSUFFIX_'
   LANGUAGE 'c';

CREATE FUNCTION reverse_c16(char16)
   RETURNS char16
   AS '_OBJWD_/regress_DLSUFFIX_'
   LANGUAGE 'c';

--
-- FUNCTION DYNAMIC LOADING
--
LOAD '_OBJWD_/regress_DLSUFFIX_';