diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-08-01 04:03:59 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-08-01 04:03:59 +0000 |
commit | 35508d1cca1630e40b157d67b427174c3e1999aa (patch) | |
tree | 5779ce1a2a645766399fddf8761ef70e388bbc93 /src/backend/nodes/equalfuncs.c | |
parent | a85e5d1b1b346e039aef61d23775dd1f2ff547ae (diff) |
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.
Diffstat (limited to 'src/backend/nodes/equalfuncs.c')
-rw-r--r-- | src/backend/nodes/equalfuncs.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c index 6d727a63278..126647a7757 100644 --- a/src/backend/nodes/equalfuncs.c +++ b/src/backend/nodes/equalfuncs.c @@ -18,7 +18,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/nodes/equalfuncs.c,v 1.250 2005/07/31 17:19:18 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/nodes/equalfuncs.c,v 1.251 2005/08/01 04:03:56 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1008,12 +1008,25 @@ _equalRemoveOpClassStmt(RemoveOpClassStmt *a, RemoveOpClassStmt *b) static bool _equalRenameStmt(RenameStmt *a, RenameStmt *b) { + COMPARE_SCALAR_FIELD(renameType); COMPARE_NODE_FIELD(relation); COMPARE_NODE_FIELD(object); COMPARE_NODE_FIELD(objarg); COMPARE_STRING_FIELD(subname); COMPARE_STRING_FIELD(newname); - COMPARE_SCALAR_FIELD(renameType); + + return true; +} + +static bool +_equalAlterObjectSchemaStmt(AlterObjectSchemaStmt *a, AlterObjectSchemaStmt *b) +{ + COMPARE_SCALAR_FIELD(objectType); + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(object); + COMPARE_NODE_FIELD(objarg); + COMPARE_STRING_FIELD(addname); + COMPARE_STRING_FIELD(newschema); return true; } @@ -1021,12 +1034,12 @@ _equalRenameStmt(RenameStmt *a, RenameStmt *b) static bool _equalAlterOwnerStmt(AlterOwnerStmt *a, AlterOwnerStmt *b) { + COMPARE_SCALAR_FIELD(objectType); COMPARE_NODE_FIELD(relation); COMPARE_NODE_FIELD(object); COMPARE_NODE_FIELD(objarg); COMPARE_STRING_FIELD(addname); COMPARE_STRING_FIELD(newowner); - COMPARE_SCALAR_FIELD(objectType); return true; } @@ -2029,6 +2042,9 @@ equal(void *a, void *b) case T_RenameStmt: retval = _equalRenameStmt(a, b); break; + case T_AlterObjectSchemaStmt: + retval = _equalAlterObjectSchemaStmt(a, b); + break; case T_AlterOwnerStmt: retval = _equalAlterOwnerStmt(a, b); break; |