Merge branch 'master' into huachaohuang/update-pd-client
This commit is contained in:
@ -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.
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user