Skip to content

Commit

Permalink
*: Remove coldef package
Browse files Browse the repository at this point in the history
There are lots of redundancies between ast and coldef. So we remove
coldef.
  • Loading branch information
shenli committed Mar 5, 2016
1 parent 6ca8d34 commit 515f193
Show file tree
Hide file tree
Showing 19 changed files with 179 additions and 932 deletions.
34 changes: 33 additions & 1 deletion ast/misc.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,14 @@

package ast

import "github.com/pingcap/tidb/mysql"
import (
"fmt"

"github.com/pingcap/tidb/context"
"github.com/pingcap/tidb/model"
"github.com/pingcap/tidb/mysql"
"github.com/pingcap/tidb/sessionctx/db"
)

var (
_ StmtNode = &AdminStmt{}
Expand Down Expand Up @@ -473,3 +480,28 @@ func (n *GrantStmt) Accept(v Visitor) (Node, bool) {
}
return v.Leave(n)
}

// Ident is the table identifier composed of schema name and table name.
type Ident struct {
Schema model.CIStr
Name model.CIStr
}

// Full returns an Ident which set schema to the current schema if it is empty.
func (i Ident) Full(ctx context.Context) (full Ident) {
full.Name = i.Name
if i.Schema.O != "" {
full.Schema = i.Schema
} else {
full.Schema = model.NewCIStr(db.GetCurrentSchema(ctx))
}
return
}

// String implements fmt.Stringer interface
func (i Ident) String() string {
if i.Schema.O == "" {
return i.Name.O
}
return fmt.Sprintf("%s.%s", i.Schema, i.Name)
}
99 changes: 0 additions & 99 deletions ddl/alter.go

This file was deleted.

76 changes: 0 additions & 76 deletions ddl/alter_test.go

This file was deleted.

11 changes: 6 additions & 5 deletions ddl/column.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ package ddl
import (
"github.com/juju/errors"
"github.com/ngaut/log"
"github.com/pingcap/tidb/ast"
"github.com/pingcap/tidb/column"
"github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/meta"
Expand Down Expand Up @@ -55,16 +56,16 @@ func (d *ddl) adjustColumnOffset(columns []*model.ColumnInfo, indices []*model.I
}
}

func (d *ddl) addColumn(tblInfo *model.TableInfo, colInfo *model.ColumnInfo, pos *ColumnPosition) (*model.ColumnInfo, int, error) {
func (d *ddl) addColumn(tblInfo *model.TableInfo, colInfo *model.ColumnInfo, pos *ast.ColumnPosition) (*model.ColumnInfo, int, error) {
// Check column name duplicate.
cols := tblInfo.Columns
position := len(cols)

// Get column position.
if pos.Type == ColumnPositionFirst {
if pos.Tp == ast.ColumnPositionFirst {
position = 0
} else if pos.Type == ColumnPositionAfter {
c := findCol(cols, pos.RelativeColumn)
} else if pos.Tp == ast.ColumnPositionAfter {
c := findCol(cols, pos.RelativeColumn.Name.L)
if c == nil {
return nil, 0, errors.Errorf("No such column: %v", pos.RelativeColumn)
}
Expand Down Expand Up @@ -96,7 +97,7 @@ func (d *ddl) onAddColumn(t *meta.Meta, job *model.Job) error {
}

col := &model.ColumnInfo{}
pos := &ColumnPosition{}
pos := &ast.ColumnPosition{}
offset := 0
err = job.DecodeArgs(col, pos, &offset)
if err != nil {
Expand Down
13 changes: 7 additions & 6 deletions ddl/column_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import (
"time"

. "github.com/pingcap/check"
"github.com/pingcap/tidb/ast"
"github.com/pingcap/tidb/column"
"github.com/pingcap/tidb/context"
"github.com/pingcap/tidb/kv"
Expand Down Expand Up @@ -59,7 +60,7 @@ func (s *testColumnSuite) TearDownSuite(c *C) {
}

func testCreateColumn(c *C, ctx context.Context, d *ddl, dbInfo *model.DBInfo, tblInfo *model.TableInfo,
colName string, pos *ColumnPosition, defaultValue interface{}) *model.Job {
colName string, pos *ast.ColumnPosition, defaultValue interface{}) *model.Job {
col := &model.ColumnInfo{
Name: model.NewCIStr(colName),
Offset: len(tblInfo.Columns),
Expand Down Expand Up @@ -133,7 +134,7 @@ func (s *testColumnSuite) TestColumn(c *C) {

c.Assert(column.FindCol(t.Cols(), "c4"), IsNil)

job := testCreateColumn(c, ctx, s.d, s.dbInfo, tblInfo, "c4", &ColumnPosition{Type: ColumnPositionAfter, RelativeColumn: "c3"}, 100)
job := testCreateColumn(c, ctx, s.d, s.dbInfo, tblInfo, "c4", &ast.ColumnPosition{Tp: ast.ColumnPositionAfter, RelativeColumn: &ast.ColumnName{Name: model.NewCIStr("c3")}}, 100)
testCheckJobDone(c, s.d, job, true)

t = testGetTable(c, s.d, s.dbInfo.ID, tblInfo.ID)
Expand Down Expand Up @@ -171,7 +172,7 @@ func (s *testColumnSuite) TestColumn(c *C) {
c.Assert(values, HasLen, 3)
c.Assert(values[2].GetInt64(), Equals, int64(13))

job = testCreateColumn(c, ctx, s.d, s.dbInfo, tblInfo, "c4", &ColumnPosition{Type: ColumnPositionNone}, 111)
job = testCreateColumn(c, ctx, s.d, s.dbInfo, tblInfo, "c4", &ast.ColumnPosition{Tp: ast.ColumnPositionNone}, 111)
testCheckJobDone(c, s.d, job, true)

t = testGetTable(c, s.d, s.dbInfo.ID, tblInfo.ID)
Expand All @@ -181,7 +182,7 @@ func (s *testColumnSuite) TestColumn(c *C) {
c.Assert(values, HasLen, 4)
c.Assert(values[3].GetInt64(), Equals, int64(111))

job = testCreateColumn(c, ctx, s.d, s.dbInfo, tblInfo, "c5", &ColumnPosition{Type: ColumnPositionNone}, 101)
job = testCreateColumn(c, ctx, s.d, s.dbInfo, tblInfo, "c5", &ast.ColumnPosition{Tp: ast.ColumnPositionNone}, 101)
testCheckJobDone(c, s.d, job, true)

t = testGetTable(c, s.d, s.dbInfo.ID, tblInfo.ID)
Expand All @@ -191,7 +192,7 @@ func (s *testColumnSuite) TestColumn(c *C) {
c.Assert(values, HasLen, 5)
c.Assert(values[4].GetInt64(), Equals, int64(101))

job = testCreateColumn(c, ctx, s.d, s.dbInfo, tblInfo, "c6", &ColumnPosition{Type: ColumnPositionFirst}, 202)
job = testCreateColumn(c, ctx, s.d, s.dbInfo, tblInfo, "c6", &ast.ColumnPosition{Tp: ast.ColumnPositionFirst}, 202)
testCheckJobDone(c, s.d, job, true)

t = testGetTable(c, s.d, s.dbInfo.ID, tblInfo.ID)
Expand Down Expand Up @@ -598,7 +599,7 @@ func (s *testColumnSuite) TestAddColumn(c *C) {
d.close()
d.start()

job := testCreateColumn(c, ctx, d, s.dbInfo, tblInfo, colName, &ColumnPosition{Type: ColumnPositionNone}, defaultColValue)
job := testCreateColumn(c, ctx, d, s.dbInfo, tblInfo, colName, &ast.ColumnPosition{Tp: ast.ColumnPositionNone}, defaultColValue)
testCheckJobDone(c, d, job, true)

_, err = ctx.GetTxn(true)
Expand Down
Loading

0 comments on commit 515f193

Please sign in to comment.