[SPARK-34607][SQL][FOLLOWUP] Change Option[LogicalRelation] to LogicalRelation

### What changes were proposed in this pull request?
optimize: change Option[LogicalRelation] to LogicalRelation

### Why are the changes needed?
simplify code

### Does this PR introduce _any_ user-facing change?
NO

### How was this patch tested?
Existed unit test.

Closes #31315 from monkeyboy123/spark-34067-follow-up.

Authored-by: Dereck Li <monkeyboy.ljh@gmail.com>
Signed-off-by: Wenchen Fan <wenchen@databricks.com>
This commit is contained in:
Dereck Li 2021-01-25 13:34:07 +00:00 committed by Wenchen Fan
parent 6fe5a8a2ae
commit 096b15fa12

View file

@ -85,10 +85,10 @@ object PartitionPruning extends Rule[LogicalPlan] with PredicateHelper {
filteringKey: Expression,
filteringPlan: LogicalPlan,
joinKeys: Seq[Expression],
partScan: Option[LogicalRelation]): LogicalPlan = {
partScan: LogicalRelation): LogicalPlan = {
val reuseEnabled = SQLConf.get.exchangeReuseEnabled
val index = joinKeys.indexOf(filteringKey)
lazy val hasBenefit = pruningHasBenefit(pruningKey, partScan.get, filteringKey, filteringPlan)
lazy val hasBenefit = pruningHasBenefit(pruningKey, partScan, filteringKey, filteringPlan)
if (reuseEnabled || hasBenefit) {
// insert a DynamicPruning wrapper to identify the subquery during query planning
Filter(
@ -235,12 +235,12 @@ object PartitionPruning extends Rule[LogicalPlan] with PredicateHelper {
var partScan = getPartitionTableScan(l, left)
if (partScan.isDefined && canPruneLeft(joinType) &&
hasPartitionPruningFilter(right)) {
newLeft = insertPredicate(l, newLeft, r, right, rightKeys, partScan)
newLeft = insertPredicate(l, newLeft, r, right, rightKeys, partScan.get)
} else {
partScan = getPartitionTableScan(r, right)
if (partScan.isDefined && canPruneRight(joinType) &&
hasPartitionPruningFilter(left) ) {
newRight = insertPredicate(r, newRight, l, left, leftKeys, partScan)
newRight = insertPredicate(r, newRight, l, left, leftKeys, partScan.get)
}
}
case _ =>