Github user manishgupta88 commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2877#discussion_r229627245
  
    --- Diff: 
core/src/main/java/org/apache/carbondata/core/metadata/encoder/Encoding.java ---
    @@ -57,10 +62,55 @@ public static Encoding valueOf(int ordinal) {
           return ADAPTIVE_DELTA_INTEGRAL;
         } else if (ordinal == RLE_INTEGRAL.ordinal()) {
           return RLE_INTEGRAL;
    +    } else if (ordinal == DIRECT_STRING.ordinal()) {
    +      return DIRECT_STRING;
    +    } else if (ordinal == ADAPTIVE_FLOATING.ordinal()) {
    +      return ADAPTIVE_FLOATING;
    +    } else if (ordinal == BOOL_BYTE.ordinal()) {
    +      return BOOL_BYTE;
    +    } else if (ordinal == ADAPTIVE_DELTA_FLOATING.ordinal()) {
    +      return ADAPTIVE_DELTA_FLOATING;
         } else if (ordinal == DIRECT_COMPRESS_VARCHAR.ordinal()) {
           return DIRECT_COMPRESS_VARCHAR;
         } else {
           throw new RuntimeException("create Encoding with invalid ordinal: " 
+ ordinal);
         }
       }
    +
    +  /**
    +   * Method to validate for supported encoding types that can be read 
using the current version
    +   *
    +   * @param encodings
    +   * @return
    +   */
    +  public static boolean assertTrueForEncodingTypes(
    +      List<org.apache.carbondata.format.Encoding> encodings) {
    +    if (null == encodings || encodings.isEmpty()) {
    +      return true;
    +    }
    +    boolean supportedEncoding = true;
    +    for (org.apache.carbondata.format.Encoding encoder : encodings) {
    +      try {
    +        // if case is handle unsupported encoding type. An encoding not 
supported for read will be
    +        // added as null by thrift during deserialization
    +        if (null == encoder) {
    +          supportedEncoding = false;
    +        } else {
    +          // if given encoding name is not supported exception will be 
thrown. This case can come
    +          // if there is any change done in the ordinal of supported 
encoding
    +          Encoding.valueOf(encoder.name());
    +        }
    +      } catch (IllegalArgumentException ex) {
    +        supportedEncoding = false;
    --- End diff --
    
    done


---

Reply via email to