diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-08-01 20:31:16 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-08-01 20:31:16 +0000 |
commit | 2a4fad1a0e43d6375ffa8eddb2d8dfa1ed36593f (patch) | |
tree | bb2bc2208507b0ab2403850e8dd01003a4ed73e9 /src/backend/nodes/outfuncs.c | |
parent | ca7abcd89dbeecb82cde50fccf4f6c483244fdf7 (diff) | |
download | postgresql-2a4fad1a0e43d6375ffa8eddb2d8dfa1ed36593f.tar.gz postgresql-2a4fad1a0e43d6375ffa8eddb2d8dfa1ed36593f.zip |
Add NOWAIT option to SELECT FOR UPDATE/SHARE.
Original patch by Hans-Juergen Schoenig, revisions by Karel Zak
and Tom Lane.
Diffstat (limited to 'src/backend/nodes/outfuncs.c')
-rw-r--r-- | src/backend/nodes/outfuncs.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 0b905dd043d..c3a19431c48 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/nodes/outfuncs.c,v 1.258 2005/07/02 23:00:39 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/nodes/outfuncs.c,v 1.259 2005/08/01 20:31:08 tgl Exp $ * * NOTES * Every node type that can appear in stored rules' parsetrees *must* @@ -1343,8 +1343,7 @@ _outSelectStmt(StringInfo str, SelectStmt *node) WRITE_NODE_FIELD(sortClause); WRITE_NODE_FIELD(limitOffset); WRITE_NODE_FIELD(limitCount); - WRITE_NODE_FIELD(lockedRels); - WRITE_BOOL_FIELD(forUpdate); + WRITE_NODE_FIELD(lockingClause); WRITE_ENUM_FIELD(op, SetOperation); WRITE_BOOL_FIELD(all); WRITE_NODE_FIELD(larg); @@ -1372,6 +1371,16 @@ _outDefElem(StringInfo str, DefElem *node) } static void +_outLockingClause(StringInfo str, LockingClause *node) +{ + WRITE_NODE_TYPE("LOCKINGCLAUSE"); + + WRITE_NODE_FIELD(lockedRels); + WRITE_BOOL_FIELD(forUpdate); + WRITE_BOOL_FIELD(nowait); +} + +static void _outColumnDef(StringInfo str, ColumnDef *node) { WRITE_NODE_TYPE("COLUMNDEF"); @@ -1462,6 +1471,7 @@ _outQuery(StringInfo str, Query *node) WRITE_NODE_FIELD(jointree); WRITE_NODE_FIELD(rowMarks); WRITE_BOOL_FIELD(forUpdate); + WRITE_BOOL_FIELD(rowNoWait); WRITE_NODE_FIELD(targetList); WRITE_NODE_FIELD(groupClause); WRITE_NODE_FIELD(havingQual); @@ -2079,6 +2089,9 @@ _outNode(StringInfo str, void *obj) case T_DefElem: _outDefElem(str, obj); break; + case T_LockingClause: + _outLockingClause(str, obj); + break; default: |