From fe59fd4e92dc08b735962ff33bd3fea4c00f77e6 Mon Sep 17 00:00:00 2001 From: wangggong Date: Fri, 10 Jul 2020 16:48:31 +0800 Subject: [PATCH] fix: add warning for AlterTableRepairPartition (#18454) --- ddl/db_partition_test.go | 1 + ddl/ddl_api.go | 2 ++ ddl/error.go | 1 + 3 files changed, 4 insertions(+) diff --git a/ddl/db_partition_test.go b/ddl/db_partition_test.go index 9ed2f899d1..6d852bc976 100644 --- a/ddl/db_partition_test.go +++ b/ddl/db_partition_test.go @@ -2175,6 +2175,7 @@ func (s *testIntegrationSuite3) TestPartitionErrorCode(c *C) { tk.MustGetErrCode("alter table t_part optimize partition p0,p1;", tmysql.ErrUnsupportedDDLOperation) tk.MustGetErrCode("alter table t_part rebuild partition p0,p1;", tmysql.ErrUnsupportedDDLOperation) tk.MustGetErrCode("alter table t_part remove partitioning;", tmysql.ErrUnsupportedDDLOperation) + tk.MustGetErrCode("alter table t_part repair partition p1;", tmysql.ErrUnsupportedDDLOperation) } func (s *testIntegrationSuite5) TestConstAndTimezoneDepent(c *C) { diff --git a/ddl/ddl_api.go b/ddl/ddl_api.go index 1480ca3975..4a5c7d7b5d 100644 --- a/ddl/ddl_api.go +++ b/ddl/ddl_api.go @@ -2212,6 +2212,8 @@ func (d *ddl) AlterTable(ctx sessionctx.Context, ident ast.Ident, specs []*ast.A err = errors.Trace(errUnsupportedOptimizePartition) case ast.AlterTableRemovePartitioning: err = errors.Trace(errUnsupportedRemovePartition) + case ast.AlterTableRepairPartition: + err = errors.Trace(errUnsupportedRepairPartition) case ast.AlterTableDropColumn: err = d.DropColumn(ctx, ident, spec) case ast.AlterTableDropIndex: diff --git a/ddl/error.go b/ddl/error.go index 0a20d1bee2..43a9421f62 100644 --- a/ddl/error.go +++ b/ddl/error.go @@ -90,6 +90,7 @@ var ( errUnsupportedOptimizePartition = terror.ClassDDL.New(mysql.ErrUnsupportedDDLOperation, fmt.Sprintf(mysql.MySQLErrName[mysql.ErrUnsupportedDDLOperation], "optimize partition")) errUnsupportedRebuildPartition = terror.ClassDDL.New(mysql.ErrUnsupportedDDLOperation, fmt.Sprintf(mysql.MySQLErrName[mysql.ErrUnsupportedDDLOperation], "rebuild partition")) errUnsupportedRemovePartition = terror.ClassDDL.New(mysql.ErrUnsupportedDDLOperation, fmt.Sprintf(mysql.MySQLErrName[mysql.ErrUnsupportedDDLOperation], "remove partitioning")) + errUnsupportedRepairPartition = terror.ClassDDL.New(mysql.ErrUnsupportedDDLOperation, fmt.Sprintf(mysql.MySQLErrName[mysql.ErrUnsupportedDDLOperation], "repair partition")) errUnsupportedExchangePartition = terror.ClassDDL.New(mysql.ErrUnsupportedDDLOperation, fmt.Sprintf(mysql.MySQLErrName[mysql.ErrUnsupportedDDLOperation], "exchange partition")) // ErrGeneratedColumnFunctionIsNotAllowed returns for unsupported functions for generated columns. ErrGeneratedColumnFunctionIsNotAllowed = terror.ClassDDL.New(mysql.ErrGeneratedColumnFunctionIsNotAllowed, mysql.MySQLErrName[mysql.ErrGeneratedColumnFunctionIsNotAllowed])