2000-01-05 18:32:18 +01:00
|
|
|
--
|
|
|
|
-- CREATE_FUNCTION_1
|
|
|
|
--
|
2002-08-22 02:01:51 +02:00
|
|
|
CREATE FUNCTION widget_in(cstring)
|
1997-04-27 04:58:38 +02:00
|
|
|
RETURNS widget
|
2000-10-27 22:00:22 +02:00
|
|
|
AS '@abs_builddir@/regress@DLSUFFIX@'
|
2000-01-05 18:32:18 +01:00
|
|
|
LANGUAGE 'c';
|
2002-03-07 21:18:15 +01:00
|
|
|
WARNING: ProcedureCreate: type widget is not yet defined
|
2002-08-22 02:01:51 +02:00
|
|
|
CREATE FUNCTION widget_out(widget)
|
|
|
|
RETURNS cstring
|
2000-10-27 22:00:22 +02:00
|
|
|
AS '@abs_builddir@/regress@DLSUFFIX@'
|
1997-04-06 10:29:57 +02:00
|
|
|
LANGUAGE 'c';
|
2002-08-22 02:01:51 +02:00
|
|
|
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
|
2000-01-05 18:32:18 +01:00
|
|
|
CREATE FUNCTION check_primary_key ()
|
2002-08-22 02:01:51 +02:00
|
|
|
RETURNS trigger
|
2000-10-27 22:00:22 +02:00
|
|
|
AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
|
2000-11-20 21:36:57 +01:00
|
|
|
LANGUAGE 'C';
|
2000-01-05 18:32:18 +01:00
|
|
|
CREATE FUNCTION check_foreign_key ()
|
2002-08-22 02:01:51 +02:00
|
|
|
RETURNS trigger
|
2000-10-27 22:00:22 +02:00
|
|
|
AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
|
2000-11-20 21:36:57 +01:00
|
|
|
LANGUAGE 'C';
|
2000-01-05 18:32:18 +01:00
|
|
|
CREATE FUNCTION autoinc ()
|
2002-08-22 02:01:51 +02:00
|
|
|
RETURNS trigger
|
2000-10-27 22:00:22 +02:00
|
|
|
AS '@abs_builddir@/../../../contrib/spi/autoinc@DLSUFFIX@'
|
2000-11-20 21:36:57 +01:00
|
|
|
LANGUAGE 'C';
|
2000-01-05 18:32:18 +01:00
|
|
|
CREATE FUNCTION funny_dup17 ()
|
2002-08-22 02:01:51 +02:00
|
|
|
RETURNS trigger
|
2000-10-27 22:00:22 +02:00
|
|
|
AS '@abs_builddir@/regress@DLSUFFIX@'
|
2000-11-20 21:36:57 +01:00
|
|
|
LANGUAGE 'C';
|
2000-01-05 18:32:18 +01:00
|
|
|
CREATE FUNCTION ttdummy ()
|
2002-08-22 02:01:51 +02:00
|
|
|
RETURNS trigger
|
2000-10-27 22:00:22 +02:00
|
|
|
AS '@abs_builddir@/regress@DLSUFFIX@'
|
2000-11-20 21:36:57 +01:00
|
|
|
LANGUAGE 'C';
|
2000-01-05 18:32:18 +01:00
|
|
|
CREATE FUNCTION set_ttdummy (int4)
|
1997-09-24 10:36:47 +02:00
|
|
|
RETURNS int4
|
2000-10-27 22:00:22 +02:00
|
|
|
AS '@abs_builddir@/regress@DLSUFFIX@'
|
2000-11-20 21:36:57 +01:00
|
|
|
LANGUAGE 'C';
|
2002-05-22 19:21:02 +02:00
|
|
|
-- 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';
|
2002-08-18 05:00:17 +02:00
|
|
|
ERROR: parser: parse error at or near "not" at character 1
|
2002-05-22 19:21:02 +02:00
|
|
|
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"
|