diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2006-08-18 16:09:13 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2006-08-18 16:09:13 +0000 |
commit | 7aa772f03e03c361683cf05c8cd66a9bfc8956c7 (patch) | |
tree | 4fb82294b3cdbdb9ddb9b8bd3c81407d6189bb57 /src/backend/commands/lockcmds.c | |
parent | e91600d1c2e79914e6c8ac445c340e704c710b66 (diff) | |
download | postgresql-7aa772f03e03c361683cf05c8cd66a9bfc8956c7.tar.gz postgresql-7aa772f03e03c361683cf05c8cd66a9bfc8956c7.zip |
Now that we've rearranged relation open to get a lock before touching
the rel, it's easy to get rid of the narrow race-condition window that
used to exist in VACUUM and CLUSTER. Did some minor code-beautification
work in the same area, too.
Diffstat (limited to 'src/backend/commands/lockcmds.c')
-rw-r--r-- | src/backend/commands/lockcmds.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/backend/commands/lockcmds.c b/src/backend/commands/lockcmds.c index a84b1b2cded..a5e10b793e6 100644 --- a/src/backend/commands/lockcmds.c +++ b/src/backend/commands/lockcmds.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/lockcmds.c,v 1.14 2006/03/05 15:58:24 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/commands/lockcmds.c,v 1.15 2006/08/18 16:09:08 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -59,7 +59,10 @@ LockTableCommand(LockStmt *lockstmt) aclcheck_error(aclresult, ACL_KIND_CLASS, get_rel_name(reloid)); - rel = conditional_relation_open(reloid, lockstmt->mode, lockstmt->nowait); + if (lockstmt->nowait) + rel = relation_open_nowait(reloid, lockstmt->mode); + else + rel = relation_open(reloid, lockstmt->mode); /* Currently, we only allow plain tables to be locked */ if (rel->rd_rel->relkind != RELKIND_RELATION) |