From: Christian Kruse Date: Thu, 8 May 2014 12:33:25 +0000 (+0200) Subject: bdr: command filter enhancements and fixes X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=c0b703e2ce26406a725fbdb52403d35a73da966f;p=users%2Fandresfreund%2Fpostgres.git bdr: command filter enhancements and fixes Forbidding renaming of ALTER AGGREGATE … RENAME TO …, ALTER COLLATION … RENAME TO …, ALTER CONVERSION … RENAME TO …, ALTER OPERATOR CLASS … RENAME TO …, ALTER OPERATOR FAMILY … RENAME TO …. Forbidding ALTER TABLESPACE … MOVE …, too. --- diff --git a/contrib/bdr/bdr_commandfilter.c b/contrib/bdr/bdr_commandfilter.c index 7fc500dffe..f0fdd88a35 100644 --- a/contrib/bdr/bdr_commandfilter.c +++ b/contrib/bdr/bdr_commandfilter.c @@ -473,8 +473,26 @@ bdr_commandfilter(Node *parsetree, break; case T_DropStmt: + break; + case T_RenameStmt: - /* FIXME: catch unsupported rename operations */ + { + RenameStmt *n = (RenameStmt *)parsetree; + + switch(n->renameType) + { + case OBJECT_AGGREGATE: + case OBJECT_COLLATION: + case OBJECT_CONVERSION: + case OBJECT_OPCLASS: + case OBJECT_OPFAMILY: + error_unsupported_command(CreateCommandTag(parsetree)); + break; + + default: + break; + } + } break; case T_AlterObjectSchemaStmt: @@ -482,7 +500,7 @@ bdr_commandfilter(Node *parsetree, break; case T_AlterTableSpaceMoveStmt: - /* XXX: forbid? */ + error_unsupported_command("ALTER TABLESPACE ... MOVE"); break; case T_AlterOwnerStmt: