diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2006-02-27 16:09:50 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2006-02-27 16:09:50 +0000 |
commit | 7f4f42fa100872507ca10d8e0f7d923acc266ee8 (patch) | |
tree | c297cd70679cb60b470f8199ab707d80de108d5c /src | |
parent | fe83b3ebc6b8d65fbb14100bdc476b7dbc32454c (diff) | |
download | postgresql-7f4f42fa100872507ca10d8e0f7d923acc266ee8.tar.gz postgresql-7f4f42fa100872507ca10d8e0f7d923acc266ee8.zip |
Clean up CREATE FUNCTION syntax usage in contrib and elsewhere, in
particular get rid of single quotes around language names and old WITH ()
construct.
Diffstat (limited to 'src')
29 files changed, 235 insertions, 235 deletions
diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c index 77f892fe501..5814dda31e2 100644 --- a/src/backend/commands/functioncmds.c +++ b/src/backend/commands/functioncmds.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/functioncmds.c,v 1.70 2005/11/21 12:49:31 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/commands/functioncmds.c,v 1.71 2006/02/27 16:09:49 petere Exp $ * * DESCRIPTION * These routines take the parse tree and pick out the @@ -632,7 +632,7 @@ CreateFunction(CreateFunctionStmt *stmt) * In PostgreSQL versions before 6.5, the SQL name of the created * function could not be different from the internal name, and * "prosrc" wasn't used. So there is code out there that does CREATE - * FUNCTION xyz AS '' LANGUAGE 'internal'. To preserve some modicum of + * FUNCTION xyz AS '' LANGUAGE internal. To preserve some modicum of * backwards compatibility, accept an empty "prosrc" value as meaning * the supplied SQL function name. */ diff --git a/src/backend/utils/fmgr/README b/src/backend/utils/fmgr/README index 235db10ea9b..87044787e8b 100644 --- a/src/backend/utils/fmgr/README +++ b/src/backend/utils/fmgr/README @@ -524,7 +524,7 @@ library, depending on whether or not you write a PG_FUNCTION_INFO_V1() for each one. The SQL declaration for a dynamically-loaded function is CREATE FUNCTION -foo ... LANGUAGE 'C' regardless of whether it is old- or new-style. +foo ... LANGUAGE C regardless of whether it is old- or new-style. New-style dynamic functions will be invoked directly by fmgr, and will therefore have the same performance as internal functions after the initial diff --git a/src/backend/utils/mb/conversion_procs/Makefile b/src/backend/utils/mb/conversion_procs/Makefile index cf07f42560b..6e67f382648 100644 --- a/src/backend/utils/mb/conversion_procs/Makefile +++ b/src/backend/utils/mb/conversion_procs/Makefile @@ -4,7 +4,7 @@ # Makefile for utils/mb/conversion_procs # # IDENTIFICATION -# $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/Makefile,v 1.16 2006/02/18 16:15:22 petere Exp $ +# $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/Makefile,v 1.17 2006/02/27 16:09:49 petere Exp $ # #------------------------------------------------------------------------- @@ -167,7 +167,7 @@ ifeq ($(enable_shared), yes) func=$$1; shift; \ obj=$$1; shift; \ echo "-- $$se --> $$de"; \ - echo "CREATE OR REPLACE FUNCTION $$func (INTEGER, INTEGER, CSTRING, INTERNAL, INTEGER) RETURNS VOID AS '$$"libdir"/$$obj', '$$func' LANGUAGE 'c' STRICT;"; \ + echo "CREATE OR REPLACE FUNCTION $$func (INTEGER, INTEGER, CSTRING, INTERNAL, INTEGER) RETURNS VOID AS '$$"libdir"/$$obj', '$$func' LANGUAGE C STRICT;"; \ echo "DROP CONVERSION pg_catalog.$$name;"; \ echo "CREATE DEFAULT CONVERSION pg_catalog.$$name FOR '$$se' TO '$$de' FROM $$func;"; \ done > $@ diff --git a/src/interfaces/ecpg/test/test_func.pgc b/src/interfaces/ecpg/test/test_func.pgc index 466512a35b3..12350d220ee 100644 --- a/src/interfaces/ecpg/test/test_func.pgc +++ b/src/interfaces/ecpg/test/test_func.pgc @@ -21,7 +21,7 @@ int main(int argc, char* argv[]) { RAISE NOTICE 'TG_NAME=%, TG WHEN=%', TG_NAME, TG_WHEN; RETURN NEW; END; $test$ - LANGUAGE 'plpgsql'; + LANGUAGE plpgsql; EXEC SQL CREATE TRIGGER My_Table_Check_Trigger BEFORE INSERT diff --git a/src/pl/plpgsql/src/scan.l b/src/pl/plpgsql/src/scan.l index e69c8f17b02..0a6c9be20fa 100644 --- a/src/pl/plpgsql/src/scan.l +++ b/src/pl/plpgsql/src/scan.l @@ -4,7 +4,7 @@ * procedural language * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plpgsql/src/scan.l,v 1.42 2005/06/26 19:16:07 tgl Exp $ + * $PostgreSQL: pgsql/src/pl/plpgsql/src/scan.l,v 1.43 2006/02/27 16:09:50 petere Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -522,7 +522,7 @@ plpgsql_scanner_init(const char *str, int functype) * Hack: skip any initial newline, so that in the common coding layout * CREATE FUNCTION ... AS ' * code body - * ' LANGUAGE 'plpgsql'; + * ' LANGUAGE plpgsql; * we will think "line 1" is what the programmer thinks of as line 1. *---------- */ diff --git a/src/pl/tcl/expected/pltcl_setup.out b/src/pl/tcl/expected/pltcl_setup.out index e168b121b86..0d6d253b63c 100644 --- a/src/pl/tcl/expected/pltcl_setup.out +++ b/src/pl/tcl/expected/pltcl_setup.out @@ -52,7 +52,7 @@ create function check_pkey1_exists(int4, bpchar) returns bool as ' return "t" } return "f" -' language 'pltcl'; +' language pltcl; -- -- Trigger function on every change to T_pkey1 -- @@ -138,7 +138,7 @@ create function trig_pkey1_before() returns trigger as ' # Anything is fine - let operation pass through # return OK -' language 'pltcl'; +' language pltcl; create trigger pkey1_before before insert or update or delete on T_pkey1 for each row execute procedure trig_pkey1_before(); @@ -175,7 +175,7 @@ create function trig_pkey2_before() returns trigger as ' # Return modified tuple in NEW # return [array get NEW] -' language 'pltcl'; +' language pltcl; create trigger pkey2_before before insert or update on T_pkey2 for each row execute procedure trig_pkey2_before(); @@ -261,7 +261,7 @@ create function trig_pkey2_after() returns trigger as ' } return OK -' language 'pltcl'; +' language pltcl; create trigger pkey2_after after update or delete on T_pkey2 for each row execute procedure trig_pkey2_after(); @@ -355,7 +355,7 @@ create function check_primkey() returns trigger as ' # Anything is fine # return OK -' language 'pltcl'; +' language pltcl; create trigger dta1_before before insert or update on T_dta1 for each row execute procedure check_primkey('ref1', 'ref2', 'T_pkey1', 'key1', 'key2'); @@ -364,7 +364,7 @@ create trigger dta2_before before insert or update on T_dta2 check_primkey('ref1', 'ref2', 'T_pkey2', 'key1', 'key2'); create function tcl_int4add(int4,int4) returns int4 as ' return [expr $1 + $2] -' language 'pltcl'; +' language pltcl; -- We use split(n) as a quick-and-dirty way of parsing the input array -- value, which comes in as a string like '{1,2}'. There are better ways... create function tcl_int4_accum(int4[], int4) returns int4[] as ' @@ -372,12 +372,12 @@ create function tcl_int4_accum(int4[], int4) returns int4[] as ' set newsum [expr {[lindex $state 1] + $2}] set newcnt [expr {[lindex $state 2] + 1}] return "{$newsum,$newcnt}" -' language 'pltcl'; +' language pltcl; create function tcl_int4_avg(int4[]) returns int4 as ' set state [split $1 "{,}"] if {[lindex $state 2] == 0} { return_null } return [expr {[lindex $state 1] / [lindex $state 2]}] -' language 'pltcl'; +' language pltcl; create aggregate tcl_avg ( sfunc = tcl_int4_accum, basetype = int4, @@ -396,7 +396,7 @@ create function tcl_int4lt(int4,int4) returns bool as ' return t } return f -' language 'pltcl'; +' language pltcl; create operator @< ( leftarg = int4, rightarg = int4, diff --git a/src/pl/tcl/sql/pltcl_setup.sql b/src/pl/tcl/sql/pltcl_setup.sql index 78ddd867eb4..d938f9f4d65 100644 --- a/src/pl/tcl/sql/pltcl_setup.sql +++ b/src/pl/tcl/sql/pltcl_setup.sql @@ -58,7 +58,7 @@ create function check_pkey1_exists(int4, bpchar) returns bool as ' return "t" } return "f" -' language 'pltcl'; +' language pltcl; -- @@ -146,7 +146,7 @@ create function trig_pkey1_before() returns trigger as ' # Anything is fine - let operation pass through # return OK -' language 'pltcl'; +' language pltcl; create trigger pkey1_before before insert or update or delete on T_pkey1 @@ -187,7 +187,7 @@ create function trig_pkey2_before() returns trigger as ' # Return modified tuple in NEW # return [array get NEW] -' language 'pltcl'; +' language pltcl; create trigger pkey2_before before insert or update on T_pkey2 @@ -277,7 +277,7 @@ create function trig_pkey2_after() returns trigger as ' } return OK -' language 'pltcl'; +' language pltcl; create trigger pkey2_after after update or delete on T_pkey2 @@ -375,7 +375,7 @@ create function check_primkey() returns trigger as ' # Anything is fine # return OK -' language 'pltcl'; +' language pltcl; create trigger dta1_before before insert or update on T_dta1 @@ -390,7 +390,7 @@ create trigger dta2_before before insert or update on T_dta2 create function tcl_int4add(int4,int4) returns int4 as ' return [expr $1 + $2] -' language 'pltcl'; +' language pltcl; -- We use split(n) as a quick-and-dirty way of parsing the input array -- value, which comes in as a string like '{1,2}'. There are better ways... @@ -400,13 +400,13 @@ create function tcl_int4_accum(int4[], int4) returns int4[] as ' set newsum [expr {[lindex $state 1] + $2}] set newcnt [expr {[lindex $state 2] + 1}] return "{$newsum,$newcnt}" -' language 'pltcl'; +' language pltcl; create function tcl_int4_avg(int4[]) returns int4 as ' set state [split $1 "{,}"] if {[lindex $state 2] == 0} { return_null } return [expr {[lindex $state 1] / [lindex $state 2]}] -' language 'pltcl'; +' language pltcl; create aggregate tcl_avg ( sfunc = tcl_int4_accum, @@ -428,7 +428,7 @@ create function tcl_int4lt(int4,int4) returns bool as ' return t } return f -' language 'pltcl'; +' language pltcl; create operator @< ( leftarg = int4, diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile index 5ed7c4ce2d9..7ed01ca629a 100644 --- a/src/test/regress/GNUmakefile +++ b/src/test/regress/GNUmakefile @@ -6,7 +6,7 @@ # Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/test/regress/GNUmakefile,v 1.55 2005/12/09 21:19:36 petere Exp $ +# $PostgreSQL: pgsql/src/test/regress/GNUmakefile,v 1.56 2006/02/27 16:09:50 petere Exp $ # #------------------------------------------------------------------------- @@ -62,7 +62,7 @@ uninstall: rm -f '$(DESTDIR)$(pgxsdir)/$(subdir)/pg_regress' -# Build dynamically-loaded object file for CREATE FUNCTION ... LANGUAGE 'C'. +# Build dynamically-loaded object file for CREATE FUNCTION ... LANGUAGE C. NAME = regress SO_MAJOR_VERSION= 0 diff --git a/src/test/regress/expected/copy2.out b/src/test/regress/expected/copy2.out index 99fba57a9e0..7759a411cd8 100644 --- a/src/test/regress/expected/copy2.out +++ b/src/test/regress/expected/copy2.out @@ -11,13 +11,13 @@ CREATE FUNCTION fn_x_before () RETURNS TRIGGER AS ' NEW.e := ''before trigger fired''::text; return NEW; END; -' language 'plpgsql'; +' LANGUAGE plpgsql; CREATE FUNCTION fn_x_after () RETURNS TRIGGER AS ' BEGIN UPDATE x set e=''after trigger fired'' where c=''stuff''; return NULL; END; -' language 'plpgsql'; +' LANGUAGE plpgsql; CREATE TRIGGER trg_x_after AFTER INSERT ON x FOR EACH ROW EXECUTE PROCEDURE fn_x_after(); CREATE TRIGGER trg_x_before BEFORE INSERT ON x diff --git a/src/test/regress/expected/create_type.out b/src/test/regress/expected/create_type.out index 101382e7392..4e2d44d5c41 100644 --- a/src/test/regress/expected/create_type.out +++ b/src/test/regress/expected/create_type.out @@ -18,24 +18,24 @@ CREATE TYPE city_budget ( CREATE FUNCTION int42_in(cstring) RETURNS int42 AS 'int4in' - LANGUAGE 'internal' WITH (isStrict); + LANGUAGE internal STRICT; NOTICE: type "int42" is not yet defined DETAIL: Creating a shell type definition. CREATE FUNCTION int42_out(int42) RETURNS cstring AS 'int4out' - LANGUAGE 'internal' WITH (isStrict); + LANGUAGE internal STRICT; NOTICE: argument type int42 is only a shell CREATE FUNCTION text_w_default_in(cstring) RETURNS text_w_default AS 'textin' - LANGUAGE 'internal' WITH (isStrict); + LANGUAGE internal STRICT; NOTICE: type "text_w_default" is not yet defined DETAIL: Creating a shell type definition. CREATE FUNCTION text_w_default_out(text_w_default) RETURNS cstring AS 'textout' - LANGUAGE 'internal' WITH (isStrict); + LANGUAGE internal STRICT; NOTICE: argument type text_w_default is only a shell CREATE TYPE int42 ( internallength = 4, diff --git a/src/test/regress/expected/plpgsql.out b/src/test/regress/expected/plpgsql.out index 1a4307dce28..5617b6ef010 100644 --- a/src/test/regress/expected/plpgsql.out +++ b/src/test/regress/expected/plpgsql.out @@ -100,7 +100,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_room_au after update on Room for each row execute procedure tg_room_au(); -- ************************************************************ @@ -112,7 +112,7 @@ begin delete from WSlot where roomno = old.roomno; return old; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_room_ad after delete on Room for each row execute procedure tg_room_ad(); -- ************************************************************ @@ -140,7 +140,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_pfield_au after update on PField for each row execute procedure tg_pfield_au(); -- ************************************************************ @@ -152,7 +152,7 @@ begin delete from PSlot where pfname = old.name; return old; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_pfield_ad after delete on PField for each row execute procedure tg_pfield_ad(); -- ************************************************************ @@ -184,7 +184,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_system_au after update on System for each row execute procedure tg_system_au(); -- ************************************************************ @@ -237,7 +237,7 @@ begin return old; end if; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_hub_a after insert or update or delete on Hub for each row execute procedure tg_hub_a(); -- ************************************************************ @@ -261,7 +261,7 @@ begin end loop; return 0; end -' language 'plpgsql'; +' language plpgsql; -- Test comments COMMENT ON FUNCTION tg_hub_adjustslots_wrong(bpchar, integer, integer) IS 'function with args'; ERROR: function tg_hub_adjustslots_wrong(character, integer, integer) does not exist @@ -301,7 +301,7 @@ begin new.slotname := sname; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_hslot_biu before insert or update on HSlot for each row execute procedure tg_hslot_biu(); -- ************************************************************ @@ -321,7 +321,7 @@ begin end if; raise exception ''no manual manipulation of HSlot''; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_hslot_bd before delete on HSlot for each row execute procedure tg_hslot_bd(); -- ************************************************************ @@ -335,7 +335,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_chkslotname before insert on PSlot for each row execute procedure tg_chkslotname('PS'); create trigger tg_chkslotname before insert @@ -357,7 +357,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_chkslotlink before insert or update on PSlot for each row execute procedure tg_chkslotlink(); create trigger tg_chkslotlink before insert or update @@ -379,7 +379,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_chkbacklink before insert or update on PSlot for each row execute procedure tg_chkbacklink(); create trigger tg_chkbacklink before insert or update @@ -409,7 +409,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_pslot_bu before update on PSlot for each row execute procedure tg_pslot_bu(); -- ************************************************************ @@ -435,7 +435,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_wslot_bu before update on WSlot for each row execute procedure tg_Wslot_bu(); -- ************************************************************ @@ -461,7 +461,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_pline_bu before update on PLine for each row execute procedure tg_pline_bu(); -- ************************************************************ @@ -487,7 +487,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_iface_bu before update on IFace for each row execute procedure tg_iface_bu(); -- ************************************************************ @@ -513,7 +513,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_hslot_bu before update on HSlot for each row execute procedure tg_hslot_bu(); -- ************************************************************ @@ -537,7 +537,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_phone_bu before update on PHone for each row execute procedure tg_phone_bu(); -- ************************************************************ @@ -576,7 +576,7 @@ begin return old; end if; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_backlink_a after insert or update or delete on PSlot for each row execute procedure tg_backlink_a('PS'); create trigger tg_backlink_a after insert or update or delete @@ -636,7 +636,7 @@ begin end if; raise exception ''illegal backlink beginning with %'', mytype; end; -' language 'plpgsql'; +' language plpgsql; -- ************************************************************ -- * Support function to clear out the backlink field if -- * it still points to specific slot @@ -718,7 +718,7 @@ begin return old; end if; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_slotlink_a after insert or update or delete on PSlot for each row execute procedure tg_slotlink_a('PS'); create trigger tg_slotlink_a after insert or update or delete @@ -812,7 +812,7 @@ begin end if; raise exception ''illegal slotlink beginning with %'', mytype; end; -' language 'plpgsql'; +' language plpgsql; -- ************************************************************ -- * Support function to clear out the slotlink field if -- * it still points to specific slot @@ -877,7 +877,7 @@ begin return 0; end if; end; -' language 'plpgsql'; +' language plpgsql; -- ************************************************************ -- * Describe the backside of a patchfield slot -- ************************************************************ @@ -920,7 +920,7 @@ begin end if; return rec.backlink; end; -' language 'plpgsql'; +' language plpgsql; -- ************************************************************ -- * Describe the front of a patchfield slot -- ************************************************************ @@ -954,7 +954,7 @@ begin end if; return psrec.slotlink; end; -' language 'plpgsql'; +' language plpgsql; -- ************************************************************ -- * Describe the front of a wall connector slot -- ************************************************************ @@ -1002,7 +1002,7 @@ begin end if; return rec.slotlink; end; -' language 'plpgsql'; +' language plpgsql; -- ************************************************************ -- * View of a patchfield describing backside and patches -- ************************************************************ @@ -1555,7 +1555,7 @@ BEGIN rslt = CAST($1 AS TEXT) || '','' || recursion_test($1 - 1, $2); END IF; RETURN rslt; -END;' LANGUAGE 'plpgsql'; +END;' LANGUAGE plpgsql; SELECT recursion_test(4,3); recursion_test ---------------- @@ -1600,7 +1600,7 @@ create function test_found() insert into found_test_tbl values (6); end if; return true; - end;' language 'plpgsql'; + end;' language plpgsql; select test_found(); test_found ------------ @@ -1629,7 +1629,7 @@ BEGIN RETURN NEXT rec; END LOOP; RETURN; -END;' language 'plpgsql'; +END;' language plpgsql; select * from test_table_func_rec(); a ----- @@ -1649,7 +1649,7 @@ BEGIN RETURN NEXT row; END LOOP; RETURN; -END;' language 'plpgsql'; +END;' language plpgsql; select * from test_table_func_row(); a ----- @@ -1669,7 +1669,7 @@ BEGIN RETURN NEXT i + 1; END LOOP; RETURN; -END;' language 'plpgsql'; +END;' language plpgsql; select * from test_ret_set_scalar(1,10); test_ret_set_scalar --------------------- @@ -1699,7 +1699,7 @@ BEGIN RETURN NEXT retval; END IF; RETURN; -END;' language 'plpgsql'; +END;' language plpgsql; SELECT * FROM test_ret_set_rec_dyn(1500) AS (a int, b int, c int); a | b | c ---+----+---- @@ -1725,7 +1725,7 @@ BEGIN SELECT INTO retval 50, 5::numeric, ''xxx''::text; RETURN retval; END IF; -END;' language 'plpgsql'; +END;' language plpgsql; SELECT * FROM test_ret_rec_dyn(1500) AS (a int, b int, c int); a | b | c ---+----+---- @@ -1870,7 +1870,7 @@ BEGIN ELSE RETURN FALSE; END IF; -END;' language 'plpgsql'; +END;' language plpgsql; create function perform_test_func() returns void as ' BEGIN IF FOUND then @@ -1890,7 +1890,7 @@ BEGIN END IF; RETURN; -END;' language 'plpgsql'; +END;' language plpgsql; SELECT perform_test_func(); perform_test_func ------------------- @@ -2230,13 +2230,13 @@ begin open rc for select a from rc_test; return rc; end -$$ language 'plpgsql'; +$$ language plpgsql; create function refcursor_test1(refcursor) returns refcursor as $$ begin perform return_refcursor($1); return $1; end -$$ language 'plpgsql'; +$$ language plpgsql; begin; select refcursor_test1('test1'); refcursor_test1 @@ -2282,7 +2282,7 @@ begin return false; end if; end -$$ language 'plpgsql'; +$$ language plpgsql; select refcursor_test2(20000, 20000) as "Should be false", refcursor_test2(20, 20) as "Should be true"; Should be false | Should be true diff --git a/src/test/regress/expected/polymorphism.out b/src/test/regress/expected/polymorphism.out index 55687467a0d..57a12583319 100644 --- a/src/test/regress/expected/polymorphism.out +++ b/src/test/regress/expected/polymorphism.out @@ -33,29 +33,29 @@ -- argument polymorphism, but within the constraints of valid aggregate -- functions, i.e. tf arg1 and tf return type must match -- polymorphic single arg transfn -CREATE FUNCTION stfp(anyarray) returns anyarray as -'select $1' language 'sql'; +CREATE FUNCTION stfp(anyarray) RETURNS anyarray AS +'select $1' LANGUAGE SQL; -- non-polymorphic single arg transfn -CREATE FUNCTION stfnp(int[]) returns int[] as -'select $1' language 'sql'; +CREATE FUNCTION stfnp(int[]) RETURNS int[] AS +'select $1' LANGUAGE SQL; -- dual polymorphic transfn -CREATE FUNCTION tfp(anyarray,anyelement) returns anyarray as -'select $1 || $2' language 'sql'; +CREATE FUNCTION tfp(anyarray,anyelement) RETURNS anyarray AS +'select $1 || $2' LANGUAGE SQL; -- dual non-polymorphic transfn -CREATE FUNCTION tfnp(int[],int) returns int[] as -'select $1 || $2' language 'sql'; +CREATE FUNCTION tfnp(int[],int) RETURNS int[] AS +'select $1 || $2' LANGUAGE SQL; -- arg1 only polymorphic transfn -CREATE FUNCTION tf1p(anyarray,int) returns anyarray as -'select $1' language 'sql'; +CREATE FUNCTION tf1p(anyarray,int) RETURNS anyarray AS +'select $1' LANGUAGE SQL; -- arg2 only polymorphic transfn -CREATE FUNCTION tf2p(int[],anyelement) returns int[] as -'select $1' language 'sql'; +CREATE FUNCTION tf2p(int[],anyelement) RETURNS int[] AS +'select $1' LANGUAGE SQL; -- finalfn polymorphic -CREATE FUNCTION ffp(anyarray) returns anyarray as -'select $1' language 'sql'; +CREATE FUNCTION ffp(anyarray) RETURNS anyarray AS +'select $1' LANGUAGE SQL; -- finalfn non-polymorphic CREATE FUNCTION ffnp(int[]) returns int[] as -'select $1' language 'sql'; +'select $1' LANGUAGE SQL; -- Try to cover all the possible states: -- -- Note: in Cases 1 & 2, we are trying to return P. Therefore, if the transfn diff --git a/src/test/regress/expected/portals.out b/src/test/regress/expected/portals.out index cbff0b4245a..ab62ac2705b 100644 --- a/src/test/regress/expected/portals.out +++ b/src/test/regress/expected/portals.out @@ -779,7 +779,7 @@ BEGIN; CREATE FUNCTION declares_cursor(text) RETURNS void AS 'DECLARE c CURSOR FOR SELECT stringu1 FROM tenk1 WHERE stringu1 LIKE $1;' - LANGUAGE 'sql'; + LANGUAGE SQL; SELECT declares_cursor('AB%'); declares_cursor ----------------- diff --git a/src/test/regress/expected/rangefuncs.out b/src/test/regress/expected/rangefuncs.out index 49fc121f04f..000d4e36c52 100644 --- a/src/test/regress/expected/rangefuncs.out +++ b/src/test/regress/expected/rangefuncs.out @@ -188,7 +188,7 @@ SELECT * FROM vw_getfoo; -- plpgsql, proretset = f, prorettype = b DROP VIEW vw_getfoo; DROP FUNCTION getfoo(int); -CREATE FUNCTION getfoo(int) RETURNS int AS 'DECLARE fooint int; BEGIN SELECT fooid into fooint FROM foo WHERE fooid = $1; RETURN fooint; END;' LANGUAGE 'plpgsql'; +CREATE FUNCTION getfoo(int) RETURNS int AS 'DECLARE fooint int; BEGIN SELECT fooid into fooint FROM foo WHERE fooid = $1; RETURN fooint; END;' LANGUAGE plpgsql; SELECT * FROM getfoo(1) AS t1; t1 ---- @@ -205,7 +205,7 @@ SELECT * FROM vw_getfoo; -- plpgsql, proretset = f, prorettype = c DROP VIEW vw_getfoo; DROP FUNCTION getfoo(int); -CREATE FUNCTION getfoo(int) RETURNS foo AS 'DECLARE footup foo%ROWTYPE; BEGIN SELECT * into footup FROM foo WHERE fooid = $1; RETURN footup; END;' LANGUAGE 'plpgsql'; +CREATE FUNCTION getfoo(int) RETURNS foo AS 'DECLARE footup foo%ROWTYPE; BEGIN SELECT * into footup FROM foo WHERE fooid = $1; RETURN footup; END;' LANGUAGE plpgsql; SELECT * FROM getfoo(1) AS t1; fooid | foosubid | fooname -------+----------+--------- diff --git a/src/test/regress/expected/rules.out b/src/test/regress/expected/rules.out index 90e38d013f3..7d38d3e8bbc 100644 --- a/src/test/regress/expected/rules.out +++ b/src/test/regress/expected/rules.out @@ -764,7 +764,7 @@ create view rtest_vview4 as select X.a, X.b, count(Y.a) as refcount group by X.a, X.b; create function rtest_viewfunc1(int4) returns int4 as 'select count(*)::int4 from rtest_view2 where a = $1' - language 'sql'; + language sql; create view rtest_vview5 as select a, b, rtest_viewfunc1(a) as refcount from rtest_view1; insert into rtest_view1 values (1, 'item 1', 't'); diff --git a/src/test/regress/expected/triggers.out b/src/test/regress/expected/triggers.out index 9d6692f35c5..e91c5a36320 100644 --- a/src/test/regress/expected/triggers.out +++ b/src/test/regress/expected/triggers.out @@ -276,7 +276,7 @@ drop sequence ttdummy_seq; CREATE TABLE log_table (tstamp timestamp default timeofday()::timestamp); CREATE TABLE main_table (a int, b int); COPY main_table (a,b) FROM stdin; -CREATE FUNCTION trigger_func() RETURNS trigger LANGUAGE 'plpgsql' AS ' +CREATE FUNCTION trigger_func() RETURNS trigger LANGUAGE plpgsql AS ' BEGIN RAISE NOTICE ''trigger_func() called: action = %, when = %, level = %'', TG_OP, TG_WHEN, TG_LEVEL; RETURN NULL; diff --git a/src/test/regress/input/create_function_1.source b/src/test/regress/input/create_function_1.source index faa73156dc2..fb357d93b07 100644 --- a/src/test/regress/input/create_function_1.source +++ b/src/test/regress/input/create_function_1.source @@ -5,74 +5,74 @@ CREATE FUNCTION widget_in(cstring) RETURNS widget AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C' STRICT; + LANGUAGE C STRICT; CREATE FUNCTION widget_out(widget) RETURNS cstring AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C' STRICT; + LANGUAGE C STRICT; CREATE FUNCTION int44in(cstring) RETURNS city_budget AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C' STRICT; + LANGUAGE C STRICT; CREATE FUNCTION int44out(city_budget) RETURNS cstring AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C' STRICT; + LANGUAGE C STRICT; CREATE FUNCTION check_primary_key () RETURNS trigger AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION check_foreign_key () RETURNS trigger AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION autoinc () RETURNS trigger AS '@abs_builddir@/../../../contrib/spi/autoinc@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION funny_dup17 () RETURNS trigger AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION ttdummy () RETURNS trigger AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION set_ttdummy (int4) RETURNS int4 AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C' STRICT; + LANGUAGE C STRICT; -- Things that shouldn't work: -CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql +CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL AS 'SELECT ''not an integer'';'; -CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql +CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL AS 'not even SQL'; -CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql +CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL AS 'SELECT 1, 2, 3;'; -CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql +CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL AS 'SELECT $2;'; -CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql +CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL AS 'a', 'b'; -CREATE FUNCTION test1 (int) RETURNS int LANGUAGE c +CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C AS 'nosuchfile'; -CREATE FUNCTION test1 (int) RETURNS int LANGUAGE c +CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C AS '@abs_builddir@/regress@DLSUFFIX@', 'nosuchsymbol'; CREATE FUNCTION test1 (int) RETURNS int LANGUAGE internal diff --git a/src/test/regress/input/create_function_2.source b/src/test/regress/input/create_function_2.source index 07d26c1d8f5..98ecfe855f8 100644 --- a/src/test/regress/input/create_function_2.source +++ b/src/test/regress/input/create_function_2.source @@ -4,25 +4,25 @@ CREATE FUNCTION hobbies(person) RETURNS setof hobbies_r AS 'select * from hobbies_r where person = $1.name' - LANGUAGE 'sql'; + LANGUAGE SQL; CREATE FUNCTION hobby_construct(text, text) RETURNS hobbies_r AS 'select $1 as name, $2 as hobby' - LANGUAGE 'sql'; + LANGUAGE SQL; CREATE FUNCTION hobbies_by_name(hobbies_r.name%TYPE) RETURNS hobbies_r.person%TYPE AS 'select person from hobbies_r where name = $1' - LANGUAGE 'sql'; + LANGUAGE SQL; CREATE FUNCTION equipment(hobbies_r) RETURNS setof equipment_r AS 'select * from equipment_r where hobby = $1.name' - LANGUAGE 'sql'; + LANGUAGE SQL; CREATE FUNCTION user_relns() @@ -32,37 +32,37 @@ CREATE FUNCTION user_relns() where relnamespace = n.oid and (nspname !~ ''pg_.*'' and nspname <> ''information_schema'') and relkind <> ''i'' ' - LANGUAGE 'sql'; + LANGUAGE SQL; CREATE FUNCTION pt_in_widget(point, widget) RETURNS bool AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION overpaid(emp) RETURNS bool AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION boxarea(box) RETURNS float8 AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION interpt_pp(path, path) RETURNS point AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION reverse_name(name) RETURNS name AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'c'; + LANGUAGE C; CREATE FUNCTION oldstyle_length(int4, text) RETURNS int4 AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'c'; + LANGUAGE C; -- -- Function dynamic loading diff --git a/src/test/regress/output/create_function_1.source b/src/test/regress/output/create_function_1.source index ed275b1f482..a3c506598f6 100644 --- a/src/test/regress/output/create_function_1.source +++ b/src/test/regress/output/create_function_1.source @@ -4,76 +4,76 @@ CREATE FUNCTION widget_in(cstring) RETURNS widget AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C' STRICT; + LANGUAGE C STRICT; NOTICE: type "widget" is not yet defined DETAIL: Creating a shell type definition. CREATE FUNCTION widget_out(widget) RETURNS cstring AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C' STRICT; + LANGUAGE C STRICT; NOTICE: argument type widget is only a shell CREATE FUNCTION int44in(cstring) RETURNS city_budget AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C' STRICT; + LANGUAGE C STRICT; NOTICE: type "city_budget" is not yet defined DETAIL: Creating a shell type definition. CREATE FUNCTION int44out(city_budget) RETURNS cstring AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C' STRICT; + LANGUAGE C STRICT; NOTICE: argument type city_budget is only a shell CREATE FUNCTION check_primary_key () RETURNS trigger AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION check_foreign_key () RETURNS trigger AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION autoinc () RETURNS trigger AS '@abs_builddir@/../../../contrib/spi/autoinc@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION funny_dup17 () RETURNS trigger AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION ttdummy () RETURNS trigger AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION set_ttdummy (int4) RETURNS int4 AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C' STRICT; + LANGUAGE C STRICT; -- Things that shouldn't work: -CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql +CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL AS 'SELECT ''not an integer'';'; ERROR: return type mismatch in function declared to return integer DETAIL: Actual return type is "unknown". CONTEXT: SQL function "test1" -CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql +CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL AS 'not even SQL'; ERROR: syntax error at or near "not" at character 62 LINE 2: AS 'not even SQL'; ^ -CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql +CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL AS 'SELECT 1, 2, 3;'; ERROR: return type mismatch in function declared to return integer DETAIL: Final SELECT must return exactly one column. CONTEXT: SQL function "test1" -CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql +CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL AS 'SELECT $2;'; ERROR: there is no parameter $2 CONTEXT: SQL function "test1" -CREATE FUNCTION test1 (int) RETURNS int LANGUAGE sql +CREATE FUNCTION test1 (int) RETURNS int LANGUAGE SQL AS 'a', 'b'; ERROR: only one AS item needed for language "sql" -CREATE FUNCTION test1 (int) RETURNS int LANGUAGE c +CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C AS 'nosuchfile'; ERROR: could not access file "nosuchfile": No such file or directory -CREATE FUNCTION test1 (int) RETURNS int LANGUAGE c +CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C AS '@abs_builddir@/regress@DLSUFFIX@', 'nosuchsymbol'; ERROR: could not find function "nosuchsymbol" in file "@abs_builddir@/regress@DLSUFFIX@" CREATE FUNCTION test1 (int) RETURNS int LANGUAGE internal diff --git a/src/test/regress/output/create_function_2.source b/src/test/regress/output/create_function_2.source index dd308261d9f..57802a4f7e5 100644 --- a/src/test/regress/output/create_function_2.source +++ b/src/test/regress/output/create_function_2.source @@ -4,21 +4,21 @@ CREATE FUNCTION hobbies(person) RETURNS setof hobbies_r AS 'select * from hobbies_r where person = $1.name' - LANGUAGE 'sql'; + LANGUAGE SQL; CREATE FUNCTION hobby_construct(text, text) RETURNS hobbies_r AS 'select $1 as name, $2 as hobby' - LANGUAGE 'sql'; + LANGUAGE SQL; CREATE FUNCTION hobbies_by_name(hobbies_r.name%TYPE) RETURNS hobbies_r.person%TYPE AS 'select person from hobbies_r where name = $1' - LANGUAGE 'sql'; + LANGUAGE SQL; NOTICE: type reference hobbies_r.name%TYPE converted to text NOTICE: type reference hobbies_r.person%TYPE converted to text CREATE FUNCTION equipment(hobbies_r) RETURNS setof equipment_r AS 'select * from equipment_r where hobby = $1.name' - LANGUAGE 'sql'; + LANGUAGE SQL; CREATE FUNCTION user_relns() RETURNS setof name AS 'select relname @@ -26,31 +26,31 @@ CREATE FUNCTION user_relns() where relnamespace = n.oid and (nspname !~ ''pg_.*'' and nspname <> ''information_schema'') and relkind <> ''i'' ' - LANGUAGE 'sql'; + LANGUAGE SQL; CREATE FUNCTION pt_in_widget(point, widget) RETURNS bool AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION overpaid(emp) RETURNS bool AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION boxarea(box) RETURNS float8 AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION interpt_pp(path, path) RETURNS point AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'C'; + LANGUAGE C; CREATE FUNCTION reverse_name(name) RETURNS name AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'c'; + LANGUAGE C; CREATE FUNCTION oldstyle_length(int4, text) RETURNS int4 AS '@abs_builddir@/regress@DLSUFFIX@' - LANGUAGE 'c'; + LANGUAGE C; -- -- Function dynamic loading -- diff --git a/src/test/regress/sql/copy2.sql b/src/test/regress/sql/copy2.sql index 5d73256c122..b193388ab8c 100644 --- a/src/test/regress/sql/copy2.sql +++ b/src/test/regress/sql/copy2.sql @@ -11,14 +11,14 @@ CREATE FUNCTION fn_x_before () RETURNS TRIGGER AS ' NEW.e := ''before trigger fired''::text; return NEW; END; -' language 'plpgsql'; +' LANGUAGE plpgsql; CREATE FUNCTION fn_x_after () RETURNS TRIGGER AS ' BEGIN UPDATE x set e=''after trigger fired'' where c=''stuff''; return NULL; END; -' language 'plpgsql'; +' LANGUAGE plpgsql; CREATE TRIGGER trg_x_after AFTER INSERT ON x FOR EACH ROW EXECUTE PROCEDURE fn_x_after(); diff --git a/src/test/regress/sql/create_type.sql b/src/test/regress/sql/create_type.sql index 6e8fa84b7dc..66d78c9216b 100644 --- a/src/test/regress/sql/create_type.sql +++ b/src/test/regress/sql/create_type.sql @@ -22,19 +22,19 @@ CREATE TYPE city_budget ( CREATE FUNCTION int42_in(cstring) RETURNS int42 AS 'int4in' - LANGUAGE 'internal' WITH (isStrict); + LANGUAGE internal STRICT; CREATE FUNCTION int42_out(int42) RETURNS cstring AS 'int4out' - LANGUAGE 'internal' WITH (isStrict); + LANGUAGE internal STRICT; CREATE FUNCTION text_w_default_in(cstring) RETURNS text_w_default AS 'textin' - LANGUAGE 'internal' WITH (isStrict); + LANGUAGE internal STRICT; CREATE FUNCTION text_w_default_out(text_w_default) RETURNS cstring AS 'textout' - LANGUAGE 'internal' WITH (isStrict); + LANGUAGE internal STRICT; CREATE TYPE int42 ( internallength = 4, diff --git a/src/test/regress/sql/plpgsql.sql b/src/test/regress/sql/plpgsql.sql index 5e8db475720..a2d65817b1f 100644 --- a/src/test/regress/sql/plpgsql.sql +++ b/src/test/regress/sql/plpgsql.sql @@ -134,7 +134,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_room_au after update on Room for each row execute procedure tg_room_au(); @@ -149,7 +149,7 @@ begin delete from WSlot where roomno = old.roomno; return old; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_room_ad after delete on Room for each row execute procedure tg_room_ad(); @@ -183,7 +183,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_pfield_au after update on PField for each row execute procedure tg_pfield_au(); @@ -198,7 +198,7 @@ begin delete from PSlot where pfname = old.name; return old; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_pfield_ad after delete on PField for each row execute procedure tg_pfield_ad(); @@ -236,7 +236,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_system_au after update on System for each row execute procedure tg_system_au(); @@ -295,7 +295,7 @@ begin return old; end if; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_hub_a after insert or update or delete on Hub for each row execute procedure tg_hub_a(); @@ -322,7 +322,7 @@ begin end loop; return 0; end -' language 'plpgsql'; +' language plpgsql; -- Test comments COMMENT ON FUNCTION tg_hub_adjustslots_wrong(bpchar, integer, integer) IS 'function with args'; @@ -363,7 +363,7 @@ begin new.slotname := sname; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_hslot_biu before insert or update on HSlot for each row execute procedure tg_hslot_biu(); @@ -386,7 +386,7 @@ begin end if; raise exception ''no manual manipulation of HSlot''; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_hslot_bd before delete on HSlot for each row execute procedure tg_hslot_bd(); @@ -403,7 +403,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_chkslotname before insert on PSlot for each row execute procedure tg_chkslotname('PS'); @@ -432,7 +432,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_chkslotlink before insert or update on PSlot for each row execute procedure tg_chkslotlink(); @@ -461,7 +461,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_chkbacklink before insert or update on PSlot for each row execute procedure tg_chkbacklink(); @@ -496,7 +496,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_pslot_bu before update on PSlot for each row execute procedure tg_pslot_bu(); @@ -525,7 +525,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_wslot_bu before update on WSlot for each row execute procedure tg_Wslot_bu(); @@ -554,7 +554,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_pline_bu before update on PLine for each row execute procedure tg_pline_bu(); @@ -583,7 +583,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_iface_bu before update on IFace for each row execute procedure tg_iface_bu(); @@ -612,7 +612,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_hslot_bu before update on HSlot for each row execute procedure tg_hslot_bu(); @@ -639,7 +639,7 @@ begin end if; return new; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_phone_bu before update on PHone for each row execute procedure tg_phone_bu(); @@ -681,7 +681,7 @@ begin return old; end if; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_backlink_a after insert or update or delete @@ -747,7 +747,7 @@ begin end if; raise exception ''illegal backlink beginning with %'', mytype; end; -' language 'plpgsql'; +' language plpgsql; -- ************************************************************ @@ -833,7 +833,7 @@ begin return old; end if; end; -' language 'plpgsql'; +' language plpgsql; create trigger tg_slotlink_a after insert or update or delete @@ -935,7 +935,7 @@ begin end if; raise exception ''illegal slotlink beginning with %'', mytype; end; -' language 'plpgsql'; +' language plpgsql; -- ************************************************************ @@ -1002,7 +1002,7 @@ begin return 0; end if; end; -' language 'plpgsql'; +' language plpgsql; -- ************************************************************ @@ -1047,7 +1047,7 @@ begin end if; return rec.backlink; end; -' language 'plpgsql'; +' language plpgsql; -- ************************************************************ @@ -1083,7 +1083,7 @@ begin end if; return psrec.slotlink; end; -' language 'plpgsql'; +' language plpgsql; -- ************************************************************ @@ -1133,7 +1133,7 @@ begin end if; return rec.slotlink; end; -' language 'plpgsql'; +' language plpgsql; @@ -1437,7 +1437,7 @@ BEGIN rslt = CAST($1 AS TEXT) || '','' || recursion_test($1 - 1, $2); END IF; RETURN rslt; -END;' LANGUAGE 'plpgsql'; +END;' LANGUAGE plpgsql; SELECT recursion_test(4,3); @@ -1480,7 +1480,7 @@ create function test_found() insert into found_test_tbl values (6); end if; return true; - end;' language 'plpgsql'; + end;' language plpgsql; select test_found(); select * from found_test_tbl; @@ -1497,7 +1497,7 @@ BEGIN RETURN NEXT rec; END LOOP; RETURN; -END;' language 'plpgsql'; +END;' language plpgsql; select * from test_table_func_rec(); @@ -1509,7 +1509,7 @@ BEGIN RETURN NEXT row; END LOOP; RETURN; -END;' language 'plpgsql'; +END;' language plpgsql; select * from test_table_func_row(); @@ -1521,7 +1521,7 @@ BEGIN RETURN NEXT i + 1; END LOOP; RETURN; -END;' language 'plpgsql'; +END;' language plpgsql; select * from test_ret_set_scalar(1,10); @@ -1539,7 +1539,7 @@ BEGIN RETURN NEXT retval; END IF; RETURN; -END;' language 'plpgsql'; +END;' language plpgsql; SELECT * FROM test_ret_set_rec_dyn(1500) AS (a int, b int, c int); SELECT * FROM test_ret_set_rec_dyn(5) AS (a int, b numeric, c text); @@ -1555,7 +1555,7 @@ BEGIN SELECT INTO retval 50, 5::numeric, ''xxx''::text; RETURN retval; END IF; -END;' language 'plpgsql'; +END;' language plpgsql; SELECT * FROM test_ret_rec_dyn(1500) AS (a int, b int, c int); SELECT * FROM test_ret_rec_dyn(5) AS (a int, b numeric, c text); @@ -1658,7 +1658,7 @@ BEGIN ELSE RETURN FALSE; END IF; -END;' language 'plpgsql'; +END;' language plpgsql; create function perform_test_func() returns void as ' BEGIN @@ -1679,7 +1679,7 @@ BEGIN END IF; RETURN; -END;' language 'plpgsql'; +END;' language plpgsql; SELECT perform_test_func(); SELECT * FROM perform_test; @@ -1904,14 +1904,14 @@ begin open rc for select a from rc_test; return rc; end -$$ language 'plpgsql'; +$$ language plpgsql; create function refcursor_test1(refcursor) returns refcursor as $$ begin perform return_refcursor($1); return $1; end -$$ language 'plpgsql'; +$$ language plpgsql; begin; @@ -1940,7 +1940,7 @@ begin return false; end if; end -$$ language 'plpgsql'; +$$ language plpgsql; select refcursor_test2(20000, 20000) as "Should be false", refcursor_test2(20, 20) as "Should be true"; diff --git a/src/test/regress/sql/polymorphism.sql b/src/test/regress/sql/polymorphism.sql index 5175f9f93d1..13d691a9e80 100644 --- a/src/test/regress/sql/polymorphism.sql +++ b/src/test/regress/sql/polymorphism.sql @@ -37,32 +37,32 @@ -- functions, i.e. tf arg1 and tf return type must match -- polymorphic single arg transfn -CREATE FUNCTION stfp(anyarray) returns anyarray as -'select $1' language 'sql'; +CREATE FUNCTION stfp(anyarray) RETURNS anyarray AS +'select $1' LANGUAGE SQL; -- non-polymorphic single arg transfn -CREATE FUNCTION stfnp(int[]) returns int[] as -'select $1' language 'sql'; +CREATE FUNCTION stfnp(int[]) RETURNS int[] AS +'select $1' LANGUAGE SQL; -- dual polymorphic transfn -CREATE FUNCTION tfp(anyarray,anyelement) returns anyarray as -'select $1 || $2' language 'sql'; +CREATE FUNCTION tfp(anyarray,anyelement) RETURNS anyarray AS +'select $1 || $2' LANGUAGE SQL; -- dual non-polymorphic transfn -CREATE FUNCTION tfnp(int[],int) returns int[] as -'select $1 || $2' language 'sql'; +CREATE FUNCTION tfnp(int[],int) RETURNS int[] AS +'select $1 || $2' LANGUAGE SQL; -- arg1 only polymorphic transfn -CREATE FUNCTION tf1p(anyarray,int) returns anyarray as -'select $1' language 'sql'; +CREATE FUNCTION tf1p(anyarray,int) RETURNS anyarray AS +'select $1' LANGUAGE SQL; -- arg2 only polymorphic transfn -CREATE FUNCTION tf2p(int[],anyelement) returns int[] as -'select $1' language 'sql'; +CREATE FUNCTION tf2p(int[],anyelement) RETURNS int[] AS +'select $1' LANGUAGE SQL; -- finalfn polymorphic -CREATE FUNCTION ffp(anyarray) returns anyarray as -'select $1' language 'sql'; +CREATE FUNCTION ffp(anyarray) RETURNS anyarray AS +'select $1' LANGUAGE SQL; -- finalfn non-polymorphic CREATE FUNCTION ffnp(int[]) returns int[] as -'select $1' language 'sql'; +'select $1' LANGUAGE SQL; -- Try to cover all the possible states: -- diff --git a/src/test/regress/sql/portals.sql b/src/test/regress/sql/portals.sql index c0307874e80..43cbf05a90d 100644 --- a/src/test/regress/sql/portals.sql +++ b/src/test/regress/sql/portals.sql @@ -239,7 +239,7 @@ BEGIN; CREATE FUNCTION declares_cursor(text) RETURNS void AS 'DECLARE c CURSOR FOR SELECT stringu1 FROM tenk1 WHERE stringu1 LIKE $1;' - LANGUAGE 'sql'; + LANGUAGE SQL; SELECT declares_cursor('AB%'); diff --git a/src/test/regress/sql/rangefuncs.sql b/src/test/regress/sql/rangefuncs.sql index 50495897acd..c56e35ded4e 100644 --- a/src/test/regress/sql/rangefuncs.sql +++ b/src/test/regress/sql/rangefuncs.sql @@ -86,7 +86,7 @@ SELECT * FROM vw_getfoo; -- plpgsql, proretset = f, prorettype = b DROP VIEW vw_getfoo; DROP FUNCTION getfoo(int); -CREATE FUNCTION getfoo(int) RETURNS int AS 'DECLARE fooint int; BEGIN SELECT fooid into fooint FROM foo WHERE fooid = $1; RETURN fooint; END;' LANGUAGE 'plpgsql'; +CREATE FUNCTION getfoo(int) RETURNS int AS 'DECLARE fooint int; BEGIN SELECT fooid into fooint FROM foo WHERE fooid = $1; RETURN fooint; END;' LANGUAGE plpgsql; SELECT * FROM getfoo(1) AS t1; CREATE VIEW vw_getfoo AS SELECT * FROM getfoo(1); SELECT * FROM vw_getfoo; @@ -94,7 +94,7 @@ SELECT * FROM vw_getfoo; -- plpgsql, proretset = f, prorettype = c DROP VIEW vw_getfoo; DROP FUNCTION getfoo(int); -CREATE FUNCTION getfoo(int) RETURNS foo AS 'DECLARE footup foo%ROWTYPE; BEGIN SELECT * into footup FROM foo WHERE fooid = $1; RETURN footup; END;' LANGUAGE 'plpgsql'; +CREATE FUNCTION getfoo(int) RETURNS foo AS 'DECLARE footup foo%ROWTYPE; BEGIN SELECT * into footup FROM foo WHERE fooid = $1; RETURN footup; END;' LANGUAGE plpgsql; SELECT * FROM getfoo(1) AS t1; CREATE VIEW vw_getfoo AS SELECT * FROM getfoo(1); SELECT * FROM vw_getfoo; diff --git a/src/test/regress/sql/rules.sql b/src/test/regress/sql/rules.sql index ead8011a313..374e11d671c 100644 --- a/src/test/regress/sql/rules.sql +++ b/src/test/regress/sql/rules.sql @@ -431,7 +431,7 @@ create view rtest_vview4 as select X.a, X.b, count(Y.a) as refcount group by X.a, X.b; create function rtest_viewfunc1(int4) returns int4 as 'select count(*)::int4 from rtest_view2 where a = $1' - language 'sql'; + language sql; create view rtest_vview5 as select a, b, rtest_viewfunc1(a) as refcount from rtest_view1; diff --git a/src/test/regress/sql/triggers.sql b/src/test/regress/sql/triggers.sql index e4f3bc4308b..140b0f2d485 100644 --- a/src/test/regress/sql/triggers.sql +++ b/src/test/regress/sql/triggers.sql @@ -218,7 +218,7 @@ COPY main_table (a,b) FROM stdin; 80 15 \. -CREATE FUNCTION trigger_func() RETURNS trigger LANGUAGE 'plpgsql' AS ' +CREATE FUNCTION trigger_func() RETURNS trigger LANGUAGE plpgsql AS ' BEGIN RAISE NOTICE ''trigger_func() called: action = %, when = %, level = %'', TG_OP, TG_WHEN, TG_LEVEL; RETURN NULL; diff --git a/src/tutorial/funcs.source b/src/tutorial/funcs.source index 4dfdf278333..919ec7de28d 100644 --- a/src/tutorial/funcs.source +++ b/src/tutorial/funcs.source @@ -6,7 +6,7 @@ -- -- Copyright (c) 1994-5, Regents of the University of California -- --- $PostgreSQL: pgsql/src/tutorial/funcs.source,v 1.7 2003/11/29 22:41:33 pgsql Exp $ +-- $PostgreSQL: pgsql/src/tutorial/funcs.source,v 1.8 2006/02/27 16:09:50 petere Exp $ -- --------------------------------------------------------------------------- @@ -21,8 +21,8 @@ -- let's create a simple SQL function that takes no arguments and -- returns 1 -CREATE FUNCTION one() RETURNS int4 - AS 'SELECT 1 as ONE' LANGUAGE 'sql'; +CREATE FUNCTION one() RETURNS integer + AS 'SELECT 1 as ONE' LANGUAGE SQL; -- -- functions can be used in any expressions (eg. in the target list or @@ -34,8 +34,8 @@ SELECT one() AS answer; -- here's how you create a function that takes arguments. The following -- function returns the sum of its two arguments: -CREATE FUNCTION add_em(int4, int4) RETURNS int4 - AS 'SELECT $1 + $2' LANGUAGE 'sql'; +CREATE FUNCTION add_em(integer, integer) RETURNS integer + AS 'SELECT $1 + $2' LANGUAGE SQL; SELECT add_em(1, 2) AS answer; @@ -50,8 +50,8 @@ SELECT add_em(1, 2) AS answer; CREATE TABLE EMP ( name text, - salary int4, - age int4, + salary integer, + age integer, cubicle point ); @@ -64,8 +64,8 @@ INSERT INTO EMP VALUES ('Ginger', 4800, 30, '(2,4)'); -- the argument of a function can also be a tuple. For instance, -- double_salary takes a tuple of the EMP table -CREATE FUNCTION double_salary(EMP) RETURNS int4 - AS 'SELECT $1.salary * 2 AS salary' LANGUAGE 'sql'; +CREATE FUNCTION double_salary(EMP) RETURNS integer + AS 'SELECT $1.salary * 2 AS salary' LANGUAGE SQL; SELECT name, double_salary(EMP) AS dream FROM EMP @@ -80,7 +80,7 @@ CREATE FUNCTION new_emp() RETURNS EMP 1000 AS salary, 25 AS age, \'(2,2)\'::point AS cubicle' - LANGUAGE 'sql'; + LANGUAGE SQL; -- you can then project a column out of resulting the tuple by using the -- "function notation" for projection columns. (ie. bar(foo) is equivalent @@ -91,7 +91,7 @@ SELECT name(new_emp()) AS nobody; -- let's try one more function that returns tuples CREATE FUNCTION high_pay() RETURNS setof EMP AS 'SELECT * FROM EMP where salary > 1500' - LANGUAGE 'sql'; + LANGUAGE SQL; SELECT name(high_pay()) AS overpaid; @@ -109,10 +109,10 @@ SELECT name(high_pay()) AS overpaid; -- -- SELECT * FROM EMP; -- --- CREATE FUNCTION clean_EMP () RETURNS int4 +-- CREATE FUNCTION clean_EMP () RETURNS integer -- AS 'DELETE FROM EMP WHERE EMP.salary <= 0\; -- SELECT 1 AS ignore_this' --- LANGUAGE 'sql'; +-- LANGUAGE SQL; -- -- SELECT clean_EMP(); -- @@ -125,17 +125,17 @@ SELECT name(high_pay()) AS overpaid; -- See funcs.c for the definition of the C functions. ----------------------------- -CREATE FUNCTION add_one(int4) RETURNS int4 - AS '_OBJWD_/funcs' LANGUAGE 'c'; +CREATE FUNCTION add_one(integer) RETURNS integer + AS '_OBJWD_/funcs' LANGUAGE C; CREATE FUNCTION makepoint(point, point) RETURNS point - AS '_OBJWD_/funcs' LANGUAGE 'c'; + AS '_OBJWD_/funcs' LANGUAGE C; CREATE FUNCTION copytext(text) RETURNS text - AS '_OBJWD_/funcs' LANGUAGE 'c'; + AS '_OBJWD_/funcs' LANGUAGE C; -CREATE FUNCTION c_overpaid(EMP, int4) RETURNS bool - AS '_OBJWD_/funcs' LANGUAGE 'c'; +CREATE FUNCTION c_overpaid(EMP, integer) RETURNS boolean + AS '_OBJWD_/funcs' LANGUAGE C; SELECT add_one(3) AS four; @@ -149,14 +149,14 @@ WHERE name = 'Bill' or name = 'Sam'; -- remove functions that were created in this file -DROP FUNCTION c_overpaid(EMP, int4); +DROP FUNCTION c_overpaid(EMP, integer); DROP FUNCTION copytext(text); -DROP FUNCTION makepoint(point,point); -DROP FUNCTION add_one(int4); +DROP FUNCTION makepoint(point, point); +DROP FUNCTION add_one(integer); --DROP FUNCTION clean_EMP(); DROP FUNCTION high_pay(); DROP FUNCTION new_emp(); -DROP FUNCTION add_em(int4, int4); +DROP FUNCTION add_em(integer, integer); DROP FUNCTION one(); DROP FUNCTION double_salary(EMP); |