@Override public void encodeColumnValue(int col, Object value, int roundingFlag, ByteBuffer buf) { DataTypeSerializer serializer = serializers[col]; if (serializer instanceof DictionarySerializer) { DictionaryDimEnc dictEnc = ((DictionaryDimEnc) dimEncs[col]); if (dictEnc.getRoundingFlag() != roundingFlag) { serializer = dictEnc.copy(roundingFlag).asDataTypeSerializer(); } try { serializer.serialize(value, buf); } catch (IllegalArgumentException ex) { IllegalArgumentException rewordEx = new IllegalArgumentException("Column " + col + " value '" + toStringBinary(value) + "' met dictionary error: " + ex.getMessage()); rewordEx.setStackTrace(ex.getStackTrace()); throw rewordEx; } } else { if (value instanceof String) { // for dimensions; measures are converted by MeasureIngestor before reaching this point value = serializer.valueOf((String) value); } serializer.serialize(value, buf); } }
@Override public void encodeColumnValue(int col, Object value, int roundingFlag, ByteBuffer buf) { DataTypeSerializer serializer = serializers[col]; if (serializer instanceof DictionarySerializer) { DictionaryDimEnc dictEnc = ((DictionaryDimEnc) dimEncs[col]); if (dictEnc.getRoundingFlag() != roundingFlag) { serializer = dictEnc.copy(roundingFlag).asDataTypeSerializer(); } try { serializer.serialize(value, buf); } catch (IllegalArgumentException ex) { IllegalArgumentException rewordEx = new IllegalArgumentException("Column " + col + " value '" + toStringBinary(value) + "' met dictionary error: " + ex.getMessage()); rewordEx.setStackTrace(ex.getStackTrace()); throw rewordEx; } } else { if (value instanceof String) { // for dimensions; measures are converted by MeasureIngestor before reaching this point value = serializer.valueOf((String) value); } serializer.serialize(value, buf); } }