diff --git a/domain/domain_test.go b/domain/domain_test.go index e421280f783ae..e71b5a6300ff6 100644 --- a/domain/domain_test.go +++ b/domain/domain_test.go @@ -32,7 +32,7 @@ type testSuite struct { } func (*testSuite) TestT(c *C) { - driver := localstore.Driver{goleveldb.MemoryDriver{}} + driver := localstore.Driver{Driver: goleveldb.MemoryDriver{}} store, err := driver.Open("memory") c.Assert(err, IsNil) defer store.Close() diff --git a/expression/expressions/binop_test.go b/expression/expressions/binop_test.go index 269d64ffed7b1..fe8ab53cd94ec 100644 --- a/expression/expressions/binop_test.go +++ b/expression/expressions/binop_test.go @@ -127,11 +127,11 @@ func (s *testBinOpSuite) TestComparisonOp(c *C) { {"1", float64(2), -1}, {"1", uint64(1), 0}, {"1", mysql.NewDecimalFromInt(1, 0), 0}, - {"2011-01-01 11:11:11", mysql.Time{time.Now(), mysql.TypeDatetime, 0}, -1}, + {"2011-01-01 11:11:11", mysql.Time{Time: time.Now(), Type: mysql.TypeDatetime, Fsp: 0}, -1}, {"12:00:00", mysql.ZeroDuration, 1}, {mysql.ZeroDuration, mysql.ZeroDuration, 0}, - {mysql.Time{time.Now().Add(time.Second * 10), mysql.TypeDatetime, 0}, - mysql.Time{time.Now(), mysql.TypeDatetime, 0}, 1}, + {mysql.Time{Time: time.Now().Add(time.Second * 10), Type: mysql.TypeDatetime, Fsp: 0}, + mysql.Time{Time: time.Now(), Type: mysql.TypeDatetime, Fsp: 0}, 1}, } for _, t := range cmpTbl { diff --git a/expression/expressions/unary_test.go b/expression/expressions/unary_test.go index a6f56623907b9..bc539e4fb900e 100644 --- a/expression/expressions/unary_test.go +++ b/expression/expressions/unary_test.go @@ -93,12 +93,13 @@ func (s *testUnaryOperationSuite) TestUnaryOp(c *C) { result interface{} }{ {mysql.NewDecimalFromInt(1, 0), opcode.Plus, mysql.NewDecimalFromInt(1, 0)}, - {mysql.Duration{time.Duration(838*3600 + 59*60 + 59), mysql.DefaultFsp}, opcode.Plus, mysql.Duration{time.Duration(838*3600 + 59*60 + 59), mysql.DefaultFsp}}, - {mysql.Time{time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC), mysql.TypeDatetime, 0}, opcode.Plus, mysql.Time{time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC), mysql.TypeDatetime, 0}}, + {mysql.Duration{Duration: time.Duration(838*3600 + 59*60 + 59), Fsp: mysql.DefaultFsp}, opcode.Plus, + mysql.Duration{Duration: time.Duration(838*3600 + 59*60 + 59), Fsp: mysql.DefaultFsp}}, + {mysql.Time{Time: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC), Type: mysql.TypeDatetime, Fsp: 0}, opcode.Plus, mysql.Time{Time: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC), Type: mysql.TypeDatetime, Fsp: 0}}, {mysql.NewDecimalFromInt(1, 0), opcode.Minus, mysql.NewDecimalFromInt(-1, 0)}, {mysql.ZeroDuration, opcode.Minus, mysql.NewDecimalFromInt(0, 0)}, - {mysql.Time{time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC), mysql.TypeDatetime, 0}, opcode.Minus, mysql.NewDecimalFromInt(-20091110230000, 0)}, + {mysql.Time{Time: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC), Type: mysql.TypeDatetime, Fsp: 0}, opcode.Minus, mysql.NewDecimalFromInt(-20091110230000, 0)}, } for _, t := range tbl { diff --git a/field/result_field_test.go b/field/result_field_test.go index 2d5ff85e34f72..5914ae4aef58b 100644 --- a/field/result_field_test.go +++ b/field/result_field_test.go @@ -30,7 +30,7 @@ type testResultFieldSuite struct { func (*testResultFieldSuite) TestMain(c *C) { col := column.Col{ - model.ColumnInfo{ + ColumnInfo: model.ColumnInfo{ FieldType: *types.NewFieldType(mysql.TypeLong), Name: model.NewCIStr("c1"), }, @@ -53,7 +53,7 @@ func (*testResultFieldSuite) TestMain(c *C) { c.Assert(r.String(), Equals, cr.String()) col1 := column.Col{ - model.ColumnInfo{ + ColumnInfo: model.ColumnInfo{ FieldType: *types.NewFieldType(mysql.TypeLong), Name: model.NewCIStr("c2"), }, @@ -75,14 +75,14 @@ func (*testResultFieldSuite) TestMain(c *C) { c.Assert(ns[1], Equals, "\"c2\"") col2 := column.Col{ - model.ColumnInfo{ + ColumnInfo: model.ColumnInfo{ FieldType: *types.NewFieldType(mysql.TypeVarchar), Name: model.NewCIStr("c3"), }, } col2.Flag |= mysql.UnsignedFlag col3 := column.Col{ - model.ColumnInfo{ + ColumnInfo: model.ColumnInfo{ FieldType: *types.NewFieldType(mysql.TypeBlob), Name: model.NewCIStr("c4"), }, @@ -100,7 +100,7 @@ func (*testResultFieldSuite) TestMain(c *C) { c.Assert(err, IsNil) col4 := column.Col{ - model.ColumnInfo{ + ColumnInfo: model.ColumnInfo{ FieldType: *types.NewFieldType(mysql.TypeVarchar), Name: model.NewCIStr("c2"), }, diff --git a/infoschema/infoschema_test.go b/infoschema/infoschema_test.go index cb73130a85f95..c57475cc10c42 100644 --- a/infoschema/infoschema_test.go +++ b/infoschema/infoschema_test.go @@ -39,7 +39,7 @@ type testSuite struct { func (*testSuite) TestT(c *C) { table.TableFromMeta = tables.TableFromMeta - driver := localstore.Driver{goleveldb.MemoryDriver{}} + driver := localstore.Driver{Driver: goleveldb.MemoryDriver{}} store, err := driver.Open("memory") c.Assert(err, IsNil) defer store.Close() diff --git a/meta/autoid/autoid_test.go b/meta/autoid/autoid_test.go index 05eb55b41be3b..a10ab85f94d6a 100644 --- a/meta/autoid/autoid_test.go +++ b/meta/autoid/autoid_test.go @@ -32,7 +32,7 @@ type testSuite struct { } func (*testSuite) TestT(c *C) { - driver := localstore.Driver{goleveldb.MemoryDriver{}} + driver := localstore.Driver{Driver: goleveldb.MemoryDriver{}} store, err := driver.Open("memory") c.Assert(err, IsNil) defer store.Close() diff --git a/meta/meta_test.go b/meta/meta_test.go index 7d3ee2ca35535..629bb36dd7327 100644 --- a/meta/meta_test.go +++ b/meta/meta_test.go @@ -32,7 +32,7 @@ type testSuite struct { } func (*testSuite) TestT(c *C) { - driver := localstore.Driver{goleveldb.MemoryDriver{}} + driver := localstore.Driver{Driver: goleveldb.MemoryDriver{}} store, err := driver.Open("memory") c.Assert(err, IsNil) defer store.Close() diff --git a/parser/coldef/col_def.go b/parser/coldef/col_def.go index 9a348ebcc9354..8d60f8bfe8018 100644 --- a/parser/coldef/col_def.go +++ b/parser/coldef/col_def.go @@ -166,7 +166,7 @@ func checkDefaultValue(c *column.Col, hasDefaultValue bool) error { func ColumnDefToCol(offset int, colDef *ColumnDef) (*column.Col, []*TableConstraint, error) { constraints := []*TableConstraint{} col := &column.Col{ - model.ColumnInfo{ + ColumnInfo: model.ColumnInfo{ Offset: offset, Name: model.NewCIStr(colDef.Name), FieldType: *colDef.Tp, diff --git a/plan/plans/from_test.go b/plan/plans/from_test.go index c51ca1484d73f..06f955308c0b8 100644 --- a/plan/plans/from_test.go +++ b/plan/plans/from_test.go @@ -172,7 +172,7 @@ func (p *testFromSuit) TestTableDefaultPlan(c *C) { p.tbl.AddIndex(idxCol) expr4 := &expressions.Ident{ - model.NewCIStr("id"), + CIStr: model.NewCIStr("id"), } _, filtered, err = pln.FilterForUpdateAndDelete(p, expr4) c.Assert(err, IsNil) diff --git a/plan/plans/index_test.go b/plan/plans/index_test.go index 493f4c0dbef3b..28fb4ed3598af 100644 --- a/plan/plans/index_test.go +++ b/plan/plans/index_test.go @@ -177,7 +177,7 @@ func (p *testIndexSuit) TestIndexPlan(c *C) { } expr5 := &expressions.Ident{ - model.NewCIStr("id"), + CIStr: model.NewCIStr("id"), } np, _, err := pln.Filter(p, expr) diff --git a/plan/plans/join_test.go b/plan/plans/join_test.go index 3b229ff7debfd..a9ef4c3d64fa0 100644 --- a/plan/plans/join_test.go +++ b/plan/plans/join_test.go @@ -76,7 +76,7 @@ func (s *testJoinSuit) TestJoin(c *C) { Right: tblPlan2, Type: "CROSS", Fields: []*field.ResultField{}, - On: expressions.Value{true}, + On: expressions.Value{Val: true}, } joinPlan.Do(nil, func(id interface{}, data []interface{}) (bool, error) { @@ -88,7 +88,7 @@ func (s *testJoinSuit) TestJoin(c *C) { Right: tblPlan2, Type: "LEFT", Fields: []*field.ResultField{}, - On: expressions.Value{true}, + On: expressions.Value{Val: true}, } joinPlan.Do(nil, func(id interface{}, data []interface{}) (bool, error) { @@ -100,7 +100,7 @@ func (s *testJoinSuit) TestJoin(c *C) { Right: tblPlan2, Type: "RIGHT", Fields: []*field.ResultField{}, - On: expressions.Value{true}, + On: expressions.Value{Val: true}, } expr := &expressions.BinaryOperation{ @@ -125,7 +125,7 @@ func (s *testJoinSuit) TestJoin(c *C) { Right: tblPlan2, Type: "FULL", Fields: []*field.ResultField{}, - On: expressions.Value{true}, + On: expressions.Value{Val: true}, } joinPlan.Do(nil, func(id interface{}, data []interface{}) (bool, error) { diff --git a/plan/plans/orderby_test.go b/plan/plans/orderby_test.go index d8a1feba9190a..ae231ee8b7470 100644 --- a/plan/plans/orderby_test.go +++ b/plan/plans/orderby_test.go @@ -46,7 +46,7 @@ func (t *testOrderBySuit) TestOrderBy(c *C) { Src: tblPlan, By: []expression.Expression{ &expressions.Ident{ - model.NewCIStr("id"), + CIStr: model.NewCIStr("id"), }, }, Ascs: []bool{false}, diff --git a/rset/rsets/fields.go b/rset/rsets/fields.go index 42c0efa411aaf..5419304357ab4 100644 --- a/rset/rsets/fields.go +++ b/rset/rsets/fields.go @@ -68,7 +68,7 @@ func (r *SelectFieldsRset) Plan(ctx context.Context) (plan.Plan, error) { } } if isConst { - src = &plans.TableNilPlan{x.T} + src = &plans.TableNilPlan{T: x.T} } } diff --git a/rset/rsets/groupby_test.go b/rset/rsets/groupby_test.go index 906462789712a..f281b156349c9 100644 --- a/rset/rsets/groupby_test.go +++ b/rset/rsets/groupby_test.go @@ -46,7 +46,7 @@ func (s *testGroupByRsetSuite) SetUpSuite(c *C) { Fields: fields, } - by := []expression.Expression{&expressions.Ident{model.NewCIStr("name")}} + by := []expression.Expression{&expressions.Ident{CIStr: model.NewCIStr("name")}} s.r = &GroupByRset{Src: tblPlan, SelectList: selectList, By: by} } @@ -60,42 +60,42 @@ func (s *testGroupByRsetSuite) TestGroupByRsetPlan(c *C) { c.Assert(ok, IsTrue) // `select id, name from t group by abc` - s.r.By[0] = expressions.Value{"abc"} + s.r.By[0] = expressions.Value{Val: "abc"} _, err = s.r.Plan(nil) c.Assert(err, IsNil) // `select id, name from t group by 1` - s.r.By[0] = expressions.Value{int64(1)} + s.r.By[0] = expressions.Value{Val: int64(1)} _, err = s.r.Plan(nil) c.Assert(err, IsNil) - s.r.By[0] = expressions.Value{uint64(1)} + s.r.By[0] = expressions.Value{Val: uint64(1)} _, err = s.r.Plan(nil) c.Assert(err, IsNil) // `select id, name from t group by 0` - s.r.By[0] = expressions.Value{int64(0)} + s.r.By[0] = expressions.Value{Val: int64(0)} _, err = s.r.Plan(nil) c.Assert(err, NotNil) - fldExpr, err := expressions.NewCall("count", []expression.Expression{expressions.Value{1}}, false) + fldExpr, err := expressions.NewCall("count", []expression.Expression{expressions.Value{Val: 1}}, false) c.Assert(err, IsNil) // `select count(1) as a, name from t group by 1` fld := &field.Field{Expr: fldExpr, Name: "a"} s.r.SelectList.Fields[0] = fld - s.r.By[0] = expressions.Value{int64(1)} + s.r.By[0] = expressions.Value{Val: int64(1)} _, err = s.r.Plan(nil) c.Assert(err, NotNil) // check ambiguous field, like `select id as name, name from t group by name` - s.r.By[0] = &expressions.Ident{model.NewCIStr("name")} + s.r.By[0] = &expressions.Ident{CIStr: model.NewCIStr("name")} fldx := &field.Field{Expr: &expressions.Ident{CIStr: model.NewCIStr("id")}, Name: "name"} fldy := &field.Field{Expr: &expressions.Ident{CIStr: model.NewCIStr("name")}, Name: "name"} @@ -108,7 +108,7 @@ func (s *testGroupByRsetSuite) TestGroupByRsetPlan(c *C) { c.Assert(err, NotNil) // check aggregate function reference, like `select count(1) as a, name from t group by a + 1` - expr := expressions.NewBinaryOperation(opcode.Plus, &expressions.Ident{model.NewCIStr("a")}, expressions.Value{1}) + expr := expressions.NewBinaryOperation(opcode.Plus, &expressions.Ident{CIStr: model.NewCIStr("a")}, expressions.Value{Val: 1}) s.r.By[0] = expr @@ -145,9 +145,10 @@ func (s *testGroupByRsetSuite) TestGroupByHasAmbiguousField(c *C) { c.Assert(ret, IsFalse) // check `c1+c2 as c2, c1+c3 as c2` - exprx := expressions.NewBinaryOperation(opcode.Plus, expressions.Value{"c1"}, expressions.Value{"c2"}) - - expry := expressions.NewBinaryOperation(opcode.Plus, expressions.Value{"c1"}, expressions.Value{"c3"}) + exprx := expressions.NewBinaryOperation(opcode.Plus, expressions.Value{Val: "c1"}, + expressions.Value{Val: "c2"}) + expry := expressions.NewBinaryOperation(opcode.Plus, expressions.Value{Val: "c1"}, + expressions.Value{Val: "c3"}) fldx := &field.Field{Expr: exprx, Name: "c2"} fldy := &field.Field{Expr: expry, Name: "c2"} diff --git a/rset/rsets/having_test.go b/rset/rsets/having_test.go index 54a56f8b14767..800827431f3a8 100644 --- a/rset/rsets/having_test.go +++ b/rset/rsets/having_test.go @@ -34,7 +34,7 @@ func (s *testHavingRsetSuite) SetUpSuite(c *C) { tblPlan := newTestTablePlan(testData, names) // expr `id > 1` - expr := expressions.NewBinaryOperation(opcode.GT, &expressions.Ident{model.NewCIStr("id")}, expressions.Value{1}) + expr := expressions.NewBinaryOperation(opcode.GT, &expressions.Ident{CIStr: model.NewCIStr("id")}, expressions.Value{Val: 1}) s.r = &HavingRset{Src: tblPlan, Expr: expr} } @@ -64,19 +64,19 @@ func (s *testHavingRsetSuite) TestHavingRsetCheckAndUpdateSelectList(c *C) { selectList.ResultFields = selectList.ResultFields[1:] selectList.Fields = selectList.Fields[1:] - groupBy = []expression.Expression{&expressions.Ident{model.NewCIStr("id")}} + groupBy = []expression.Expression{&expressions.Ident{CIStr: model.NewCIStr("id")}} err = s.r.CheckAndUpdateSelectList(selectList, groupBy, resultFields) c.Assert(err, IsNil) // `select name from t group by id + 1 having id > 1` - expr := expressions.NewBinaryOperation(opcode.Plus, &expressions.Ident{model.NewCIStr("id")}, expressions.Value{1}) + expr := expressions.NewBinaryOperation(opcode.Plus, &expressions.Ident{CIStr: model.NewCIStr("id")}, expressions.Value{Val: 1}) groupBy = []expression.Expression{expr} err = s.r.CheckAndUpdateSelectList(selectList, groupBy, resultFields) c.Assert(err, IsNil) // `select name from t group by id + 1 having count(1) > 1` - aggExpr, err := expressions.NewCall("count", []expression.Expression{expressions.Value{1}}, false) + aggExpr, err := expressions.NewCall("count", []expression.Expression{expressions.Value{Val: 1}}, false) c.Assert(err, IsNil) s.r.Expr = aggExpr @@ -85,7 +85,7 @@ func (s *testHavingRsetSuite) TestHavingRsetCheckAndUpdateSelectList(c *C) { c.Assert(err, IsNil) // `select name from t group by id + 1 having count(xxx) > 1` - aggExpr, err = expressions.NewCall("count", []expression.Expression{&expressions.Ident{model.NewCIStr("xxx")}}, false) + aggExpr, err = expressions.NewCall("count", []expression.Expression{&expressions.Ident{CIStr: model.NewCIStr("xxx")}}, false) c.Assert(err, IsNil) s.r.Expr = aggExpr @@ -94,7 +94,7 @@ func (s *testHavingRsetSuite) TestHavingRsetCheckAndUpdateSelectList(c *C) { c.Assert(err, NotNil) // `select name from t group by id having xxx > 1` - expr = expressions.NewBinaryOperation(opcode.GT, &expressions.Ident{model.NewCIStr("xxx")}, expressions.Value{1}) + expr = expressions.NewBinaryOperation(opcode.GT, &expressions.Ident{CIStr: model.NewCIStr("xxx")}, expressions.Value{Val: 1}) s.r.Expr = expr diff --git a/rset/rsets/helper_test.go b/rset/rsets/helper_test.go index 16d7d5fd52137..3a02f7a86c014 100644 --- a/rset/rsets/helper_test.go +++ b/rset/rsets/helper_test.go @@ -29,7 +29,7 @@ type testHelperSuite struct { func (s *testHelperSuite) SetUpSuite(c *C) { fldx := &field.Field{Expr: &expressions.Ident{CIStr: model.NewCIStr("name")}, Name: "a"} - expr, err := expressions.NewCall("count", []expression.Expression{expressions.Value{1}}, false) + expr, err := expressions.NewCall("count", []expression.Expression{expressions.Value{Val: 1}}, false) c.Assert(err, IsNil) fldy := &field.Field{Expr: expr} diff --git a/rset/rsets/join_test.go b/rset/rsets/join_test.go index 65ee12d25fd1a..a0857efafb149 100644 --- a/rset/rsets/join_test.go +++ b/rset/rsets/join_test.go @@ -108,7 +108,7 @@ func (s *testJoinRsetSuite) TestJoinRsetPlan(c *C) { func (s *testJoinRsetSuite) TestJoinRsetString(c *C) { s.r.Right = s.r.Left - s.r.On = expressions.Value{1} + s.r.On = expressions.Value{Val: 1} str := s.r.String() c.Assert(len(str), Greater, 0) } diff --git a/rset/rsets/orderby_test.go b/rset/rsets/orderby_test.go index c1df2cd7000da..ec1e7a9b323ce 100644 --- a/rset/rsets/orderby_test.go +++ b/rset/rsets/orderby_test.go @@ -63,7 +63,7 @@ func (s *testOrderByRsetSuite) TestOrderByRsetCheckAndUpdateSelectList(c *C) { Fields: fields, } - expr := &expressions.Ident{model.NewCIStr("id")} + expr := &expressions.Ident{CIStr: model.NewCIStr("id")} orderByItem := OrderByItem{Expr: expr, Asc: true} by := []OrderByItem{orderByItem} r := &OrderByRset{By: by, SelectList: selectList} @@ -80,7 +80,7 @@ func (s *testOrderByRsetSuite) TestOrderByRsetCheckAndUpdateSelectList(c *C) { c.Assert(err, NotNil) // `select id, name from t order by count(1) > 1` - aggExpr, err := expressions.NewCall("count", []expression.Expression{expressions.Value{1}}, false) + aggExpr, err := expressions.NewCall("count", []expression.Expression{expressions.Value{Val: 1}}, false) c.Assert(err, IsNil) r.By[0].Expr = aggExpr @@ -89,7 +89,7 @@ func (s *testOrderByRsetSuite) TestOrderByRsetCheckAndUpdateSelectList(c *C) { c.Assert(err, IsNil) // `select id, name from t order by count(xxx) > 1` - aggExpr, err = expressions.NewCall("count", []expression.Expression{&expressions.Ident{model.NewCIStr("xxx")}}, false) + aggExpr, err = expressions.NewCall("count", []expression.Expression{&expressions.Ident{CIStr: model.NewCIStr("xxx")}}, false) c.Assert(err, IsNil) r.By[0].Expr = aggExpr @@ -98,7 +98,7 @@ func (s *testOrderByRsetSuite) TestOrderByRsetCheckAndUpdateSelectList(c *C) { c.Assert(err, NotNil) // `select id, name from t order by xxx` - r.By[0].Expr = &expressions.Ident{model.NewCIStr("xxx")} + r.By[0].Expr = &expressions.Ident{CIStr: model.NewCIStr("xxx")} selectList.Fields[1].Name = "name" selectList.ResultFields[1].Name = "name" @@ -112,7 +112,7 @@ func (s *testOrderByRsetSuite) TestOrderByRsetPlan(c *C) { c.Assert(err, IsNil) // `select id, name from t order by id` - expr := &expressions.Ident{model.NewCIStr("id")} + expr := &expressions.Ident{CIStr: model.NewCIStr("id")} orderByItem := OrderByItem{Expr: expr} by := []OrderByItem{orderByItem} @@ -125,35 +125,35 @@ func (s *testOrderByRsetSuite) TestOrderByRsetPlan(c *C) { c.Assert(ok, IsTrue) // `select id, name from t order by 1` - s.r.By[0].Expr = expressions.Value{int64(1)} + s.r.By[0].Expr = expressions.Value{Val: int64(1)} _, err = s.r.Plan(nil) c.Assert(err, IsNil) - s.r.By[0].Expr = expressions.Value{uint64(1)} + s.r.By[0].Expr = expressions.Value{Val: uint64(1)} _, err = s.r.Plan(nil) c.Assert(err, IsNil) // `select id, name from t order by 0` - s.r.By[0].Expr = expressions.Value{int64(0)} + s.r.By[0].Expr = expressions.Value{Val: int64(0)} _, err = s.r.Plan(nil) c.Assert(err, NotNil) - s.r.By[0].Expr = expressions.Value{0} + s.r.By[0].Expr = expressions.Value{Val: 0} _, err = s.r.Plan(nil) c.Assert(err, IsNil) // `select id, name from t order by xxx` - s.r.By[0].Expr = &expressions.Ident{model.NewCIStr("xxx")} + s.r.By[0].Expr = &expressions.Ident{CIStr: model.NewCIStr("xxx")} _, err = s.r.Plan(nil) c.Assert(err, NotNil) // check src plan is NullPlan - s.r.Src = &plans.NullPlan{s.r.SelectList.ResultFields} + s.r.Src = &plans.NullPlan{Fields: s.r.SelectList.ResultFields} _, err = s.r.Plan(nil) c.Assert(err, IsNil) diff --git a/rset/rsets/where.go b/rset/rsets/where.go index b180bb438cdd0..52d0c1a1ae587 100644 --- a/rset/rsets/where.go +++ b/rset/rsets/where.go @@ -96,13 +96,13 @@ func (r *WhereRset) planBinOp(ctx context.Context, x *expressions.BinaryOperatio out[n-2] = e } - return &plans.FilterDefaultPlan{p, out[0]}, nil + return &plans.FilterDefaultPlan{Plan: p, Expr: out[0]}, nil default: // TODO: better plan for `OR`. log.Warn("TODO: better plan for", x.Op) } - return &plans.FilterDefaultPlan{p, x}, nil + return &plans.FilterDefaultPlan{Plan: p, Expr: x}, nil } func (r *WhereRset) planIdent(ctx context.Context, x *expressions.Ident) (plan.Plan, error) { @@ -116,7 +116,7 @@ func (r *WhereRset) planIdent(ctx context.Context, x *expressions.Ident) (plan.P return p2, nil } - return &plans.FilterDefaultPlan{p, x}, nil + return &plans.FilterDefaultPlan{Plan: p, Expr: x}, nil } func (r *WhereRset) planIsNull(ctx context.Context, x *expressions.IsNull) (plan.Plan, error) { @@ -124,7 +124,7 @@ func (r *WhereRset) planIsNull(ctx context.Context, x *expressions.IsNull) (plan cns := expressions.MentionedColumns(x.Expr) if len(cns) == 0 { - return &plans.FilterDefaultPlan{p, x}, nil + return &plans.FilterDefaultPlan{Plan: p, Expr: x}, nil } p2, filtered, err := p.Filter(ctx, x) @@ -136,7 +136,7 @@ func (r *WhereRset) planIsNull(ctx context.Context, x *expressions.IsNull) (plan return p2, nil } - return &plans.FilterDefaultPlan{p, x}, nil + return &plans.FilterDefaultPlan{Plan: p, Expr: x}, nil } func (r *WhereRset) planUnaryOp(ctx context.Context, x *expressions.UnaryOperation) (plan.Plan, error) { @@ -150,7 +150,7 @@ func (r *WhereRset) planUnaryOp(ctx context.Context, x *expressions.UnaryOperati return p2, nil } - return &plans.FilterDefaultPlan{p, x}, nil + return &plans.FilterDefaultPlan{Plan: p, Expr: x}, nil } func (r *WhereRset) planStatic(ctx context.Context, e expression.Expression) (plan.Plan, error) { @@ -161,7 +161,7 @@ func (r *WhereRset) planStatic(ctx context.Context, e expression.Expression) (pl if val == nil { // like `select * from t where null`. - return &plans.NullPlan{r.Src.GetFields()}, nil + return &plans.NullPlan{Fields: r.Src.GetFields()}, nil } n, err := types.ToBool(val) @@ -171,10 +171,10 @@ func (r *WhereRset) planStatic(ctx context.Context, e expression.Expression) (pl if n == 0 { // like `select * from t where 0`. - return &plans.NullPlan{r.Src.GetFields()}, nil + return &plans.NullPlan{Fields: r.Src.GetFields()}, nil } - return &plans.FilterDefaultPlan{r.Src, e}, nil + return &plans.FilterDefaultPlan{Plan: r.Src, Expr: e}, nil } // Plan gets NullPlan/FilterDefaultPlan. @@ -209,5 +209,5 @@ func (r *WhereRset) Plan(ctx context.Context) (plan.Plan, error) { log.Warnf("%v not supported in where rset now", r.Expr) } - return &plans.FilterDefaultPlan{r.Src, expr}, nil + return &plans.FilterDefaultPlan{Plan: r.Src, Expr: expr}, nil } diff --git a/rset/rsets/where_test.go b/rset/rsets/where_test.go index a3a8f121704d4..a553f9015a0f6 100644 --- a/rset/rsets/where_test.go +++ b/rset/rsets/where_test.go @@ -32,7 +32,7 @@ func (s *testWhereRsetSuite) SetUpSuite(c *C) { names := []string{"id", "name"} tblPlan := newTestTablePlan(testData, names) - expr := expressions.NewBinaryOperation(opcode.Plus, &expressions.Ident{model.NewCIStr("id")}, expressions.Value{1}) + expr := expressions.NewBinaryOperation(opcode.Plus, &expressions.Ident{CIStr: model.NewCIStr("id")}, expressions.Value{Val: 1}) s.r = &WhereRset{Src: tblPlan, Expr: expr} } @@ -46,13 +46,13 @@ func (s *testWhereRsetSuite) TestShowRsetPlan(c *C) { c.Assert(ok, IsTrue) // `select id, name from t where 1` - s.r.Expr = expressions.Value{int64(1)} + s.r.Expr = expressions.Value{Val: int64(1)} _, err = s.r.Plan(nil) c.Assert(err, IsNil) // `select id, name from t where 0` - s.r.Expr = expressions.Value{int64(0)} + s.r.Expr = expressions.Value{Val: int64(0)} _, err = s.r.Plan(nil) c.Assert(err, IsNil) @@ -64,7 +64,7 @@ func (s *testWhereRsetSuite) TestShowRsetPlan(c *C) { c.Assert(err, IsNil) // `select id, name from t where id < 10` - expr := expressions.NewBinaryOperation(opcode.LT, &expressions.Ident{model.NewCIStr("id")}, expressions.Value{10}) + expr := expressions.NewBinaryOperation(opcode.LT, &expressions.Ident{CIStr: model.NewCIStr("id")}, expressions.Value{Val: 10}) s.r.Expr = expr @@ -80,7 +80,7 @@ func (s *testWhereRsetSuite) TestShowRsetPlan(c *C) { // `select id, name from t where null && 1` src.SetFilter(false) - expr = expressions.NewBinaryOperation(opcode.AndAnd, expressions.Value{}, expressions.Value{1}) + expr = expressions.NewBinaryOperation(opcode.AndAnd, expressions.Value{}, expressions.Value{Val: 1}) s.r.Expr = expr @@ -88,7 +88,7 @@ func (s *testWhereRsetSuite) TestShowRsetPlan(c *C) { c.Assert(err, IsNil) // `select id, name from t where id && 1` - expr = expressions.NewBinaryOperation(opcode.AndAnd, &expressions.Ident{model.NewCIStr("id")}, expressions.Value{1}) + expr = expressions.NewBinaryOperation(opcode.AndAnd, &expressions.Ident{CIStr: model.NewCIStr("id")}, expressions.Value{Val: 1}) s.r.Expr = expr @@ -96,8 +96,8 @@ func (s *testWhereRsetSuite) TestShowRsetPlan(c *C) { c.Assert(err, IsNil) // `select id, name from t where id && (id < 10)` - exprx := expressions.NewBinaryOperation(opcode.LT, &expressions.Ident{model.NewCIStr("id")}, expressions.Value{10}) - expr = expressions.NewBinaryOperation(opcode.AndAnd, &expressions.Ident{model.NewCIStr("id")}, exprx) + exprx := expressions.NewBinaryOperation(opcode.LT, &expressions.Ident{CIStr: model.NewCIStr("id")}, expressions.Value{Val: 10}) + expr = expressions.NewBinaryOperation(opcode.AndAnd, &expressions.Ident{CIStr: model.NewCIStr("id")}, exprx) s.r.Expr = expr @@ -112,7 +112,7 @@ func (s *testWhereRsetSuite) TestShowRsetPlan(c *C) { // `select id, name from t where abc` src.SetFilter(false) - expr = &expressions.Ident{model.NewCIStr("abc")} + expr = &expressions.Ident{CIStr: model.NewCIStr("abc")} s.r.Expr = expr @@ -127,7 +127,7 @@ func (s *testWhereRsetSuite) TestShowRsetPlan(c *C) { // `select id, name from t where 1 is null` src.SetFilter(false) - exprx = expressions.Value{1} + exprx = expressions.Value{Val: 1} expr = &expressions.IsNull{Expr: exprx} s.r.Expr = expr @@ -143,7 +143,7 @@ func (s *testWhereRsetSuite) TestShowRsetPlan(c *C) { // `select id, name from t where id is null` src.SetFilter(false) - exprx = &expressions.Ident{model.NewCIStr("id")} + exprx = &expressions.Ident{CIStr: model.NewCIStr("id")} expr = &expressions.IsNull{Expr: exprx} s.r.Expr = expr @@ -159,7 +159,7 @@ func (s *testWhereRsetSuite) TestShowRsetPlan(c *C) { // `select id, name from t where +id` src.SetFilter(false) - exprx = &expressions.Ident{model.NewCIStr("id")} + exprx = &expressions.Ident{CIStr: model.NewCIStr("id")} expr = expressions.NewUnaryOperation(opcode.Plus, exprx) s.r.Expr = expr @@ -180,7 +180,7 @@ func (s *testWhereRsetSuite) TestShowRsetPlan(c *C) { c.Assert(err, IsNil) // `select id, name from t where id like '%s'` - expry := expressions.Value{"%s"} + expry := expressions.Value{Val: "%s"} expr = &expressions.PatternLike{Expr: exprx, Pattern: expry} s.r.Expr = expr diff --git a/stmt/stmts/select.go b/stmt/stmts/select.go index 2446aef8394a8..5dcb30cb99219 100644 --- a/stmt/stmts/select.go +++ b/stmt/stmts/select.go @@ -182,12 +182,12 @@ func (s *SelectStmt) Plan(ctx context.Context) (plan.Plan, error) { } if s := s.Offset; s != nil { - if r, err = (&rsets.OffsetRset{s.Count, r}).Plan(ctx); err != nil { + if r, err = (&rsets.OffsetRset{Count: s.Count, Src: r}).Plan(ctx); err != nil { return nil, err } } if s := s.Limit; s != nil { - if r, err = (&rsets.LimitRset{s.Count, r}).Plan(ctx); err != nil { + if r, err = (&rsets.LimitRset{Count: s.Count, Src: r}).Plan(ctx); err != nil { return nil, err } } @@ -208,5 +208,5 @@ func (s *SelectStmt) Exec(ctx context.Context) (rs rset.Recordset, err error) { return nil, err } - return rsets.Recordset{ctx, r}, nil + return rsets.Recordset{Ctx: ctx, Plan: r}, nil } diff --git a/stmt/stmts/show.go b/stmt/stmts/show.go index e434a42a7b625..df826e314f9b4 100644 --- a/stmt/stmts/show.go +++ b/stmt/stmts/show.go @@ -76,5 +76,5 @@ func (s *ShowStmt) Exec(ctx context.Context) (_ rset.Recordset, err error) { return nil, err } - return rsets.Recordset{ctx, r}, nil + return rsets.Recordset{Ctx: ctx, Plan: r}, nil } diff --git a/stmt/stmts/union.go b/stmt/stmts/union.go index 6a2d1273cd328..4ff05b5cf2ed8 100644 --- a/stmt/stmts/union.go +++ b/stmt/stmts/union.go @@ -80,5 +80,5 @@ func (s *UnionStmt) Exec(ctx context.Context) (rs rset.Recordset, err error) { if err != nil { return nil, err } - return rsets.Recordset{ctx, r}, nil + return rsets.Recordset{Ctx: ctx, Plan: r}, nil } diff --git a/table/table_test.go b/table/table_test.go index 76e459ea3514d..9727d4a9a10ad 100644 --- a/table/table_test.go +++ b/table/table_test.go @@ -40,7 +40,7 @@ func (*testSuite) TestT(c *C) { Name: model.NewCIStr("t"), } c.Assert(ident.String(), Not(Equals), "") - driver := localstore.Driver{goleveldb.MemoryDriver{}} + driver := localstore.Driver{Driver: goleveldb.MemoryDriver{}} store, err := driver.Open("memory") c.Assert(err, IsNil) se, err := tidb.CreateSession(store) diff --git a/table/tables/tables.go b/table/tables/tables.go index 4c621123001b9..8a423e9cd9010 100644 --- a/table/tables/tables.go +++ b/table/tables/tables.go @@ -53,7 +53,7 @@ func TableFromMeta(dbname string, alloc autoid.Allocator, tblInfo *model.TableIn t := NewTable(tblInfo.ID, tblInfo.Name.O, dbname, nil, alloc) for _, colInfo := range tblInfo.Columns { - c := column.Col{*colInfo} + c := column.Col{ColumnInfo: *colInfo} t.Columns = append(t.Columns, &c) } diff --git a/table/tables/tables_test.go b/table/tables/tables_test.go index 83b1b0f26c5af..9c3e3436407ae 100644 --- a/table/tables/tables_test.go +++ b/table/tables/tables_test.go @@ -42,7 +42,7 @@ type testSuite struct { func (ts *testSuite) SetUpSuite(c *C) { table.TableFromMeta = tables.TableFromMeta - driver := localstore.Driver{goleveldb.MemoryDriver{}} + driver := localstore.Driver{Driver: goleveldb.MemoryDriver{}} store, err := driver.Open("memory") c.Check(err, IsNil) ts.store = store diff --git a/tidb.go b/tidb.go index c6797276098a1..b7312ba637c47 100644 --- a/tidb.go +++ b/tidb.go @@ -167,7 +167,7 @@ func runExecute(ctx context.Context, es *stmts.ExecuteStmt, args ...interface{}) if len(args) > 0 { es.UsingVars = make([]expression.Expression, 0, len(args)) for _, v := range args { - var exp expression.Expression = &expressions.Value{v} + var exp expression.Expression = &expressions.Value{Val: v} es.UsingVars = append(es.UsingVars, exp) } } @@ -208,7 +208,7 @@ func RegisterStore(name string, driver kv.Driver) error { // RegisterLocalStore registers a local kv storage with unique name and its associated engine Driver. func RegisterLocalStore(name string, driver engine.Driver) error { - d := localstore.Driver{driver} + d := localstore.Driver{Driver: driver} return RegisterStore(name, d) } diff --git a/util/prefix_helper_test.go b/util/prefix_helper_test.go index 0e16a0e930770..36b1bc191e7f8 100644 --- a/util/prefix_helper_test.go +++ b/util/prefix_helper_test.go @@ -43,7 +43,7 @@ type testPrefixSuite struct { func (s *testPrefixSuite) SetUpSuite(c *C) { path := "memory:" d := localstore.Driver{ - goleveldb.MemoryDriver{}, + Driver: goleveldb.MemoryDriver{}, } store, err := d.Open(path) c.Assert(err, IsNil) diff --git a/util/types/etc_test.go b/util/types/etc_test.go index 03a8114371839..a4ee136be43cc 100644 --- a/util/types/etc_test.go +++ b/util/types/etc_test.go @@ -163,13 +163,16 @@ func (s *testTypeEtcSuite) TestCompare(c *C) { checkCompare(c, []byte(""), []byte("sff"), -1) checkCompare(c, mysql.Time{}, nil, 1) - checkCompare(c, mysql.Time{}, mysql.Time{time.Now(), 1, 3}, -1) - checkCompare(c, mysql.Time{time.Now(), 1, 3}, "11:11", 1) + checkCompare(c, mysql.Time{}, mysql.Time{Time: time.Now(), Type: 1, Fsp: 3}, -1) + checkCompare(c, mysql.Time{Time: time.Now(), Type: 1, Fsp: 3}, "11:11", 1) - checkCompare(c, mysql.Duration{time.Duration(34), 2}, nil, 1) - checkCompare(c, mysql.Duration{time.Duration(34), 2}, mysql.Duration{time.Duration(29034), 2}, -1) - checkCompare(c, mysql.Duration{time.Duration(3340), 2}, mysql.Duration{time.Duration(34), 2}, 1) - checkCompare(c, mysql.Duration{time.Duration(34), 2}, mysql.Duration{time.Duration(34), 2}, 0) + checkCompare(c, mysql.Duration{Duration: time.Duration(34), Fsp: 2}, nil, 1) + checkCompare(c, mysql.Duration{Duration: time.Duration(34), Fsp: 2}, + mysql.Duration{Duration: time.Duration(29034), Fsp: 2}, -1) + checkCompare(c, mysql.Duration{Duration: time.Duration(3340), Fsp: 2}, + mysql.Duration{Duration: time.Duration(34), Fsp: 2}, 1) + checkCompare(c, mysql.Duration{Duration: time.Duration(34), Fsp: 2}, + mysql.Duration{Duration: time.Duration(34), Fsp: 2}, 0) checkCompare(c, mysql.Decimal{}, mysql.Decimal{}, 0) } @@ -216,9 +219,9 @@ func (s *testTypeEtcSuite) TestClone(c *C) { checkClone(c, "abcd1.c--/+!%^", true) checkClone(c, []byte("aa028*(%^"), true) checkClone(c, []interface{}{1, 2}, true) - checkClone(c, mysql.Duration{time.Duration(32), 0}, true) + checkClone(c, mysql.Duration{Duration: time.Duration(32), Fsp: 0}, true) checkClone(c, mysql.Decimal{}, true) - checkClone(c, mysql.Time{time.Now(), 1, 3}, true) + checkClone(c, mysql.Time{Time: time.Now(), Type: 1, Fsp: 3}, true) checkClone(c, make(map[int]string), false) } @@ -286,7 +289,7 @@ func (s *testTypeEtcSuite) TestIsOrderedType(c *C) { c.Assert(err, IsNil) c.Assert(r, IsTrue) - _, r, err = IsOrderedType(mysql.Duration{time.Duration(0), 0}) + _, r, err = IsOrderedType(mysql.Duration{Duration: time.Duration(0), Fsp: 0}) c.Assert(err, IsNil) c.Assert(r, IsTrue) }