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