--
-- CREATE_FUNCTION_1
--
CREATE FUNCTION widget_in(cstring)
   RETURNS widget
   AS '@abs_builddir@/regress@DLSUFFIX@'
   LANGUAGE 'c';
WARNING:  ProcedureCreate: type widget is not yet defined
CREATE FUNCTION widget_out(widget)
   RETURNS cstring
   AS '@abs_builddir@/regress@DLSUFFIX@'
   LANGUAGE 'c';
WARNING:  Argument type "widget" is only a shell
CREATE FUNCTION int44in(cstring)
   RETURNS city_budget
   AS '@abs_builddir@/regress@DLSUFFIX@'
   LANGUAGE 'c';
WARNING:  ProcedureCreate: type city_budget is not yet defined
CREATE FUNCTION int44out(city_budget)
   RETURNS cstring
   AS '@abs_builddir@/regress@DLSUFFIX@'
   LANGUAGE 'c';
WARNING:  Argument type "city_budget" is only a shell
CREATE FUNCTION check_primary_key ()
	RETURNS trigger
	AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
	LANGUAGE 'C';
CREATE FUNCTION check_foreign_key ()
	RETURNS trigger
	AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
	LANGUAGE 'C';
CREATE FUNCTION autoinc ()
	RETURNS trigger
	AS '@abs_builddir@/../../../contrib/spi/autoinc@DLSUFFIX@'
	LANGUAGE 'C';
CREATE FUNCTION funny_dup17 ()
        RETURNS trigger
        AS '@abs_builddir@/regress@DLSUFFIX@'
        LANGUAGE 'C';
CREATE FUNCTION ttdummy ()
        RETURNS trigger
        AS '@abs_builddir@/regress@DLSUFFIX@'
        LANGUAGE 'C';
CREATE FUNCTION set_ttdummy (int4)
        RETURNS int4
        AS '@abs_builddir@/regress@DLSUFFIX@'
        LANGUAGE 'C';
-- Things that shouldn't work:
CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql
    AS 'SELECT ''not an integer'';';
ERROR:  return type mismatch in function: declared to return integer, returns "unknown"
CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql
    AS 'not even SQL';
ERROR:  parser: parse error at or near "not" at character 1
CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql
    AS 'SELECT 1, 2, 3;';
ERROR:  function declared to return integer returns multiple columns in final SELECT
CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql
    AS 'SELECT $2;';
ERROR:  Parameter '$2' is out of range
CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql
    AS 'a', 'b';
ERROR:  CREATE FUNCTION: only one AS item needed for sql language
CREATE FUNCTION test1 (int) RETURNS int LANGUAGE c
    AS 'nosuchfile';
ERROR:  stat failed on file 'nosuchfile': No such file or directory
CREATE FUNCTION test1 (int) RETURNS int LANGUAGE c
    AS '@abs_builddir@/regress@DLSUFFIX@', 'nosuchsymbol';
ERROR:  Can't find function nosuchsymbol in file @abs_builddir@/regress@DLSUFFIX@
CREATE FUNCTION test1 (int) RETURNS int LANGUAGE internal
    AS 'nosuch';
ERROR:  there is no built-in function named "nosuch"
