diff --git a/ddl/ddl_db_test.go b/ddl/ddl_db_test.go index 5021f444cf..525d667943 100644 --- a/ddl/ddl_db_test.go +++ b/ddl/ddl_db_test.go @@ -392,6 +392,7 @@ func sessionExec(c *C, s kv.Storage, sql string) { se, err := tidb.CreateSession(s) c.Assert(err, IsNil) _, err = se.Execute("use test_db") + c.Assert(err, IsNil) rs, err := se.Execute(sql) c.Assert(err, IsNil, Commentf("err:%v", errors.ErrorStack(err))) c.Assert(rs, IsNil) @@ -672,6 +673,7 @@ func (s *testDBSuite) TestTruncateTable(c *C) { is = sessionctx.GetDomain(ctx).InfoSchema() newTblInfo, err := is.TableByName(model.NewCIStr("test"), model.NewCIStr("t")) + c.Assert(err, IsNil) c.Assert(newTblInfo.Meta().ID, Greater, oldTblID) // verify that the old table data has been deleted by background worker. diff --git a/ddl/index_change_test.go b/ddl/index_change_test.go index 1c40ec3c76..5985948df5 100644 --- a/ddl/index_change_test.go +++ b/ddl/index_change_test.go @@ -285,6 +285,9 @@ func (s *testIndexChangeSuite) checkAddPublic(d *ddl, ctx context.Context, write return errors.Trace(err) } err = checkIndexExists(ctx, publicTbl, 6, 6, false) + if err != nil { + return errors.Trace(err) + } var rows [][]types.Datum publicTbl.IterRecords(ctx, publicTbl.FirstKey(), publicTbl.Cols(), @@ -312,21 +315,29 @@ func (s *testIndexChangeSuite) checkDropWriteOnly(d *ddl, ctx context.Context, p if err != nil { return errors.Trace(err) } + err = checkIndexExists(ctx, publicTbl, 8, 8, true) if err != nil { return errors.Trace(err) } + // WriteOnlyTable update t set c2 = 7 where c1 = 8 and c2 = 8 err = writeTbl.UpdateRecord(ctx, 8, types.MakeDatums(8, 8), types.MakeDatums(8, 7), touchedMap(writeTbl)) if err != nil { return errors.Trace(err) } + err = checkIndexExists(ctx, publicTbl, 7, 8, true) + if err != nil { + return errors.Trace(err) + } + // WriteOnlyTable delete t where c1 = 8 err = writeTbl.RemoveRecord(ctx, 8, types.MakeDatums(8, 7)) if err != nil { return errors.Trace(err) } + err = checkIndexExists(ctx, publicTbl, 7, 8, false) if err != nil { return errors.Trace(err) @@ -340,25 +351,34 @@ func (s *testIndexChangeSuite) checkDropDeleteOnly(d *ddl, ctx context.Context, if err != nil { return errors.Trace(err) } + err = checkIndexExists(ctx, writeTbl, 9, 9, true) + if err != nil { + return errors.Trace(err) + } + // DeleteOnlyTable insert t values (10, 10) _, err = delTbl.AddRecord(ctx, types.MakeDatums(10, 10)) if err != nil { return errors.Trace(err) } + err = checkIndexExists(ctx, writeTbl, 10, 10, false) if err != nil { return errors.Trace(err) } + // DeleteOnlyTable update t set c2 = 10 where c1 = 9 err = delTbl.UpdateRecord(ctx, 9, types.MakeDatums(9, 9), types.MakeDatums(9, 10), touchedMap(delTbl)) if err != nil { return errors.Trace(err) } + err = checkIndexExists(ctx, writeTbl, 9, 9, false) if err != nil { return errors.Trace(err) } + err = checkIndexExists(ctx, writeTbl, 10, 9, false) if err != nil { return errors.Trace(err) diff --git a/plan/predicate_push_down.go b/plan/predicate_push_down.go index 98fc21fdd1..43d81899ff 100644 --- a/plan/predicate_push_down.go +++ b/plan/predicate_push_down.go @@ -22,6 +22,17 @@ import ( "github.com/pingcap/tidb/util/types" ) +var ( + inequalityFuncs = map[string]string{ + ast.LT: ast.LT, + ast.GT: ast.GT, + ast.LE: ast.LE, + ast.GE: ast.GE, + ast.NE: ast.NE, + ast.Like: ast.Like, + } +) + func addSelection(p Plan, child LogicalPlan, conditions []expression.Expression, allocator *idAllocator) error { selection := &Selection{ Conditions: conditions, @@ -154,14 +165,7 @@ func propagateConstant(conditions []expression.Expression) []expression.Expressi if len(multipleEqualities) == 0 { return conditions } - inequalityFuncs := map[string]string{ - ast.LT: ast.LT, - ast.GT: ast.GT, - ast.LE: ast.LE, - ast.GE: ast.GE, - ast.NE: ast.NE, - ast.Like: ast.Like, - } + type inequalityFactor struct { FuncName string Factor []*expression.Constant diff --git a/util/charset/charset.go b/util/charset/charset.go index 149d3485ad..e755f4b66b 100644 --- a/util/charset/charset.go +++ b/util/charset/charset.go @@ -123,7 +123,7 @@ func GetDefaultCollation(charset string) (string, error) { } c, ok := charsets[charset] if !ok { - return "", errors.Errorf("Unkown charset %s", charset) + return "", errors.Errorf("Unknown charset %s", charset) } return c.DefaultCollation.Name, nil }