diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/parser/gram.y | 5 | ||||
-rw-r--r-- | src/backend/parser/keywords.c | 3 | ||||
-rw-r--r-- | src/test/regress/expected/rules.out | 8 | ||||
-rw-r--r-- | src/test/regress/sql/rules.sql | 8 |
4 files changed, 13 insertions, 11 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 60570716537..20db7fc6213 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.446 2004/01/11 04:58:17 neilc Exp $ + * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.447 2004/03/09 05:05:41 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -332,7 +332,7 @@ static void doNegateFloat(Value *v); /* ordinary key words in alphabetical order */ %token <keyword> ABORT_P ABSOLUTE_P ACCESS ACTION ADD AFTER - AGGREGATE ALL ALTER ANALYSE ANALYZE AND ANY ARRAY AS ASC + AGGREGATE ALL ALSO ALTER ANALYSE ANALYZE AND ANY ARRAY AS ASC ASSERTION ASSIGNMENT AT AUTHORIZATION BACKWARD BEFORE BEGIN_P BETWEEN BIGINT BINARY BIT @@ -3610,6 +3610,7 @@ event: SELECT { $$ = CMD_SELECT; } opt_instead: INSTEAD { $$ = TRUE; } + | ALSO { $$ = FALSE; } | /*EMPTY*/ { $$ = FALSE; } ; diff --git a/src/backend/parser/keywords.c b/src/backend/parser/keywords.c index a94786690ed..24430a9cc60 100644 --- a/src/backend/parser/keywords.c +++ b/src/backend/parser/keywords.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/keywords.c,v 1.145 2004/02/21 00:34:52 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/parser/keywords.c,v 1.146 2004/03/09 05:05:41 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -38,6 +38,7 @@ static const ScanKeyword ScanKeywords[] = { {"after", AFTER}, {"aggregate", AGGREGATE}, {"all", ALL}, + {"also", ALSO}, {"alter", ALTER}, {"analyse", ANALYSE}, /* British spelling */ {"analyze", ANALYZE}, diff --git a/src/test/regress/expected/rules.out b/src/test/regress/expected/rules.out index f7f5db4244e..902ff4472f6 100644 --- a/src/test/regress/expected/rules.out +++ b/src/test/regress/expected/rules.out @@ -34,19 +34,19 @@ create table rtest_system (sysname text, sysdesc text); create table rtest_interface (sysname text, ifname text); create table rtest_person (pname text, pdesc text); create table rtest_admin (pname text, sysname text); -create rule rtest_sys_upd as on update to rtest_system do ( +create rule rtest_sys_upd as on update to rtest_system do also ( update rtest_interface set sysname = new.sysname where sysname = old.sysname; update rtest_admin set sysname = new.sysname where sysname = old.sysname ); -create rule rtest_sys_del as on delete to rtest_system do ( +create rule rtest_sys_del as on delete to rtest_system do also ( delete from rtest_interface where sysname = old.sysname; delete from rtest_admin where sysname = old.sysname; ); -create rule rtest_pers_upd as on update to rtest_person do +create rule rtest_pers_upd as on update to rtest_person do also update rtest_admin set pname = new.pname where pname = old.pname; -create rule rtest_pers_del as on delete to rtest_person do +create rule rtest_pers_del as on delete to rtest_person do also delete from rtest_admin where pname = old.pname; -- -- Tables and rules for the logging test diff --git a/src/test/regress/sql/rules.sql b/src/test/regress/sql/rules.sql index 55c3805bd5f..908c9804628 100644 --- a/src/test/regress/sql/rules.sql +++ b/src/test/regress/sql/rules.sql @@ -36,22 +36,22 @@ create table rtest_interface (sysname text, ifname text); create table rtest_person (pname text, pdesc text); create table rtest_admin (pname text, sysname text); -create rule rtest_sys_upd as on update to rtest_system do ( +create rule rtest_sys_upd as on update to rtest_system do also ( update rtest_interface set sysname = new.sysname where sysname = old.sysname; update rtest_admin set sysname = new.sysname where sysname = old.sysname ); -create rule rtest_sys_del as on delete to rtest_system do ( +create rule rtest_sys_del as on delete to rtest_system do also ( delete from rtest_interface where sysname = old.sysname; delete from rtest_admin where sysname = old.sysname; ); -create rule rtest_pers_upd as on update to rtest_person do +create rule rtest_pers_upd as on update to rtest_person do also update rtest_admin set pname = new.pname where pname = old.pname; -create rule rtest_pers_del as on delete to rtest_person do +create rule rtest_pers_del as on delete to rtest_person do also delete from rtest_admin where pname = old.pname; -- |