1111 *
1212 *
1313 * 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 $
1515 *
1616 * HISTORY
1717 * AUTHORDATEMAJOR EVENT
@@ -169,6 +169,7 @@ static void doNegateFloat(Value *v);
169169%type <ival> opt_lock lock_type cast_context
170170%type <boolean> opt_force opt_or_replace transaction_access_mode
171171opt_grant_grant_option opt_revoke_grant_option
172+ opt_nowait
172173
173174%type <boolean> like_including_defaults
174175
@@ -375,7 +376,7 @@ static void doNegateFloat(Value *v);
375376MATCH MAXVALUE MINUTE_P MINVALUE MODE MONTH_P MOVE
376377
377378NAMES 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
379380NULLIF NUMERIC
380381
381382OBJECT_P OF OFF OFFSET OIDS OLD ON ONLY OPERATOR OPTION OR
@@ -4347,12 +4348,13 @@ DeleteStmt: DELETE_P FROM relation_expr where_clause
43474348}
43484349;
43494350
4350- LockStmt:LOCK_P opt_table qualified_name_list opt_lock
4351+ LockStmt:LOCK_P opt_table qualified_name_list opt_lock opt_nowait
43514352{
43524353LockStmt *n =makeNode (LockStmt);
43534354
43544355n->relations = $3 ;
43554356n->mode = $4 ;
4357+ n->nowait = $5 ;
43564358$$ = (Node *)n;
43574359}
43584360;
@@ -4371,6 +4373,10 @@ lock_type:ACCESS SHARE{ $$ = AccessShareLock; }
43714373| ACCESS EXCLUSIVE{ $$ = AccessExclusiveLock; }
43724374;
43734375
4376+ opt_nowait:NOWAIT { $$ =TRUE ; }
4377+ |/* EMPTY*/ { $$ =FALSE ; }
4378+ ;
4379+
43744380
43754381/* ****************************************************************************
43764382 *
@@ -7683,6 +7689,7 @@ reserved_keyword:
76837689| LOCALTIMESTAMP
76847690| NEW
76857691| NOT
7692+ | NOWAIT
76867693| NULL_P
76877694| OFF
76887695| OFFSET