mirror of
https://github.com/postgres/postgres.git
synced 2025-07-26 01:22:12 +03:00
Add ALTER object SET SCHEMA capability for a limited but useful set of
object kinds (tables, functions, types). Documentation is not here yet. Original code by Bernd Helmle, extensive rework by Bruce Momjian and Tom Lane.
This commit is contained in:
@ -10,7 +10,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/tcop/utility.c,v 1.242 2005/07/31 17:19:19 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/tcop/utility.c,v 1.243 2005/08/01 04:03:57 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -281,6 +281,7 @@ check_xact_readonly(Node *parsetree)
|
||||
case T_AlterFunctionStmt:
|
||||
case T_AlterRoleStmt:
|
||||
case T_AlterRoleSetStmt:
|
||||
case T_AlterObjectSchemaStmt:
|
||||
case T_AlterOwnerStmt:
|
||||
case T_AlterSeqStmt:
|
||||
case T_AlterTableStmt:
|
||||
@ -625,6 +626,10 @@ ProcessUtility(Node *parsetree,
|
||||
ExecRenameStmt((RenameStmt *) parsetree);
|
||||
break;
|
||||
|
||||
case T_AlterObjectSchemaStmt:
|
||||
ExecAlterObjectSchemaStmt((AlterObjectSchemaStmt *) parsetree);
|
||||
break;
|
||||
|
||||
case T_AlterOwnerStmt:
|
||||
ExecAlterOwnerStmt((AlterOwnerStmt *) parsetree);
|
||||
break;
|
||||
@ -1358,6 +1363,10 @@ CreateCommandTag(Node *parsetree)
|
||||
case OBJECT_SCHEMA:
|
||||
tag = "ALTER SCHEMA";
|
||||
break;
|
||||
case OBJECT_COLUMN:
|
||||
case OBJECT_TABLE:
|
||||
tag = "ALTER TABLE";
|
||||
break;
|
||||
case OBJECT_TABLESPACE:
|
||||
tag = "ALTER TABLESPACE";
|
||||
break;
|
||||
@ -1365,10 +1374,38 @@ CreateCommandTag(Node *parsetree)
|
||||
tag = "ALTER TRIGGER";
|
||||
break;
|
||||
default:
|
||||
tag = "ALTER TABLE";
|
||||
tag = "???";
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case T_AlterObjectSchemaStmt:
|
||||
switch (((AlterObjectSchemaStmt *) parsetree)->objectType)
|
||||
{
|
||||
case OBJECT_AGGREGATE:
|
||||
tag = "ALTER AGGREGATE";
|
||||
break;
|
||||
case OBJECT_DOMAIN:
|
||||
tag = "ALTER DOMAIN";
|
||||
break;
|
||||
case OBJECT_FUNCTION:
|
||||
tag = "ALTER FUNCTION";
|
||||
break;
|
||||
case OBJECT_SEQUENCE:
|
||||
tag = "ALTER SEQUENCE";
|
||||
break;
|
||||
case OBJECT_TABLE:
|
||||
tag = "ALTER TABLE";
|
||||
break;
|
||||
case OBJECT_TYPE:
|
||||
tag = "ALTER TYPE";
|
||||
break;
|
||||
default:
|
||||
tag = "???";
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case T_AlterOwnerStmt:
|
||||
switch (((AlterOwnerStmt *) parsetree)->objectType)
|
||||
{
|
||||
@ -1403,7 +1440,8 @@ CreateCommandTag(Node *parsetree)
|
||||
tag = "ALTER TYPE";
|
||||
break;
|
||||
default:
|
||||
tag = "ALTER TABLE";
|
||||
tag = "???";
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
|
Reference in New Issue
Block a user