summaryrefslogtreecommitdiff
path: root/src/backend/tcop/utility.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/tcop/utility.c')
-rw-r--r--src/backend/tcop/utility.c34
1 files changed, 25 insertions, 9 deletions
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c
index 03df9c1f3de..5e588dd72c9 100644
--- a/src/backend/tcop/utility.c
+++ b/src/backend/tcop/utility.c
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.104 2000/12/08 06:17:58 inoue Exp $
+ * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.105 2001/01/05 06:34:20 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -37,6 +37,7 @@
#include "commands/view.h"
#include "miscadmin.h"
#include "parser/parse.h"
+#include "parser/parse_clause.h"
#include "parser/parse_expr.h"
#include "rewrite/rewriteDefine.h"
#include "rewrite/rewriteRemove.h"
@@ -400,7 +401,7 @@ ProcessUtility(Node *parsetree,
renameatt(relname, /* relname */
stmt->column, /* old att name */
stmt->newname, /* new att name */
- stmt->inh); /* recursive? */
+ interpretInhOption(stmt->inhOpt)); /* recursive? */
}
}
break;
@@ -420,25 +421,40 @@ ProcessUtility(Node *parsetree,
switch (stmt->subtype)
{
case 'A': /* ADD COLUMN */
- AlterTableAddColumn(stmt->relname, stmt->inh, (ColumnDef *) stmt->def);
+ AlterTableAddColumn(stmt->relname,
+ interpretInhOption(stmt->inhOpt),
+ (ColumnDef *) stmt->def);
break;
case 'T': /* ALTER COLUMN */
- AlterTableAlterColumn(stmt->relname, stmt->inh, stmt->name, stmt->def);
+ AlterTableAlterColumn(stmt->relname,
+ interpretInhOption(stmt->inhOpt),
+ stmt->name,
+ stmt->def);
break;
case 'D': /* ALTER DROP */
- AlterTableDropColumn(stmt->relname, stmt->inh, stmt->name, stmt->behavior);
+ AlterTableDropColumn(stmt->relname,
+ interpretInhOption(stmt->inhOpt),
+ stmt->name,
+ stmt->behavior);
break;
case 'C': /* ADD CONSTRAINT */
- AlterTableAddConstraint(stmt->relname, stmt->inh, stmt->def);
+ AlterTableAddConstraint(stmt->relname,
+ interpretInhOption(stmt->inhOpt),
+ stmt->def);
break;
case 'X': /* DROP CONSTRAINT */
- AlterTableDropConstraint(stmt->relname, stmt->inh, stmt->name, stmt->behavior);
+ AlterTableDropConstraint(stmt->relname,
+ interpretInhOption(stmt->inhOpt),
+ stmt->name,
+ stmt->behavior);
break;
case 'E': /* CREATE TOAST TABLE */
- AlterTableCreateToastTable(stmt->relname, false);
+ AlterTableCreateToastTable(stmt->relname,
+ false);
break;
case 'U': /* ALTER OWNER */
- AlterTableOwner(stmt->relname, stmt->name);
+ AlterTableOwner(stmt->relname,
+ stmt->name);
break;
default: /* oops */
elog(ERROR, "T_AlterTableStmt: unknown subtype");