CodingCat commented on a change in pull request #29831:
URL: https://github.com/apache/spark/pull/29831#discussion_r498615640
##########
File path:
sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/PrunePartitionSuiteBase.scala
##########
@@ -46,30 +46,39 @@ abstract class PrunePartitionSuiteBase extends QueryTest
with SQLTestUtils with
}
assertPrunedPartitions(
- "SELECT * FROM t WHERE p = '1' OR (p = '2' AND i = 1)", 2)
+ "SELECT * FROM t WHERE p = '1' OR (p = '2' AND i = 1)", 2, 1)
assertPrunedPartitions(
- "SELECT * FROM t WHERE (p = '1' AND i = 2) OR (i = 1 OR p = '2')", 4)
+ "SELECT * FROM t WHERE (p = '1' AND i = 2) OR (i = 1 OR p = '2')",
4, 0)
assertPrunedPartitions(
- "SELECT * FROM t WHERE (p = '1' AND i = 2) OR (p = '3' AND i = 3 )",
2)
+ "SELECT * FROM t WHERE (p = '1' AND i = 2) OR (p = '3' AND i = 3 )",
2, 1)
assertPrunedPartitions(
- "SELECT * FROM t WHERE (p = '1' AND i = 2) OR (p = '2' OR p = '3')",
3)
+ "SELECT * FROM t WHERE (p = '1' AND i = 2) OR (p = '2' OR p = '3')",
3, 1)
assertPrunedPartitions(
- "SELECT * FROM t", 4)
+ "SELECT * FROM t", 4, 0)
assertPrunedPartitions(
- "SELECT * FROM t WHERE p = '1' AND i = 2", 1)
+ "SELECT * FROM t WHERE p = '1' AND i = 2", 1, 2)
assertPrunedPartitions(
"""
|SELECT i, COUNT(1) FROM (
|SELECT * FROM t WHERE p = '1' OR (p = '2' AND i = 1)
|) tmp GROUP BY i
- """.stripMargin, 2)
+ """.stripMargin, 2, 1)
}
}
}
- protected def assertPrunedPartitions(query: String, expected: Long): Unit = {
- val plan = sql(query).queryExecution.sparkPlan
- assert(getScanExecPartitionSize(plan) == expected)
+ protected def assertPrunedPartitions(
+ query: String,
+ expectedPartitionCount: Long,
+ expectedPushedDownFilterCount: Int): Unit = {
Review comment:
I originally meant that the information like whether partition filters
are correctly picked up should have been handled in other unit test, so here
only checking the count would be enough
but sure, we can make it more comprehensive, just revised by comparing based
on string
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]