diff options
author | Marc G. Fournier <scrappy@hub.org> | 1998-08-25 21:37:08 +0000 |
---|---|---|
committer | Marc G. Fournier <scrappy@hub.org> | 1998-08-25 21:37:08 +0000 |
commit | f62d1253eff4622f6ff0b76f8f0f2eca793bd608 (patch) | |
tree | e28e49785256ce9f46f924bc518b0dfeda0d80a6 /src/backend | |
parent | 7414d619507ed9e2cdb5113ff77df55feef786c4 (diff) | |
download | postgresql-f62d1253eff4622f6ff0b76f8f0f2eca793bd608.tar.gz postgresql-f62d1253eff4622f6ff0b76f8f0f2eca793bd608.zip |
From: Massimo Dal Zotto <dz@cs.unitn.it>
> these patches define the UNLISTEN sql command. The code already
> existed but it was unknown to the parser. Now it can be used
> like the listen command.
> You must make clean and delete gram.c and parser.h before make.
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/parser/gram.y | 13 | ||||
-rw-r--r-- | src/backend/parser/keywords.c | 3 | ||||
-rw-r--r-- | src/backend/tcop/utility.c | 13 |
3 files changed, 25 insertions, 4 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index bdbe286d21f..eb8e2cc6311 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.25 1998/08/25 15:04:23 thomas Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.26 1998/08/25 21:36:53 scrappy Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -122,7 +122,7 @@ Oid param_type(int t); /* used in parse_expr.c */ CopyStmt, CreateStmt, CreateAsStmt, CreateSeqStmt, DefineStmt, DestroyStmt, ExtendStmt, FetchStmt, GrantStmt, CreateTrigStmt, DropTrigStmt, CreatePLangStmt, DropPLangStmt, - IndexStmt, ListenStmt, LockStmt, OptimizableStmt, + IndexStmt, ListenStmt, UnlistenStmt, LockStmt, OptimizableStmt, ProcedureStmt, RecipeStmt, RemoveAggrStmt, RemoveOperStmt, RemoveFuncStmt, RemoveStmt, RenameStmt, RevokeStmt, RuleStmt, TransactionStmt, ViewStmt, LoadStmt, @@ -378,6 +378,7 @@ stmt : AddAttrStmt | GrantStmt | IndexStmt | ListenStmt + | UnlistenStmt | LockStmt | ProcedureStmt | RecipeStmt @@ -2039,6 +2040,14 @@ ListenStmt: LISTEN relation_name } ; +UnlistenStmt: UNLISTEN relation_name + { + UnlistenStmt *n = makeNode(UnlistenStmt); + n->relname = $2; + $$ = (Node *)n; + } +; + /***************************************************************************** * diff --git a/src/backend/parser/keywords.c b/src/backend/parser/keywords.c index f04dbf63573..2d343fe70ea 100644 --- a/src/backend/parser/keywords.c +++ b/src/backend/parser/keywords.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.41 1998/08/25 15:04:24 thomas Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.42 1998/08/25 21:36:55 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -209,6 +209,7 @@ static ScanKeyword ScanKeywords[] = { {"type", TYPE_P}, {"union", UNION}, {"unique", UNIQUE}, + {"unlisten", UNLISTEN}, {"until", UNTIL}, {"update", UPDATE}, {"user", USER}, diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index dba3403e6b3..a8203a40e42 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.47 1998/08/25 21:24:09 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.48 1998/08/25 21:36:56 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -594,6 +594,17 @@ ProcessUtility(Node *parsetree, } break; + case T_UnlistenStmt: + { + UnlistenStmt *stmt = (UnlistenStmt *) parsetree; + + PS_SET_STATUS( commandTag = "UNLISTEN" ); + CHECK_IF_ABORTED(); + + Async_Unlisten(stmt->relname, MyProcPid); + } + break; + /* * ******************************** dynamic loader ******************************** * |