Github user fhueske commented on a diff in the pull request:
https://github.com/apache/flink/pull/5345#discussion_r164084612
--- Diff:
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/util/RexProgramExtractor.scala
---
@@ -214,6 +213,10 @@ class RexNodeToExpressionConverter(
// convert to BigDecimal
literal.getValueAs(classOf[java.math.BigDecimal])
+ case _ if literal.getValue.isInstanceOf[NlsString] =>
--- End diff --
Yes, you are right. This case should not have happened but was reported by
a user.
Since the Rex translation is only used for predicate push-down, we could
play safe and drop the catch-all case at the end and write a debug statement
that includes the value and type of the unsupported literal. Most TableSources
with predicate push-down support will only support simple predicates anyway.
---