code: func (dr *delRange) startEmulator() {
  	defer dr.wait.Done()
  	logutil.Logger(ddlLogCtx).Info("[ddl] start delRange emulator")
  	for {
  		select {
  		case <-dr.emulatorCh:
  		case <-dr.quitCh:
  			return
  		}
  		if IsEmulatorGCEnable() {
  			err := dr.doDelRangeWork()
  			terror.Log(errors.Trace(err))
  		}
  	}
  }
docs: // startEmulator is only used for those storage engines which don't support
  // delete-range. The emulator fetches records from gc_delete_range table and
  // deletes all keys in each DelRangeTask.