private static boolean isDistinct(OProjectionItem item) {
    if (item.getExpression() == null) {
      return false;
    }
    if (item.getExpression().getMathExpression() == null) {
      return false;
    }
    if (!(item.getExpression().getMathExpression() instanceof OBaseExpression)) {
      return false;
    }
    OBaseExpression base = (OBaseExpression) item.getExpression().getMathExpression();
    if (base.getIdentifier() == null) {
      return false;
    }
    if (base.getModifier() != null) {
      return false;
    }
    if (base.getIdentifier().getLevelZero() == null) {
      return false;
    }
    OFunctionCall function = base.getIdentifier().getLevelZero().getFunctionCall();
    if (function == null) {
      return false;
    }
    return function.getName().getStringValue().equalsIgnoreCase("distinct");
  }
private static boolean isDistinct(OProjectionItem item) {
    if (item.getExpression() == null) {
      return false;
    }
    if (item.getExpression().getMathExpression() == null) {
      return false;
    }
    if (!(item.getExpression().getMathExpression() instanceof OBaseExpression)) {
      return false;
    }
    OBaseExpression base = (OBaseExpression) item.getExpression().getMathExpression();
    if (base.getIdentifier() == null) {
      return false;
    }
    if (base.getModifier() != null) {
      return false;
    }
    if (base.getIdentifier().getLevelZero() == null) {
      return false;
    }
    OFunctionCall function = base.getIdentifier().getLevelZero().getFunctionCall();
    if (function == null) {
      return false;
    }
    return function.getName().getStringValue().equalsIgnoreCase("distinct");
  }
private static boolean isDistinct ( OProjectionItem item ) { if ( item . getExpression ( ) == null ) { return false ; } if ( item . getExpression ( ) . getMathExpression ( ) == null ) { return false ; } if ( ! ( item . getExpression ( ) . getMathExpression ( ) instanceof OBaseExpression ) ) { return false ; } OBaseExpression base = ( OBaseExpression ) item . getExpression ( ) . getMathExpression ( ) ; if ( base . getIdentifier ( ) == null ) { return false ; } if ( base . getModifier ( ) != null ) { return false ; } if ( base . getIdentifier ( ) . getLevelZero ( ) == null ) { return false ; } OFunctionCall function = base . getIdentifier ( ) . getLevelZero ( ) . getFunctionCall ( ) ; if ( function == null ) { return false ; } return function . getName ( ) . getStringValue ( ) . equalsIgnoreCase ( "distinct" ) ; }
checks if a projection is a distinct(expr). In new executor the distinct() function is not supported, so "distinct(expr)" is
translated to "DISTINCT expr"

@param item the projection

@return
checks if a projection is a distinct ( expr ) . In new executor the distinct () function is not supported so distinct ( expr ) is translated to DISTINCT expr