diff options
author | Vadim B. Mikheev <vadim4o@yahoo.com> | 1998-12-18 09:10:39 +0000 |
---|---|---|
committer | Vadim B. Mikheev <vadim4o@yahoo.com> | 1998-12-18 09:10:39 +0000 |
commit | 3498d878cb5951fcfaae2ca78f46eacf0b140e7b (patch) | |
tree | c43274bd808bc8fe445cd6d319aebefc176a9436 /src/backend/commands/command.c | |
parent | c7da80bb9a14b0b4b55574b0efa356128190936e (diff) | |
download | postgresql-3498d878cb5951fcfaae2ca78f46eacf0b140e7b.tar.gz postgresql-3498d878cb5951fcfaae2ca78f46eacf0b140e7b.zip |
SET TRANSACTION ISOLATION LEVEL ...
LOCK TABLE IN ... MODE
...implemented
Diffstat (limited to 'src/backend/commands/command.c')
-rw-r--r-- | src/backend/commands/command.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/backend/commands/command.c b/src/backend/commands/command.c index f1fc29f6f6e..abbe30f9069 100644 --- a/src/backend/commands/command.c +++ b/src/backend/commands/command.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.34 1998/12/15 12:45:52 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.35 1998/12/18 09:10:18 vadim Exp $ * * NOTES * The PortalExecutorHeapMemory crap needs to be eliminated @@ -39,6 +39,7 @@ #include "utils/mcxt.h" #include "utils/portal.h" #include "utils/syscache.h" +#include "miscadmin.h" /* ---------------- * PortalExecutorHeapMemory stuff @@ -492,3 +493,25 @@ PerformAddAttribute(char *relationName, pfree(reltup); heap_close(rel); } + +void +LockTableCommand(LockStmt *lockstmt) +{ + Relation rel; + int aclresult; + + rel = heap_openr(lockstmt->relname); + if (rel == NULL) + elog(ERROR, "LOCK TABLE: relation %s can't be openned", lockstmt->relname); + + if (lockstmt->mode == AccessShareLock) + aclresult = pg_aclcheck(lockstmt->relname, GetPgUserName(), ACL_RD); + else + aclresult = pg_aclcheck(lockstmt->relname, GetPgUserName(), ACL_WR); + + if (aclresult != ACLCHECK_OK) + elog(ERROR, "LOCK TABLE: permission denied"); + + LockRelation(rel, lockstmt->mode); + +} |