1-- 2-- CREATE_FUNCTION_0 3-- 4 5-- Create a bunch of C functions that will be used by later tests: 6 7CREATE FUNCTION check_primary_key () 8 RETURNS trigger 9 AS '@libdir@/refint@DLSUFFIX@' 10 LANGUAGE C; 11 12CREATE FUNCTION check_foreign_key () 13 RETURNS trigger 14 AS '@libdir@/refint@DLSUFFIX@' 15 LANGUAGE C; 16 17CREATE FUNCTION autoinc () 18 RETURNS trigger 19 AS '@libdir@/autoinc@DLSUFFIX@' 20 LANGUAGE C; 21 22CREATE FUNCTION trigger_return_old () 23 RETURNS trigger 24 AS '@libdir@/regress@DLSUFFIX@' 25 LANGUAGE C; 26 27CREATE FUNCTION ttdummy () 28 RETURNS trigger 29 AS '@libdir@/regress@DLSUFFIX@' 30 LANGUAGE C; 31 32CREATE FUNCTION set_ttdummy (int4) 33 RETURNS int4 34 AS '@libdir@/regress@DLSUFFIX@' 35 LANGUAGE C STRICT; 36 37CREATE FUNCTION make_tuple_indirect (record) 38 RETURNS record 39 AS '@libdir@/regress@DLSUFFIX@' 40 LANGUAGE C STRICT; 41 42CREATE FUNCTION test_atomic_ops() 43 RETURNS bool 44 AS '@libdir@/regress@DLSUFFIX@' 45 LANGUAGE C; 46 47CREATE FUNCTION test_fdw_handler() 48 RETURNS fdw_handler 49 AS '@libdir@/regress@DLSUFFIX@', 'test_fdw_handler' 50 LANGUAGE C; 51 52CREATE FUNCTION test_support_func(internal) 53 RETURNS internal 54 AS '@libdir@/regress@DLSUFFIX@', 'test_support_func' 55 LANGUAGE C STRICT; 56 57CREATE FUNCTION test_opclass_options_func(internal) 58 RETURNS void 59 AS '@libdir@/regress@DLSUFFIX@', 'test_opclass_options_func' 60 LANGUAGE C; 61 62CREATE FUNCTION test_enc_conversion(bytea, name, name, bool, validlen OUT int, result OUT bytea) 63 AS '@libdir@/regress@DLSUFFIX@', 'test_enc_conversion' 64 LANGUAGE C STRICT; 65 66CREATE FUNCTION binary_coercible(oid, oid) 67 RETURNS bool 68 AS '@libdir@/regress@DLSUFFIX@', 'binary_coercible' 69 LANGUAGE C STRICT STABLE PARALLEL SAFE; 70 71-- Things that shouldn't work: 72 73CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL 74 AS 'SELECT ''not an integer'';'; 75 76CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL 77 AS 'not even SQL'; 78 79CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL 80 AS 'SELECT 1, 2, 3;'; 81 82CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL 83 AS 'SELECT $2;'; 84 85CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL 86 AS 'a', 'b'; 87 88CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C 89 AS 'nosuchfile'; 90 91CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C 92 AS '@libdir@/regress@DLSUFFIX@', 'nosuchsymbol'; 93 94CREATE FUNCTION test1 (int) RETURNS int LANGUAGE internal 95 AS 'nosuch'; 96