Github user zellerh commented on a diff in the pull request: https://github.com/apache/incubator-trafodion/pull/1307#discussion_r153280569 --- Diff: core/sql/optimizer/OptRange.cpp --- @@ -503,7 +503,13 @@ ConstValue* OptRangeSpec::getConstOperand(ItemExpr* predExpr, Lng32 constInx) // currently support. Predicates involving types not yet supported will be // treated as residual predicates. if (QRDescGenerator::typeSupported(static_cast<ConstValue*>(right)->getType())) + { --- End diff -- This adds a case-insensitive flag to the type in the RangeSpec, but I don't think RangeSpecs are written to handle case-insensitive comparisons. Take a look at the methods that deal with comparisons when building RangeSpecs, in file Range.cpp. So, I think you would have to do one of two things: a) disable the RangeSpec transformation for case-insensitive comparison operators (the easy way) or change the RangeSpec methods to handle case-insensitive comparisons.
---