@Override public void writeBlock(Block block) { checkState(!closed); checkArgument(block.getPositionCount() > 0, "Block is empty"); // record nulls for (int position = 0; position < block.getPositionCount(); position++) { presentStream.writeBoolean(!block.isNull(position)); } // record values for (int position = 0; position < block.getPositionCount(); position++) { if (!block.isNull(position)) { long value = type.getLong(block, position); dataStream.writeLong(value); statisticsBuilder.addValue(value); } } }
@Override public void writeBlock(Block block) { checkState(!closed); checkArgument(block.getPositionCount() > 0, "Block is empty"); // record nulls for (int position = 0; position < block.getPositionCount(); position++) { presentStream.writeBoolean(!block.isNull(position)); } // record values for (int position = 0; position < block.getPositionCount(); position++) { if (!block.isNull(position)) { Slice value = type.getSlice(block, position); lengthStream.writeLong(value.length()); dataStream.writeSlice(value); statisticsBuilder.addValue(value); } } }
private void writeColumnarArray(ColumnarArray columnarArray) { // write nulls and lengths for (int position = 0; position < columnarArray.getPositionCount(); position++) { boolean present = !columnarArray.isNull(position); presentStream.writeBoolean(present); if (present) { nonNullValueCount++; lengthStream.writeLong(columnarArray.getLength(position)); } } // write element values Block elementsBlock = columnarArray.getElementsBlock(); if (elementsBlock.getPositionCount() > 0) { elementWriter.writeBlock(elementsBlock); } }
private void writeColumnarMap(ColumnarMap columnarMap) { // write nulls and lengths for (int position = 0; position < columnarMap.getPositionCount(); position++) { boolean present = !columnarMap.isNull(position); presentStream.writeBoolean(present); if (present) { nonNullValueCount++; lengthStream.writeLong(columnarMap.getEntryCount(position)); } } // write keys and value Block keysBlock = columnarMap.getKeysBlock(); if (keysBlock.getPositionCount() > 0) { keyWriter.writeBlock(keysBlock); valueWriter.writeBlock(columnarMap.getValuesBlock()); } }
if (!dictionaryElements.isNull(sortedDictionaryIndex)) { int length = dictionaryElements.getSliceLength(sortedDictionaryIndex); dictionaryLengthStream.writeLong(length); Slice value = dictionaryElements.getSlice(sortedDictionaryIndex, 0, length); dictionaryDataStream.writeSlice(value); throw new IllegalArgumentException(); dataStream.writeLong(sortedIndex);
scaleStream.writeLong(type.getScale());
@Override public void writeBlock(Block block) { checkState(!closed); checkArgument(block.getPositionCount() > 0, "Block is empty"); // record nulls for (int position = 0; position < block.getPositionCount(); position++) { presentStream.writeBoolean(!block.isNull(position)); } // record values for (int position = 0; position < block.getPositionCount(); position++) { if (!block.isNull(position)) { long value = type.getLong(block, position); dataStream.writeLong(value); statisticsBuilder.addValue(value); } } }
@Override public void writeBlock(Block block) { checkState(!closed); checkArgument(block.getPositionCount() > 0, "Block is empty"); // record nulls for (int position = 0; position < block.getPositionCount(); position++) { presentStream.writeBoolean(!block.isNull(position)); } // record values for (int position = 0; position < block.getPositionCount(); position++) { if (!block.isNull(position)) { Slice value = type.getSlice(block, position); lengthStream.writeLong(value.length()); dataStream.writeSlice(value); statisticsBuilder.addValue(value); } } }
private void writeColumnarArray(ColumnarArray columnarArray) { // write nulls and lengths for (int position = 0; position < columnarArray.getPositionCount(); position++) { boolean present = !columnarArray.isNull(position); presentStream.writeBoolean(present); if (present) { nonNullValueCount++; lengthStream.writeLong(columnarArray.getLength(position)); } } // write element values Block elementsBlock = columnarArray.getElementsBlock(); if (elementsBlock.getPositionCount() > 0) { elementWriter.writeBlock(elementsBlock); } }
if (!dictionaryElements.isNull(sortedDictionaryIndex)) { int length = dictionaryElements.getSliceLength(sortedDictionaryIndex); dictionaryLengthStream.writeLong(length); Slice value = dictionaryElements.getSlice(sortedDictionaryIndex, 0, length); dictionaryDataStream.writeSlice(value); throw new IllegalArgumentException(); dataStream.writeLong(sortedIndex);
private void writeColumnarMap(ColumnarMap columnarMap) { // write nulls and lengths for (int position = 0; position < columnarMap.getPositionCount(); position++) { boolean present = !columnarMap.isNull(position); presentStream.writeBoolean(present); if (present) { nonNullValueCount++; lengthStream.writeLong(columnarMap.getEntryCount(position)); } } // write keys and value Block keysBlock = columnarMap.getKeysBlock(); if (keysBlock.getPositionCount() > 0) { keyWriter.writeBlock(keysBlock); valueWriter.writeBlock(columnarMap.getValuesBlock()); } }
scaleStream.writeLong(type.getScale());