From 4bdd37fa1325832d8a3a989f7e3cffe0fc93b64a Mon Sep 17 00:00:00 2001 From: ngaut Date: Fri, 30 Oct 2015 19:34:07 +0800 Subject: [PATCH] ddl: Tiny clean up --- ddl/ddl.go | 1 + ddl/index.go | 11 ++++------- ddl/reorg.go | 14 +++++--------- ddl/worker.go | 2 ++ 4 files changed, 12 insertions(+), 16 deletions(-) diff --git a/ddl/ddl.go b/ddl/ddl.go index ef15dc685c..2ef5920a4b 100644 --- a/ddl/ddl.go +++ b/ddl/ddl.go @@ -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() diff --git a/ddl/index.go b/ddl/index.go index 458a68a208..41f4348b5d 100644 --- a/ddl/index.go +++ b/ddl/index.go @@ -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) } diff --git a/ddl/reorg.go b/ddl/reorg.go index 763c1b469c..b510453591 100644 --- a/ddl/reorg.go +++ b/ddl/reorg.go @@ -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) diff --git a/ddl/worker.go b/ddl/worker.go index aa6aa092dd..c5d5e760b5 100644 --- a/ddl/worker.go +++ b/ddl/worker.go @@ -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