Merge branch 'master' into huachaohuang/update-pd-client

This commit is contained in:
Huachao Huang
2016-10-24 10:17:12 +08:00
committed by GitHub
4 changed files with 35 additions and 9 deletions

View File

@ -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.

View File

@ -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)

View File

@ -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

View File

@ -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
}