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