diff options
| author | Tatsuo Ishii <ishii@postgresql.org> | 2004-03-11 01:47:41 +0000 |
|---|---|---|
| committer | Tatsuo Ishii <ishii@postgresql.org> | 2004-03-11 01:47:41 +0000 |
| commit | 0b86ade1c2f3dcd2407e535baad1654e65252316 (patch) | |
| tree | f643be1064f229e2245c30467e2d12923ba0f677 /src/backend/parser | |
| parent | 60a068b3897a27cbb1a13a6b050d05a0ca479055 (diff) | |
Add NOWAIT option to LOCK command
Diffstat (limited to 'src/backend/parser')
| -rw-r--r-- | src/backend/parser/gram.y | 13 | ||||
| -rw-r--r-- | src/backend/parser/keywords.c | 3 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 20db7fc6213..9fd2e5b5795 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.447 2004/03/09 05:05:41 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.448 2004/03/11 01:47:37 ishii Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -169,6 +169,7 @@ static void doNegateFloat(Value *v); %type <ival> opt_lock lock_type cast_context %type <boolean> opt_force opt_or_replace transaction_access_mode opt_grant_grant_option opt_revoke_grant_option + opt_nowait %type <boolean> like_including_defaults @@ -375,7 +376,7 @@ static void doNegateFloat(Value *v); MATCH MAXVALUE MINUTE_P MINVALUE MODE MONTH_P MOVE NAMES NATIONAL NATURAL NCHAR NEW NEXT NO NOCREATEDB - NOCREATEUSER NONE NOT NOTHING NOTIFY NOTNULL NULL_P + NOCREATEUSER NONE NOT NOTHING NOTIFY NOTNULL NOWAIT NULL_P NULLIF NUMERIC OBJECT_P OF OFF OFFSET OIDS OLD ON ONLY OPERATOR OPTION OR @@ -4347,12 +4348,13 @@ DeleteStmt: DELETE_P FROM relation_expr where_clause } ; -LockStmt: LOCK_P opt_table qualified_name_list opt_lock +LockStmt: LOCK_P opt_table qualified_name_list opt_lock opt_nowait { LockStmt *n = makeNode(LockStmt); n->relations = $3; n->mode = $4; + n->nowait = $5; $$ = (Node *)n; } ; @@ -4371,6 +4373,10 @@ lock_type: ACCESS SHARE { $$ = AccessShareLock; } | ACCESS EXCLUSIVE { $$ = AccessExclusiveLock; } ; +opt_nowait: NOWAIT { $$ = TRUE; } + | /*EMPTY*/ { $$ = FALSE; } + ; + /***************************************************************************** * @@ -7683,6 +7689,7 @@ reserved_keyword: | LOCALTIMESTAMP | NEW | NOT + | NOWAIT | NULL_P | OFF | OFFSET diff --git a/src/backend/parser/keywords.c b/src/backend/parser/keywords.c index 24430a9cc60..54ac767126f 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.146 2004/03/09 05:05:41 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/parser/keywords.c,v 1.147 2004/03/11 01:47:40 ishii Exp $ * *------------------------------------------------------------------------- */ @@ -213,6 +213,7 @@ static const ScanKeyword ScanKeywords[] = { {"nothing", NOTHING}, {"notify", NOTIFY}, {"notnull", NOTNULL}, + {"nowait", NOWAIT}, {"null", NULL_P}, {"nullif", NULLIF}, {"numeric", NUMERIC}, |
