MCPcopy Create free account
hub / github.com/araddon/qlbridge / WalkJoin

Method WalkJoin

exec/executor.go:236–264  ·  view source on GitHub ↗
(p *plan.JoinMerge)

Source from the content-addressed store, hash-verified

234 return NewProjection(m.Ctx, p), nil
235}
236func (m *JobExecutor) WalkJoin(p *plan.JoinMerge) (Task, error) {
237 execTask := NewTaskParallel(m.Ctx)
238 //u.Debugf("join.Left: %#v \nright:%#v", p.Left, p.Right)
239 l, err := m.WalkPlanAll(p.Left)
240 if err != nil {
241 u.Errorf("whoops %T %v", l, err)
242 return nil, err
243 }
244 err = execTask.Add(l)
245 if err != nil {
246 u.Errorf("whoops %T %v", l, err)
247 return nil, err
248 }
249 r, err := m.WalkPlanAll(p.Right)
250 if err != nil {
251 return nil, err
252 }
253 err = execTask.Add(r)
254 if err != nil {
255 return nil, err
256 }
257
258 jm := NewJoinNaiveMerge(m.Ctx, l.(TaskRunner), r.(TaskRunner), p)
259 err = execTask.Add(jm)
260 if err != nil {
261 return nil, err
262 }
263 return execTask, nil
264}
265func (m *JobExecutor) WalkJoinKey(p *plan.JoinKey) (Task, error) {
266 return NewJoinKey(m.Ctx, p), nil
267}

Callers

nothing calls this directly

Calls 5

WalkPlanAllMethod · 0.95
AddMethod · 0.95
NewTaskParallelFunction · 0.85
NewJoinNaiveMergeFunction · 0.85
ErrorfMethod · 0.80

Tested by

no test coverage detected