code: func (e *ShowDDLJobsExec) Open(ctx context.Context) error {
  	if err := e.baseExecutor.Open(ctx); err != nil {
  		return err
  	}
  	txn, err := e.ctx.Txn(true)
  	if err != nil {
  		return err
  	}
  	jobs, err := admin.GetDDLJobs(txn)
  	if err != nil {
  		return err
  	}
  	if e.jobNumber == 0 {
  		e.jobNumber = admin.DefNumHistoryJobs
  	}
  	historyJobs, err := admin.GetHistoryDDLJobs(txn, int(e.jobNumber))
  	if err != nil {
  		return err
  	}
  	e.jobs = append(e.jobs, jobs...)
  	e.jobs = append(e.jobs, historyJobs...)
  	e.cursor = 0
  	return nil
  }
docs: // Open implements the Executor Open interface.