code: func (e *ProjectionExec) Close() error {
  	if e.isUnparallelExec() {
  		e.childResult = nil
  	}
  	if e.outputCh != nil {
  		close(e.finishCh)
  		// Wait for "projectionInputFetcher" to finish and exit.
  		for range e.outputCh {
  		}
  		e.outputCh = nil
  	}
  	return e.baseExecutor.Close()
  }
docs: // Close implements the Executor Close interface.