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]

Reply via email to