func (d *ddl) getReorgInfo(t *meta.Meta, job *model.Job) (*reorgInfo, error) { var err error info := &reorgInfo{ Job: job, d: d, first: job.SnapshotVer == 0, } if info.first { // get the current version for reorganization if we don't have var ver kv.Version ver, err = d.store.CurrentVersion() if err != nil { return nil, errors.Trace(err) } else if ver.Ver <= 0 { return nil, errors.Errorf("invalid storage current version %d", ver.Ver) } job.SnapshotVer = ver.Ver } else { info.Handle, err = t.GetDDLReorgHandle(job) if err != nil { return nil, errors.Trace(err) } } if info.Handle > 0 { // we have already handled this handle, so use next info.Handle++ } return info, errors.Trace(err) }