code: func (e *LimitExec) Open(ctx context.Context) error {
  	if err := e.baseExecutor.Open(ctx); err != nil {
  		return err
  	}
  	e.childResult = e.children[0].newFirstChunk()
  	e.cursor = 0
  	e.meetFirstBatch = e.begin == 0
  	return nil
  }
docs: // Open implements the Executor Open interface.