code: func (e *RadixHashJoinExec) partitionInnerRows() error {
  	e.evalRadixBit()
  	if err := e.preAlloc4InnerParts(); err != nil {
  		return err
  	}
  
  	wg := sync.WaitGroup{}
  	defer wg.Wait()
  	wg.Add(int(e.concurrency))
  	for i := 0; i < int(e.concurrency); i++ {
  		workerID := i
  		go util.WithRecovery(func() {
  			defer wg.Done()
  			e.doInnerPartition(workerID)
  		}, e.handlePartitionPanic)
  	}
  	return nil
  }
docs: // partitionInnerRows re-order e.innerResults into sub-relations.