diff --git a/executor/builder.go b/executor/builder.go index 53e1f7e16df57..13571a4345ed2 100644 --- a/executor/builder.go +++ b/executor/builder.go @@ -3167,7 +3167,11 @@ func (b *executorBuilder) buildIndexLookUpMergeJoin(v *plannercore.PhysicalIndex } func (b *executorBuilder) buildIndexNestedLoopHashJoin(v *plannercore.PhysicalIndexHashJoin) Executor { - e := b.buildIndexLookUpJoin(&(v.PhysicalIndexJoin)).(*IndexLookUpJoin) + join := b.buildIndexLookUpJoin(&(v.PhysicalIndexJoin)) + if b.err != nil { + return nil + } + e := join.(*IndexLookUpJoin) idxHash := &IndexNestedLoopHashJoin{ IndexLookUpJoin: *e, keepOuterOrder: v.KeepOuterOrder,