11
11
*
12
12
*
13
13
* IDENTIFICATION
14
- * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.447 2004/03/09 05:05:41 momjian Exp $
14
+ * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.448 2004/03/11 01:47:37 ishii Exp $
15
15
*
16
16
* HISTORY
17
17
* AUTHORDATEMAJOR EVENT
@@ -169,6 +169,7 @@ static void doNegateFloat(Value *v);
169
169
%type <ival> opt_lock lock_type cast_context
170
170
%type <boolean> opt_force opt_or_replace transaction_access_mode
171
171
opt_grant_grant_option opt_revoke_grant_option
172
+ opt_nowait
172
173
173
174
%type <boolean> like_including_defaults
174
175
@@ -375,7 +376,7 @@ static void doNegateFloat(Value *v);
375
376
MATCH MAXVALUE MINUTE_P MINVALUE MODE MONTH_P MOVE
376
377
377
378
NAMES NATIONAL NATURAL NCHAR NEW NEXT NO NOCREATEDB
378
- NOCREATEUSER NONE NOT NOTHING NOTIFY NOTNULL NULL_P
379
+ NOCREATEUSER NONE NOT NOTHING NOTIFY NOTNULLNOWAIT NULL_P
379
380
NULLIF NUMERIC
380
381
381
382
OBJECT_P OF OFF OFFSET OIDS OLD ON ONLY OPERATOR OPTION OR
@@ -4347,12 +4348,13 @@ DeleteStmt: DELETE_P FROM relation_expr where_clause
4347
4348
}
4348
4349
;
4349
4350
4350
- LockStmt:LOCK_P opt_table qualified_name_list opt_lock
4351
+ LockStmt:LOCK_P opt_table qualified_name_list opt_lock opt_nowait
4351
4352
{
4352
4353
LockStmt *n =makeNode (LockStmt);
4353
4354
4354
4355
n->relations = $3 ;
4355
4356
n->mode = $4 ;
4357
+ n->nowait = $5 ;
4356
4358
$$ = (Node *)n;
4357
4359
}
4358
4360
;
@@ -4371,6 +4373,10 @@ lock_type:ACCESS SHARE{ $$ = AccessShareLock; }
4371
4373
| ACCESS EXCLUSIVE{ $$ = AccessExclusiveLock; }
4372
4374
;
4373
4375
4376
+ opt_nowait:NOWAIT { $$ =TRUE ; }
4377
+ |/* EMPTY*/ { $$ =FALSE ; }
4378
+ ;
4379
+
4374
4380
4375
4381
/* ****************************************************************************
4376
4382
*
@@ -7683,6 +7689,7 @@ reserved_keyword:
7683
7689
| LOCALTIMESTAMP
7684
7690
| NEW
7685
7691
| NOT
7692
+ | NOWAIT
7686
7693
| NULL_P
7687
7694
| OFF
7688
7695
| OFFSET