aboutsummaryrefslogtreecommitdiff
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.c39
1 files changed, 23 insertions, 16 deletions
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c
index 24a1e3d2964..d1d670228ff 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.150 2002/04/18 20:01:09 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.151 2002/04/24 02:48:55 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -377,23 +377,30 @@ ProcessUtility(Node *parsetree,
CheckOwnership(stmt->relation, true);
- if (stmt->column == NULL)
+ switch (stmt->renameType)
{
- /*
- * rename relation
- */
- renamerel(RangeVarGetRelid(stmt->relation, false),
- stmt->newname);
- }
- else
- {
- /*
- * rename attribute
- */
- renameatt(RangeVarGetRelid(stmt->relation, false),
- stmt->column, /* old att name */
+ case RENAME_TABLE:
+ renamerel(RangeVarGetRelid(stmt->relation, false),
+ stmt->newname);
+ break;
+ case RENAME_COLUMN:
+ renameatt(RangeVarGetRelid(stmt->relation, false),
+ stmt->oldname, /* old att name */
stmt->newname, /* new att name */
- interpretInhOption(stmt->relation->inhOpt)); /* recursive? */
+ interpretInhOption(stmt->relation->inhOpt)); /* recursive? */
+ break;
+ case RENAME_TRIGGER:
+ renametrig(RangeVarGetRelid(stmt->relation, false),
+ stmt->oldname, /* old att name */
+ stmt->newname); /* new att name */
+ break;
+ case RENAME_RULE:
+ elog(ERROR, "ProcessUtility: Invalid target for RENAME: %d",
+ stmt->renameType);
+ break;
+ default:
+ elog(ERROR, "ProcessUtility: Invalid target for RENAME: %d",
+ stmt->renameType);
}
}
break;