aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2002-12-06 03:28:34 +0000
committerBruce Momjian <bruce@momjian.us>2002-12-06 03:28:34 +0000
commit853153ca6dfdf2bdf6ce800216de75b2fefbb4f1 (patch)
treea9911b35cf84db7bc101dc97a5e788bc3484f69c /src/include
parent36580c8e2112e808f5847c4021fabe458096b134 (diff)
downloadpostgresql-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.h16
-rw-r--r--src/include/commands/defrem.h10
-rw-r--r--src/include/nodes/nodes.h3
-rw-r--r--src/include/nodes/parsenodes.h29
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
* ----------------------
*/