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

    https://github.com/apache/carbondata/pull/2403#discussion_r199325848
  
    --- Diff: 
processing/src/main/java/org/apache/carbondata/processing/loading/converter/impl/DirectDictionaryFieldConverterImpl.java
 ---
    @@ -65,16 +65,22 @@ public DirectDictionaryFieldConverterImpl(DataField 
dataField, String nullFormat
       @Override
       public void convert(CarbonRow row, BadRecordLogHolder logHolder) {
         String value = row.getString(index);
    -    if (value == null) {
    +    row.update(convert(value, logHolder), index);
    +  }
    +
    +  @Override public Object convert(Object value, BadRecordLogHolder 
logHolder)
    +      throws RuntimeException {
    +    String literalValue = (String) value;
    +    if (literalValue == null) {
           logHolder.setReason(
               
CarbonDataProcessorUtil.prepareFailureReason(column.getColName(), 
column.getDataType()));
    -      row.update(1, index);
    -    } else if (value.equals(nullFormat)) {
    -      row.update(1, index);
    +      return 1;
    --- End diff --
    
    Suggest to create a constant for null value (1)


---

Reply via email to