summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1999-12-16 17:24:19 +0000
committerBruce Momjian <bruce@momjian.us>1999-12-16 17:24:19 +0000
commit99b8f8451170a5c2fc130426952819502c10aea9 (patch)
tree944f4d4ea987f31cdf63ea71abf36e9d670c209a /src/include
parent4cb1fb6f59502e834c3c1de8e626b4c68c0d1711 (diff)
downloadpostgresql-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.h4
-rw-r--r--src/include/catalog/pg_group.h4
-rw-r--r--src/include/commands/user.h4
-rw-r--r--src/include/nodes/nodes.h5
-rw-r--r--src/include/nodes/parsenodes.h30
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
* ----------------------
*/