cloud-fan commented on code in PR #58541:
URL: https://github.com/apache/spark/pull/58541#discussion_r3940931700
##########
sql/core/src/main/scala/org/apache/spark/sql/execution/command/AnalyzeColumnCommand.scala:
##########
@@ -142,7 +142,6 @@ case class AnalyzeColumnCommand(
case DoubleType | FloatType => true
case BooleanType => true
case _: DatetimeType => true
- case _: CharType | _: VarcharType => false
case BinaryType | _: StringType => true
Review Comment:
**Blocking (P1):** This now permits `ANALYZE TABLE ... FOR COLUMNS` to
persist statistics for `CharType` and `VarcharType`, but
`FilterEstimation.evaluateBinary` and `evaluateInSet` still match only the
`StringType` singleton. With standard semantics and CBO enabled, planning a
range or `IN` predicate after `ANALYZE` reaches those non-exhaustive matches
and throws `MatchError` instead of falling back. Please widen the CBO
string-family cases to `_: StringType`, check the shared interval helpers for
the same assumption, and add a regression covering a constrained-string
predicate after statistics collection.
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]