diff options
| author | Bruce Momjian <bruce@momjian.us> | 1999-12-16 17:24:19 +0000 |
|---|---|---|
| committer | Bruce Momjian <bruce@momjian.us> | 1999-12-16 17:24:19 +0000 |
| commit | 99b8f8451170a5c2fc130426952819502c10aea9 (patch) | |
| tree | 944f4d4ea987f31cdf63ea71abf36e9d670c209a /src/include | |
| parent | 4cb1fb6f59502e834c3c1de8e626b4c68c0d1711 (diff) | |
| download | postgresql-99b8f8451170a5c2fc130426952819502c10aea9.tar.gz | |
Here's the Create/Alter/Drop Group stuff that's been really overdue. I
didn't have time for documentation yet, but I'll write some. There are
still some things to work out what happens when you alter or drop users,
but the group stuff in and by itself is done.
--
Peter Eisentraut Sernanders väg 10:115
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/catalog/pg_class.h | 4 | ||||
| -rw-r--r-- | src/include/catalog/pg_group.h | 4 | ||||
| -rw-r--r-- | src/include/commands/user.h | 4 | ||||
| -rw-r--r-- | src/include/nodes/nodes.h | 5 | ||||
| -rw-r--r-- | src/include/nodes/parsenodes.h | 30 |
5 files changed, 41 insertions, 6 deletions
diff --git a/src/include/catalog/pg_class.h b/src/include/catalog/pg_class.h index 7bf6929d6c..bd49577d66 100644 --- a/src/include/catalog/pg_class.h +++ b/src/include/catalog/pg_class.h @@ -7,7 +7,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: pg_class.h,v 1.30 1999/09/29 16:06:16 wieck Exp $ + * $Id: pg_class.h,v 1.31 1999/12/16 17:24:17 momjian Exp $ * * NOTES * ``pg_relation'' is being replaced by ``pg_class''. currently @@ -136,7 +136,7 @@ DATA(insert OID = 1259 ( pg_class 83 PGUID 0 0 0 f f r 18 0 0 0 0 0 f f _nul DESCR(""); DATA(insert OID = 1260 ( pg_shadow 86 PGUID 0 0 0 f t r 8 0 0 0 0 0 f f _null_ )); DESCR(""); -DATA(insert OID = 1261 ( pg_group 87 PGUID 0 0 0 f t s 3 0 0 0 0 0 f f _null_ )); +DATA(insert OID = 1261 ( pg_group 87 PGUID 0 0 0 f t r 3 0 0 0 0 0 f f _null_ )); DESCR(""); DATA(insert OID = 1262 ( pg_database 88 PGUID 0 0 0 f t r 4 0 0 0 0 0 f f _null_ )); DESCR(""); diff --git a/src/include/catalog/pg_group.h b/src/include/catalog/pg_group.h index 1f88e0b91b..e718c08126 100644 --- a/src/include/catalog/pg_group.h +++ b/src/include/catalog/pg_group.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: pg_group.h,v 1.6 1999/02/13 23:21:09 momjian Exp $ + * $Id: pg_group.h,v 1.7 1999/12/16 17:24:17 momjian Exp $ * * NOTES * the genbki.sh script reads this file and generates .bki @@ -35,7 +35,7 @@ CATALOG(pg_group) BOOTSTRAP typedef FormData_pg_group *Form_pg_group; -#define Natts_pg_group 1 +#define Natts_pg_group 3 #define Anum_pg_group_groname 1 #define Anum_pg_group_grosysid 2 #define Anum_pg_group_grolist 3 diff --git a/src/include/commands/user.h b/src/include/commands/user.h index 3830c11045..912a5a2ea7 100644 --- a/src/include/commands/user.h +++ b/src/include/commands/user.h @@ -17,4 +17,8 @@ extern void DefineUser(CreateUserStmt *stmt, CommandDest); extern void AlterUser(AlterUserStmt *stmt, CommandDest); extern void RemoveUser(char *user, CommandDest); +extern void CreateGroup(CreateGroupStmt *stmt, CommandDest dest); +extern void AlterGroup(AlterGroupStmt *stmt, CommandDest dest); +extern void DropGroup(DropGroupStmt *stmt, CommandDest dest); + #endif /* USER_H */ diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h index d362e0a28e..94641eff08 100644 --- a/src/include/nodes/nodes.h +++ b/src/include/nodes/nodes.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: nodes.h,v 1.58 1999/12/10 03:56:09 momjian Exp $ + * $Id: nodes.h,v 1.59 1999/12/16 17:24:19 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -189,6 +189,9 @@ typedef enum NodeTag T_DropUserStmt, T_LockStmt, T_ConstraintsSetStmt, + T_CreateGroupStmt, + T_AlterGroupStmt, + T_DropGroupStmt, T_A_Expr = 700, T_Attr, diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 45e586aad0..714f06d5db 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parsenodes.h,v 1.91 1999/12/14 00:08:21 momjian Exp $ + * $Id: parsenodes.h,v 1.92 1999/12/16 17:24:19 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -286,6 +286,34 @@ typedef struct DropUserStmt /* ---------------------- + * Create/Alter/Drop Group Statements + * ---------------------- + */ +typedef struct CreateGroupStmt +{ + NodeTag type; + char *name; /* name of the new group */ + int sysid; /* group id (-1 if pick default) */ + List *initUsers; /* list of initial users */ +} CreateGroupStmt; + +typedef struct AlterGroupStmt +{ + NodeTag type; + char *name; /* name of group to alter */ + int action; /* +1 = add, -1 = drop, 0 = other (HACK!) */ + int sysid; /* sysid change */ + List *listUsers; /* list of users to add/drop */ +} AlterGroupStmt; + +typedef struct DropGroupStmt +{ + NodeTag type; + char *name; +} DropGroupStmt; + + +/* ---------------------- * Create SEQUENCE Statement * ---------------------- */ |
