Skip to content

Commit

Permalink
fix childOrderingRequiredTag computation logic (#527)
Browse files Browse the repository at this point in the history
Co-authored-by: zhangli20 <[email protected]>
  • Loading branch information
richox and zhangli20 authored Jul 22, 2024
1 parent 7e170ec commit 6543ad3
Showing 1 changed file with 10 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -84,12 +84,20 @@ object BlazeConvertStrategy extends Logging {
.zip(exec.requiredChildOrdering)
.foreach { case (child, requiredOrdering) =>
if (requiredOrdering.nonEmpty) {
logInfo(s"physical plan [${child.nodeName}] requires ordering: $requiredOrdering")
child.setTagValue(childOrderingRequiredTag, true)
}
}
}
exec.setTagValue(childOrderingRequiredTag, exec.outputOrdering.nonEmpty)
exec.foreach {
case exec: SortExec =>
exec.setTagValue(childOrderingRequiredTag, false)
case exec =>
if (exec.getTagValue(childOrderingRequiredTag).contains(true)) {
exec.children.foreach { child =>
child.setTagValue(childOrderingRequiredTag, child.outputOrdering.nonEmpty)
}
}
}

// execute some special strategies
removeInefficientConverts(exec)
Expand Down

0 comments on commit 6543ad3

Please sign in to comment.