diff options
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/commands/command.c | 18 | ||||
-rw-r--r-- | src/backend/commands/creatinh.c | 22 | ||||
-rw-r--r-- | src/backend/commands/user.c | 39 | ||||
-rw-r--r-- | src/backend/parser/gram.y | 67 | ||||
-rw-r--r-- | src/backend/parser/keywords.c | 8 | ||||
-rw-r--r-- | src/backend/tcop/pquery.c | 22 |
6 files changed, 30 insertions, 146 deletions
diff --git a/src/backend/commands/command.c b/src/backend/commands/command.c index 48d2b4cbc34..6ae7792e10f 100644 --- a/src/backend/commands/command.c +++ b/src/backend/commands/command.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.78 2000/06/09 15:50:43 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.79 2000/06/12 03:40:29 momjian Exp $ * * NOTES * The PortalExecutorHeapMemory crap needs to be eliminated @@ -30,7 +30,6 @@ #include "commands/command.h" #include "executor/spi.h" #include "catalog/heap.h" -#include "catalog/pg_shadow.h" #include "miscadmin.h" #include "optimizer/prep.h" #include "utils/acl.h" @@ -1212,21 +1211,6 @@ LockTableCommand(LockStmt *lockstmt) { Relation rel; int aclresult; - HeapTuple tup; - - - /* ---------- - * Check pg_shadow for global lock setting - * ---------- - */ - tup = SearchSysCacheTuple(SHADOWNAME, PointerGetDatum(GetPgUserName()), 0, 0, 0); - - if (!HeapTupleIsValid(tup)) - elog(ERROR, "LOCK TABLE: look at pg_shadow failed"); - - if (!((Form_pg_shadow) GETSTRUCT(tup))->uselocktable) - elog(ERROR, "LOCK TABLE: permission denied"); - rel = heap_openr(lockstmt->relname, NoLock); if (!RelationIsValid(rel)) diff --git a/src/backend/commands/creatinh.c b/src/backend/commands/creatinh.c index 4d52b9aad76..401379f505c 100644 --- a/src/backend/commands/creatinh.c +++ b/src/backend/commands/creatinh.c @@ -9,9 +9,9 @@ * * IDENTIFICATION <<<<<<< creatinh.c - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.60 2000/06/09 15:50:43 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.61 2000/06/12 03:40:29 momjian Exp $ ======= - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.60 2000/06/09 15:50:43 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.61 2000/06/12 03:40:29 momjian Exp $ >>>>>>> 1.58 * *------------------------------------------------------------------------- @@ -26,10 +26,8 @@ #include "catalog/pg_inherits.h" #include "catalog/pg_ipl.h" #include "catalog/pg_type.h" -#include "catalog/pg_shadow.h" #include "commands/creatinh.h" #include "utils/syscache.h" -#include "miscadmin.h" /* ---------------- * local stuff @@ -65,22 +63,6 @@ DefineRelation(CreateStmt *stmt, char relkind) int i; AttrNumber attnum; - if (!stmt->istemp) { - HeapTuple tup; - - /* ---------- - * Check pg_shadow for global createTable setting - * ---------- - */ - tup = SearchSysCacheTuple(SHADOWNAME, PointerGetDatum(GetPgUserName()), 0, 0, 0); - - if (!HeapTupleIsValid(tup)) - elog(ERROR, "CREATE TABLE: look at pg_shadow failed"); - - if (!((Form_pg_shadow) GETSTRUCT(tup))->usecreatetable) - elog(ERROR, "CREATE TABLE: permission denied"); - } - if (strlen(stmt->relname) >= NAMEDATALEN) elog(ERROR, "the relation name %s is >= %d characters long", stmt->relname, NAMEDATALEN); diff --git a/src/backend/commands/user.c b/src/backend/commands/user.c index 512c5b4c2a3..0b46b6b97d2 100644 --- a/src/backend/commands/user.c +++ b/src/backend/commands/user.c @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Header: /cvsroot/pgsql/src/backend/commands/user.c,v 1.59 2000/06/09 15:50:43 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/user.c,v 1.60 2000/06/12 03:40:29 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -250,10 +250,6 @@ CreateUser(CreateUserStmt *stmt) return; } - AssertState(BoolIsValid(stmt->createtable)); - new_record[Anum_pg_shadow_usecreatetable-1] = (Datum)(stmt->createtable); - AssertState(BoolIsValid(stmt->locktable)); - new_record[Anum_pg_shadow_uselocktable-1] = (Datum)(stmt->locktable); /* * Build a tuple to insert */ @@ -267,8 +263,6 @@ CreateUser(CreateUserStmt *stmt) AssertState(BoolIsValid(stmt->createuser)); new_record[Anum_pg_shadow_usesuper - 1] = (Datum) (stmt->createuser); /* superuser gets catupd right by default */ - new_record_nulls[Anum_pg_shadow_usecreatetable-1] = ' '; - new_record_nulls[Anum_pg_shadow_uselocktable-1] = ' '; new_record[Anum_pg_shadow_usecatupd - 1] = (Datum) (stmt->createuser); if (stmt->password) @@ -358,8 +352,7 @@ AlterUser(AlterUserStmt *stmt) /* must be superuser or just want to change your own password */ if (!superuser() && - !(stmt->createdb==0 && stmt->createuser==0 && stmt->createtable==0 - && stmt->locktable==0 && !stmt->validUntil + !(stmt->createdb == 0 && stmt->createuser == 0 && !stmt->validUntil && stmt->password && strcmp(GetPgUserName(), stmt->user) == 0)) elog(ERROR, "ALTER USER: permission denied"); @@ -387,32 +380,8 @@ AlterUser(AlterUserStmt *stmt) /* * Build a tuple to update, perusing the information just obtained */ - - /* createtable */ - if (stmt->createtable == 0) - { - /* don't change */ - new_record[Anum_pg_shadow_usecreatetable-1] = heap_getattr(tuple, Anum_pg_shadow_usecreatetable, pg_shadow_dsc, &null); - new_record_nulls[Anum_pg_shadow_usecreatetable-1] = null ? 'n' : ' '; - } - else - { - new_record[Anum_pg_shadow_usecreatetable-1] = (Datum)(stmt->createtable > 0 ? true : false); - new_record_nulls[Anum_pg_shadow_usecreatetable-1] = ' '; - } - - /* locktable */ - if (stmt->locktable == 0) - { - /* don't change */ - new_record[Anum_pg_shadow_uselocktable-1] = heap_getattr(tuple, Anum_pg_shadow_uselocktable, pg_shadow_dsc, &null); - new_record_nulls[Anum_pg_shadow_uselocktable-1] = null ? 'n' : ' '; - } - else - { - new_record[Anum_pg_shadow_uselocktable-1] = (Datum)(stmt->locktable > 0 ? true : false); - new_record_nulls[Anum_pg_shadow_uselocktable-1] = ' '; - } + new_record[Anum_pg_shadow_usename - 1] = PointerGetDatum(namein(stmt->user)); + new_record_nulls[Anum_pg_shadow_usename - 1] = ' '; /* sysid - leave as is */ new_record[Anum_pg_shadow_usesysid - 1] = heap_getattr(tuple, Anum_pg_shadow_usesysid, pg_shadow_dsc, &null); diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 8506d005218..925d2ab77f6 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.171 2000/06/09 15:50:44 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.172 2000/06/12 03:40:30 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -145,8 +145,7 @@ static void doNegateFloat(Value *v); %type <ival> opt_lock, lock_type %type <boolean> opt_lmode, opt_force -%type <ival> user_createdb_clause, user_createuser_clause, user_createtable_clause, - user_locktable_clause +%type <ival> user_createdb_clause, user_createuser_clause %type <str> user_passwd_clause %type <ival> sysid_clause %type <str> user_valid_clause @@ -340,14 +339,14 @@ static void doNegateFloat(Value *v); */ %token ABORT_TRANS, ACCESS, AFTER, AGGREGATE, ANALYZE, BACKWARD, BEFORE, BINARY, BIT, - CACHE, CLUSTER, COMMENT, COPY, CREATEDB, CREATETABLE, CREATEUSER, CYCLE, + CACHE, CLUSTER, COMMENT, COPY, CREATEDB, CREATEUSER, CYCLE, DATABASE, DELIMITERS, DO, EACH, ENCODING, EXCLUSIVE, EXPLAIN, EXTEND, FORCE, FORWARD, FUNCTION, HANDLER, INCREMENT, INDEX, INHERITS, INSTEAD, ISNULL, - LANCOMPILER, LIMIT, LISTEN, LOAD, LOCATION, LOCK_P, LOCKTABLE, + LANCOMPILER, LIMIT, LISTEN, LOAD, LOCATION, LOCK_P, MAXVALUE, MINVALUE, MODE, MOVE, - NEW, NOCREATEDB, NOCREATETABLE, NOCREATEUSER, NOLOCKTABLE, NONE, NOTHING, NOTIFY, NOTNULL, + NEW, NOCREATEDB, NOCREATEUSER, NONE, NOTHING, NOTIFY, NOTNULL, OFFSET, OIDS, OPERATOR, PASSWORD, PROCEDURAL, REINDEX, RENAME, RESET, RETURNS, ROW, RULE, SEQUENCE, SERIAL, SETOF, SHARE, SHOW, START, STATEMENT, STDIN, STDOUT, SYSID, @@ -474,37 +473,32 @@ stmt : AlterTableStmt * *****************************************************************************/ -CreateUserStmt: CREATE USER UserId user_createdb_clause user_createuser_clause - user_createtable_clause user_locktable_clause user_group_clause +CreateUserStmt: CREATE USER UserId + user_createdb_clause user_createuser_clause user_group_clause user_valid_clause { CreateUserStmt *n = makeNode(CreateUserStmt); n->user = $3; - n->sysid = -1; + n->sysid = -1; n->password = NULL; n->createdb = $4 == +1 ? true : false; n->createuser = $5 == +1 ? true : false; - n->createtable = $6 == +1 ? true : false; - n->locktable = $7 == +1 ? true : false; - n->groupElts = $8; - n->validUntil = $9; + n->groupElts = $6; + n->validUntil = $7; $$ = (Node *)n; } | CREATE USER UserId WITH sysid_clause user_passwd_clause - user_createdb_clause user_createuser_clause - user_createtable_clause user_locktable_clause user_group_clause + user_createdb_clause user_createuser_clause user_group_clause user_valid_clause { CreateUserStmt *n = makeNode(CreateUserStmt); n->user = $3; - n->sysid = $5; + n->sysid = $5; n->password = $6; n->createdb = $7 == +1 ? true : false; n->createuser = $8 == +1 ? true : false; - n->createtable = $9 == +1 ? true : false; - n->locktable = $10 == +1 ? true : false; - n->groupElts = $11; - n->validUntil = $12; + n->groupElts = $9; + n->validUntil = $10; $$ = (Node *)n; } ; @@ -516,32 +510,27 @@ CreateUserStmt: CREATE USER UserId user_createdb_clause user_createuser_clause * *****************************************************************************/ -AlterUserStmt: ALTER USER UserId user_createdb_clause user_createuser_clause - user_createtable_clause user_locktable_clause user_valid_clause +AlterUserStmt: ALTER USER UserId user_createdb_clause + user_createuser_clause user_valid_clause { AlterUserStmt *n = makeNode(AlterUserStmt); n->user = $3; n->password = NULL; n->createdb = $4; n->createuser = $5; - n->createtable = $6; - n->locktable = $7; - n->validUntil = $8; + n->validUntil = $6; $$ = (Node *)n; } | ALTER USER UserId WITH PASSWORD Sconst - user_createdb_clause user_createuser_clause - user_createtable_clause user_locktable_clause - user_valid_clause + user_createdb_clause + user_createuser_clause user_valid_clause { AlterUserStmt *n = makeNode(AlterUserStmt); n->user = $3; n->password = $6; n->createdb = $7; n->createuser = $8; - n->createtable = $9; - n->locktable = $10; - n->validUntil = $11; + n->validUntil = $9; $$ = (Node *)n; } ; @@ -584,22 +573,6 @@ user_createuser_clause: CREATEUSER { $$ = +1; } | /*EMPTY*/ { $$ = 0; } ; -user_createtable_clause: CREATETABLE { $$ = +1; } - | NOCREATETABLE { $$ = -1; } - | /*EMPTY*/ { - /* EMPTY is default = CREATETABLE */ - $$ = +1; - } - ; - -user_locktable_clause: LOCKTABLE { $$ = +1; } - | NOLOCKTABLE { $$ = -1; } - | /*EMPTY*/ { - /* EMPTY is default = LOCKTABLE */ - $$ = +1; - } - ; - user_list: user_list ',' UserId { $$ = lcons((void*)makeString($3), $1); diff --git a/src/backend/parser/keywords.c b/src/backend/parser/keywords.c index ae7bf39f62b..f167cb3c7e3 100644 --- a/src/backend/parser/keywords.c +++ b/src/backend/parser/keywords.c @@ -9,9 +9,9 @@ * * IDENTIFICATION <<<<<<< keywords.c - * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.75 2000/06/09 15:50:45 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.76 2000/06/12 03:40:30 momjian Exp $ ======= - * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.75 2000/06/09 15:50:45 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.76 2000/06/12 03:40:30 momjian Exp $ >>>>>>> 1.73 * *------------------------------------------------------------------------- @@ -75,7 +75,6 @@ static ScanKeyword ScanKeywords[] = { {"copy", COPY}, {"create", CREATE}, {"createdb", CREATEDB}, - {"createtable", CREATETABLE}, {"createuser", CREATEUSER}, {"cross", CROSS}, {"current_date", CURRENT_DATE}, @@ -156,7 +155,6 @@ static ScanKeyword ScanKeywords[] = { {"local", LOCAL}, {"location", LOCATION}, {"lock", LOCK_P}, - {"locktable", LOCKTABLE}, {"match", MATCH}, {"maxvalue", MAXVALUE}, {"minute", MINUTE_P}, @@ -172,9 +170,7 @@ static ScanKeyword ScanKeywords[] = { {"next", NEXT}, {"no", NO}, {"nocreatedb", NOCREATEDB}, - {"nocreatetable", NOCREATETABLE}, {"nocreateuser", NOCREATEUSER}, - {"nolocktable", NOLOCKTABLE}, {"none", NONE}, {"not", NOT}, {"nothing", NOTHING}, diff --git a/src/backend/tcop/pquery.c b/src/backend/tcop/pquery.c index 8fec7766a44..b26923b6f14 100644 --- a/src/backend/tcop/pquery.c +++ b/src/backend/tcop/pquery.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/pquery.c,v 1.33 2000/06/09 15:50:46 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/pquery.c,v 1.34 2000/06/12 03:40:40 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -20,9 +20,6 @@ #include "executor/executor.h" #include "tcop/pquery.h" #include "utils/ps_status.h" -#include "catalog/pg_shadow.h" -#include "miscadmin.h" -#include "utils/syscache.h" static char *CreateOperationTag(int operationType); static void ProcessQueryDesc(QueryDesc *queryDesc, Node *limoffset, @@ -253,23 +250,6 @@ ProcessQueryDesc(QueryDesc *queryDesc, Node *limoffset, Node *limcount) else if (parseTree->into != NULL) { /* select into table */ - - if (!parseTree->isTemp) { - HeapTuple tup; - - /* ---------- - * Check pg_shadow for global createTable setting - * ---------- - */ - tup = SearchSysCacheTuple(SHADOWNAME, PointerGetDatum(GetPgUserName()), 0, 0, 0); - - if (!HeapTupleIsValid(tup)) - elog(ERROR, "ProcessQueryDesc: look at pg_shadow failed"); - - if (!((Form_pg_shadow) GETSTRUCT(tup))->usecreatetable) - elog(ERROR, "SELECT INTO TABLE: permission denied"); - } - isRetrieveIntoRelation = true; } |