diff options
author | Bruce Momjian <bruce@momjian.us> | 2002-12-06 03:28:34 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2002-12-06 03:28:34 +0000 |
commit | 853153ca6dfdf2bdf6ce800216de75b2fefbb4f1 (patch) | |
tree | a9911b35cf84db7bc101dc97a5e788bc3484f69c /src/include | |
parent | 36580c8e2112e808f5847c4021fabe458096b134 (diff) | |
download | postgresql-853153ca6dfdf2bdf6ce800216de75b2fefbb4f1.tar.gz postgresql-853153ca6dfdf2bdf6ce800216de75b2fefbb4f1.zip |
ALTER DOMAIN .. SET / DROP NOT NULL
ALTER DOMAIN .. SET / DROP DEFAULT
ALTER DOMAIN .. ADD / DROP CONSTRAINT
New files:
- doc/src/sgml/ref/alter_domain.sgml
Rod Taylor
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/catalog/pg_type.h | 16 | ||||
-rw-r--r-- | src/include/commands/defrem.h | 10 | ||||
-rw-r--r-- | src/include/nodes/nodes.h | 3 | ||||
-rw-r--r-- | src/include/nodes/parsenodes.h | 29 |
4 files changed, 45 insertions, 13 deletions
diff --git a/src/include/catalog/pg_type.h b/src/include/catalog/pg_type.h index 06ac2f340a6..8804e5fe602 100644 --- a/src/include/catalog/pg_type.h +++ b/src/include/catalog/pg_type.h @@ -8,7 +8,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: pg_type.h,v 1.134 2002/09/24 21:26:44 tgl Exp $ + * $Id: pg_type.h,v 1.135 2002/12/06 03:28:33 momjian Exp $ * * NOTES * the genbki.sh script reads this file and generates .bki @@ -550,7 +550,7 @@ extern Oid TypeCreate(const char *typeName, Oid elementType, Oid baseType, const char *defaultTypeValue, - const char *defaultTypeBin, + char *defaultTypeBin, bool passedByValue, char alignment, char storage, @@ -558,6 +558,18 @@ extern Oid TypeCreate(const char *typeName, int32 typNDims, bool typeNotNull); +extern void +GenerateTypeDependencies(Oid typeNamespace, + Oid typeObjectId, + Oid relationOid, /* only for 'c'atalog typeType */ + char relationKind, + Oid inputProcedure, + Oid outputProcedure, + Oid elementType, + Oid baseType, + char *defaultTypeBin, /* cooked rep */ + bool rebuild); + extern void TypeRename(const char *oldTypeName, Oid typeNamespace, const char *newTypeName); diff --git a/src/include/commands/defrem.h b/src/include/commands/defrem.h index 401610af6ac..d098277e798 100644 --- a/src/include/commands/defrem.h +++ b/src/include/commands/defrem.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: defrem.h,v 1.46 2002/09/21 18:39:26 tgl Exp $ + * $Id: defrem.h,v 1.47 2002/12/06 03:28:33 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -52,14 +52,6 @@ extern void RemoveOperatorById(Oid operOid); extern void DefineAggregate(List *names, List *parameters); extern void RemoveAggregate(RemoveAggrStmt *stmt); -/* commands/typecmds.c */ -extern void DefineType(List *names, List *parameters); -extern void RemoveType(List *names, DropBehavior behavior); -extern void RemoveTypeById(Oid typeOid); -extern void DefineDomain(CreateDomainStmt *stmt); -extern void RemoveDomain(List *names, DropBehavior behavior); -extern Oid DefineCompositeType(const RangeVar *typevar, List *coldeflist); - /* commands/opclasscmds.c */ extern void DefineOpClass(CreateOpClassStmt *stmt); extern void RemoveOpClass(RemoveOpClassStmt *stmt); diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h index cb16a300442..dc1290775d9 100644 --- a/src/include/nodes/nodes.h +++ b/src/include/nodes/nodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: nodes.h,v 1.126 2002/12/05 15:50:38 tgl Exp $ + * $Id: nodes.h,v 1.127 2002/12/06 03:28:33 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -157,6 +157,7 @@ typedef enum NodeTag T_UpdateStmt, T_SelectStmt, T_AlterTableStmt, + T_AlterDomainStmt, T_SetOperationStmt, T_GrantStmt, T_ClosePortalStmt, diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 7ca79b3520f..adcb6d9a551 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: parsenodes.h,v 1.218 2002/11/25 03:36:50 tgl Exp $ + * $Id: parsenodes.h,v 1.219 2002/12/06 03:28:33 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -828,6 +828,33 @@ typedef struct AlterTableStmt } AlterTableStmt; /* ---------------------- + * Alter Domain + * + * The fields are used in different ways by the different variants of + * this command. Subtypes should match AlterTable subtypes + * ---------------------- + */ +typedef struct AlterDomainStmt +{ + NodeTag type; + char subtype; /*------------ + * T = alter column default + * N = alter column drop not null + * O = alter column set not null + * C = add constraint + * X = drop constraint + * U = change owner + *------------ + */ + List *typename; /* table to work on */ + char *name; /* column or constraint name to act on, or + * new owner */ + Node *def; /* definition of default or constraint */ + DropBehavior behavior; /* RESTRICT or CASCADE for DROP cases */ +} AlterDomainStmt; + + +/* ---------------------- * Grant|Revoke Statement * ---------------------- */ |