diff --git a/ddl/ddl_api.go b/ddl/ddl_api.go index 88395d67fe521..9c4eac7a422f3 100644 --- a/ddl/ddl_api.go +++ b/ddl/ddl_api.go @@ -39,6 +39,7 @@ import ( field_types "github.com/pingcap/parser/types" "github.com/pingcap/tidb/config" "github.com/pingcap/tidb/ddl/placement" + "github.com/pingcap/tidb/errno" "github.com/pingcap/tidb/expression" "github.com/pingcap/tidb/infoschema" "github.com/pingcap/tidb/kv" @@ -54,6 +55,7 @@ import ( "github.com/pingcap/tidb/util/chunk" "github.com/pingcap/tidb/util/codec" "github.com/pingcap/tidb/util/collate" + "github.com/pingcap/tidb/util/dbterror" "github.com/pingcap/tidb/util/domainutil" "github.com/pingcap/tidb/util/logutil" "github.com/pingcap/tidb/util/mock" @@ -1408,7 +1410,8 @@ func buildTableInfo( // Check clustered on non-primary key. if constr.Option != nil && constr.Option.PrimaryKeyTp != model.PrimaryKeyTypeDefault && constr.Tp != ast.ConstraintPrimaryKey { - return nil, errUnsupportedClusteredSecondaryKey + msg := mysql.Message("CLUSTERED/NONCLUSTERED keyword is only supported for primary key", nil) + return nil, dbterror.ClassDDL.NewStdErr(errno.ErrUnsupportedDDLOperation, msg) } if constr.Tp == ast.ConstraintForeignKey { for _, fk := range tbInfo.ForeignKeys { @@ -1437,7 +1440,8 @@ func buildTableInfo( } else { hasBinlog := ctx.GetSessionVars().BinlogClient != nil if hasBinlog { - return nil, errUnsupportedClusteredIndexWhenBinlogIsOn + msg := mysql.Message("Cannot create clustered index table when the binlog is ON", nil) + return nil, dbterror.ClassDDL.NewStdErr(errno.ErrUnsupportedDDLOperation, msg) } tbInfo.IsCommonHandle = true tbInfo.CommonHandleVersion = 1 diff --git a/ddl/error.go b/ddl/error.go index f36a550d9f15a..852d2218c6275 100644 --- a/ddl/error.go +++ b/ddl/error.go @@ -273,7 +273,5 @@ var ( // ErrUnknownEngine is returned when the table engine is unknown. ErrUnknownEngine = dbterror.ClassDDL.NewStd(mysql.ErrUnknownStorageEngine) - errExchangePartitionDisabled = dbterror.ClassDDL.NewStdErr(mysql.ErrUnsupportedDDLOperation, parser_mysql.Message("Exchange Partition is disabled, please set 'tidb_enable_exchange_partition' if you need to need to enable it", nil)) - errUnsupportedClusteredSecondaryKey = dbterror.ClassDDL.NewStdErr(mysql.ErrUnsupportedDDLOperation, parser_mysql.Message("CLUSTERED/NONCLUSTERED keyword is only supported for primary key", nil)) - errUnsupportedClusteredIndexWhenBinlogIsOn = dbterror.ClassDDL.NewStdErr(mysql.ErrUnsupportedDDLOperation, parser_mysql.Message("Cannot create clustered index table when the binlog is ON", nil)) + errExchangePartitionDisabled = dbterror.ClassDDL.NewStdErr(mysql.ErrUnsupportedDDLOperation, parser_mysql.Message("Exchange Partition is disabled, please set 'tidb_enable_exchange_partition' if you need to need to enable it", nil)) ) diff --git a/executor/errors.go b/executor/errors.go index 20e251d3bcb45..afc64276900a7 100644 --- a/executor/errors.go +++ b/executor/errors.go @@ -14,7 +14,6 @@ package executor import ( - parser_mysql "github.com/pingcap/parser/mysql" mysql "github.com/pingcap/tidb/errno" "github.com/pingcap/tidb/util/dbterror" ) @@ -50,6 +49,4 @@ var ( ErrBRIERestoreFailed = dbterror.ClassExecutor.NewStd(mysql.ErrBRIERestoreFailed) ErrBRIEImportFailed = dbterror.ClassExecutor.NewStd(mysql.ErrBRIEImportFailed) ErrBRIEExportFailed = dbterror.ClassExecutor.NewStd(mysql.ErrBRIEExportFailed) - - errTruncateWrongInsertValue = dbterror.ClassTable.NewStdErr(mysql.ErrTruncatedWrongValue, parser_mysql.Message("Incorrect %-.32s value: '%-.128s' for column '%.192s' at row %d", nil)) ) diff --git a/executor/insert_common.go b/executor/insert_common.go index 0b0975fd75048..f7402c2c816e8 100644 --- a/executor/insert_common.go +++ b/executor/insert_common.go @@ -28,6 +28,7 @@ import ( "github.com/pingcap/parser/mysql" "github.com/pingcap/tidb/config" "github.com/pingcap/tidb/ddl" + "github.com/pingcap/tidb/errno" "github.com/pingcap/tidb/expression" "github.com/pingcap/tidb/kv" "github.com/pingcap/tidb/meta/autoid" @@ -37,6 +38,7 @@ import ( "github.com/pingcap/tidb/table/tables" "github.com/pingcap/tidb/types" "github.com/pingcap/tidb/util/chunk" + "github.com/pingcap/tidb/util/dbterror" "github.com/pingcap/tidb/util/execdetails" "github.com/pingcap/tidb/util/logutil" "github.com/pingcap/tidb/util/memory" @@ -306,7 +308,10 @@ func (e *InsertValues) handleErr(col *table.Column, val *types.Datum, rowIdx int if err1 != nil { logutil.BgLogger().Debug("time truncated error", zap.Error(err1)) } - err = errTruncateWrongInsertValue.GenWithStackByArgs(types.TypeStr(colTp), valStr, colName, rowIdx+1) + err = dbterror.ClassTable.NewStdErr( + errno.ErrTruncatedWrongValue, + mysql.Message("Incorrect %-.32s value: '%-.128s' for column '%.192s' at row %d", nil), + ).GenWithStackByArgs(types.TypeStr(colTp), valStr, colName, rowIdx+1) } else if types.ErrTruncatedWrongVal.Equal(err) || types.ErrWrongValue.Equal(err) { valStr, err1 := val.ToString() if err1 != nil {