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.


---

Reply via email to