summaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2001-07-09 22:18:34 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2001-07-09 22:18:34 +0000
commit4fe42dfbc3bafa0ea615239d716a6b37d67da253 (patch)
tree38dae72295452dbaf3353007a5c663100fd4cb06 /src/interfaces/ecpg
parent8902f49abb37f16582593f3533bda62fb65beec1 (diff)
Add SHARE UPDATE EXCLUSIVE lock mode, coming soon to a VACUUM near you.
Name chosen per pghackers discussion around 6/22/01.
Diffstat (limited to 'src/interfaces/ecpg')
-rw-r--r--src/interfaces/ecpg/preproc/preproc.y20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y
index 2228c125d8a..e0626025d8f 100644
--- a/src/interfaces/ecpg/preproc/preproc.y
+++ b/src/interfaces/ecpg/preproc/preproc.y
@@ -326,7 +326,7 @@ make_name(void)
%type <str> createdb_opt_list opt_encoding OptInherit Geometric
%type <str> DropdbStmt ClusterStmt grantee RevokeStmt Bit bit
%type <str> GrantStmt privileges operation_commalist operation PosAllConst
-%type <str> opt_cursor opt_lmode ConstraintsSetStmt comment_tg AllConst
+%type <str> opt_cursor ConstraintsSetStmt comment_tg AllConst
%type <str> case_expr when_clause_list case_default case_arg when_clause
%type <str> select_clause opt_select_limit select_limit_value ConstraintTimeSpec
%type <str> select_offset_value ReindexStmt join_type opt_boolean
@@ -2440,15 +2440,15 @@ opt_lock: IN lock_type MODE { $$ = cat_str(3, make_str("in"), $2, ma
| /*EMPTY*/ { $$ = EMPTY;}
;
-lock_type: SHARE ROW EXCLUSIVE { $$ = make_str("share row exclusive"); }
- | ROW opt_lmode { $$ = cat2_str(make_str("row"), $2);}
- | ACCESS opt_lmode { $$ = cat2_str(make_str("access"), $2);}
- | opt_lmode { $$ = $1; }
- ;
-
-opt_lmode: SHARE { $$ = make_str("share"); }
- | EXCLUSIVE { $$ = make_str("exclusive"); }
- ;
+lock_type: ACCESS SHARE { $$ = make_str("access share"); }
+ | ROW SHARE { $$ = make_str("access share"); }
+ | ROW EXCLUSIVE { $$ = make_str("row exclusive"); }
+ | SHARE UPDATE EXCLUSIVE { $$ = make_str("share update exclusive"); }
+ | SHARE { $$ = make_str("share"); }
+ | SHARE ROW EXCLUSIVE { $$ = make_str("share row exclusive"); }
+ | EXCLUSIVE { $$ = make_str("exclusive"); }
+ | ACCESS EXCLUSIVE { $$ = make_str("access exclusive"); }
+ ;
/*****************************************************************************
*