aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2006-02-27 16:09:50 +0000
committerPeter Eisentraut <peter_e@gmx.net>2006-02-27 16:09:50 +0000
commit7f4f42fa100872507ca10d8e0f7d923acc266ee8 (patch)
treec297cd70679cb60b470f8199ab707d80de108d5c /src
parentfe83b3ebc6b8d65fbb14100bdc476b7dbc32454c (diff)
downloadpostgresql-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')
-rw-r--r--src/backend/commands/functioncmds.c4
-rw-r--r--src/backend/utils/fmgr/README2
-rw-r--r--src/backend/utils/mb/conversion_procs/Makefile4
-rw-r--r--src/interfaces/ecpg/test/test_func.pgc2
-rw-r--r--src/pl/plpgsql/src/scan.l4
-rw-r--r--src/pl/tcl/expected/pltcl_setup.out18
-rw-r--r--src/pl/tcl/sql/pltcl_setup.sql18
-rw-r--r--src/test/regress/GNUmakefile4
-rw-r--r--src/test/regress/expected/copy2.out4
-rw-r--r--src/test/regress/expected/create_type.out8
-rw-r--r--src/test/regress/expected/plpgsql.out76
-rw-r--r--src/test/regress/expected/polymorphism.out30
-rw-r--r--src/test/regress/expected/portals.out2
-rw-r--r--src/test/regress/expected/rangefuncs.out4
-rw-r--r--src/test/regress/expected/rules.out2
-rw-r--r--src/test/regress/expected/triggers.out2
-rw-r--r--src/test/regress/input/create_function_1.source34
-rw-r--r--src/test/regress/input/create_function_2.source22
-rw-r--r--src/test/regress/output/create_function_1.source34
-rw-r--r--src/test/regress/output/create_function_2.source22
-rw-r--r--src/test/regress/sql/copy2.sql4
-rw-r--r--src/test/regress/sql/create_type.sql8
-rw-r--r--src/test/regress/sql/plpgsql.sql76
-rw-r--r--src/test/regress/sql/polymorphism.sql30
-rw-r--r--src/test/regress/sql/portals.sql2
-rw-r--r--src/test/regress/sql/rangefuncs.sql4
-rw-r--r--src/test/regress/sql/rules.sql2
-rw-r--r--src/test/regress/sql/triggers.sql2
-rw-r--r--src/tutorial/funcs.source46
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);