ddl: Tiny clean up

This commit is contained in:
ngaut
2015-10-30 19:34:07 +08:00
parent f5d1854186
commit 4bdd37fa13
4 changed files with 12 additions and 16 deletions

View File

@ -104,6 +104,7 @@ func newDDL(store kv.Storage, infoHandle *infoschema.Handle, hook OnDDLChange, l
uuid: uuid.NewV4().String(),
jobCh: make(chan struct{}, 1),
jobDoneCh: make(chan struct{}, 1),
reOrgDoneCh: make(chan error, 1),
}
d.start()

View File

@ -29,7 +29,7 @@ import (
"github.com/pingcap/tidb/util/errors2"
)
func (d *ddl) checkTablePublic(t *meta.Meta, job *model.Job) (*model.TableInfo, error) {
func (d *ddl) getTableInfo(t *meta.Meta, job *model.Job) (*model.TableInfo, error) {
schemaID := job.SchemaID
tableID := job.TableID
tblInfo, err := t.GetTable(schemaID, tableID)
@ -104,8 +104,7 @@ func buildIndexInfo(tblInfo *model.TableInfo, unique bool, indexName model.CIStr
func (d *ddl) onIndexCreate(t *meta.Meta, job *model.Job) error {
schemaID := job.SchemaID
tblInfo, err := d.checkTablePublic(t, job)
tblInfo, err := d.getTableInfo(t, job)
if err != nil {
return errors.Trace(err)
}
@ -214,8 +213,7 @@ func (d *ddl) onIndexCreate(t *meta.Meta, job *model.Job) error {
func (d *ddl) onIndexDrop(t *meta.Meta, job *model.Job) error {
schemaID := job.SchemaID
tblInfo, err := d.checkTablePublic(t, job)
tblInfo, err := d.getTableInfo(t, job)
if err != nil {
return errors.Trace(err)
}
@ -264,8 +262,7 @@ func (d *ddl) onIndexDrop(t *meta.Meta, job *model.Job) error {
return errors.Trace(err)
case model.StateReorgnization:
// reorganization -> absent
var tbl table.Table
tbl, err = d.getTable(t, schemaID, tblInfo)
tbl, err := d.getTable(t, schemaID, tblInfo)
if err != nil {
return errors.Trace(err)
}

View File

@ -97,15 +97,11 @@ const waitReorgTimeout = 10 * time.Second
var errWaitReorgTimeout = errors.New("wait for reorgnization timeout")
func (d *ddl) runReorgJob(f func() error) error {
// wait reorgnization jobs done
// TODO use persistent reorgnization job list.
if d.reOrgDoneCh == nil {
// start a reorgnization job
d.reOrgDoneCh = make(chan error, 1)
go func() {
d.reOrgDoneCh <- f()
}()
}
// TODO: use persistent reorgnization job list.
// start a reorgnization job
go func() {
d.reOrgDoneCh <- f()
}()
waitTimeout := chooseLeaseTime(d.lease, waitReorgTimeout)

View File

@ -294,7 +294,9 @@ func (d *ddl) runJob(t *meta.Meta, job *model.Job) error {
case model.ActionDropIndex:
err = d.onIndexDrop(t, job)
case model.ActionAddConstraint:
log.Fatal("Doesn't support change constraint online")
case model.ActionDropConstraint:
log.Fatal("Doesn't support change constraint online")
default:
// invalid job, cancel it.
job.State = model.JobCancelled