@Override public void set(MemoryBlock memoryBlock, int relativePos, DataType[] types) { Preconditions.checkArgument(memoryBlock.hasAddress()); this.memoryBlock = memoryBlock; this.types = types; super.set(relativePos); }
@Override public void set(MemoryBlock memoryBlock, int relativePos, DataType[] types) { Preconditions.checkArgument(memoryBlock.hasAddress()); this.memoryBlock = memoryBlock; this.types = types; super.set(relativePos); }
public OffHeapRowBlockReader(MemoryBlock memoryBlock, DataType[] dataTypes, int rows) { this.memoryBlock = memoryBlock; this.dataTypes = dataTypes; this.rows = rows; if (!memoryBlock.hasAddress()) { throw new TajoInternalError(memoryBlock.getClass().getSimpleName() + " does not support to direct memory access"); } }
public OffHeapRowBlockReader(MemoryBlock memoryBlock, DataType[] dataTypes, int rows) { this.memoryBlock = memoryBlock; this.dataTypes = dataTypes; this.rows = rows; if (!memoryBlock.hasAddress()) { throw new TajoInternalError(memoryBlock.getClass().getSimpleName() + " does not support to direct memory access"); } }
OffHeapRowBlockWriter(RowBlock rowBlock) { super(rowBlock.getDataTypes()); this.rowBlock = rowBlock; if (!rowBlock.getMemory().hasAddress()) { throw new TajoInternalError(rowBlock.getMemory().getClass().getSimpleName() + " does not support to direct memory access"); } }
OffHeapRowBlockWriter(RowBlock rowBlock) { super(rowBlock.getDataTypes()); this.rowBlock = rowBlock; if (!rowBlock.getMemory().hasAddress()) { throw new TajoInternalError(rowBlock.getMemory().getClass().getSimpleName() + " does not support to direct memory access"); } }
public CompactRowBlockWriter(RowBlock rowBlock) { this.dataTypes = rowBlock.getDataTypes(); this.rowBlock = rowBlock; // compute the number of bytes, representing the null flags nullFlags = new BitArray(dataTypes.length); headerSize = RECORD_FIELD_SIZE + SizeOf.SIZE_OF_SHORT + nullFlags.bytesLength(); if (!rowBlock.getMemory().hasAddress()) { throw new TajoInternalError(rowBlock.getMemory().getClass().getSimpleName() + " does not support to direct memory access"); } }
public CompactRowBlockWriter(RowBlock rowBlock) { this.dataTypes = rowBlock.getDataTypes(); this.rowBlock = rowBlock; // compute the number of bytes, representing the null flags nullFlags = new BitArray(dataTypes.length); headerSize = RECORD_FIELD_SIZE + SizeOf.SIZE_OF_SHORT + nullFlags.bytesLength(); if (!rowBlock.getMemory().hasAddress()) { throw new TajoInternalError(rowBlock.getMemory().getClass().getSimpleName() + " does not support to direct memory access"); } }
public static List<Tuple> sort(MemoryRowBlock rowBlock, Comparator<Tuple> comparator) { List<Tuple> tupleList = Lists.newArrayList(); ZeroCopyTuple zcTuple; if(rowBlock.getMemory().hasAddress()) { zcTuple = new UnSafeTuple(); } else { zcTuple = new HeapTuple(); } RowBlockReader reader = rowBlock.getReader(); while(reader.next(zcTuple)) { tupleList.add(zcTuple); if(rowBlock.getMemory().hasAddress()) { zcTuple = new UnSafeTuple(); } else { zcTuple = new HeapTuple(); } } Collections.sort(tupleList, comparator); return tupleList; }
public static List<Tuple> sort(MemoryRowBlock rowBlock, Comparator<Tuple> comparator) { List<Tuple> tupleList = Lists.newArrayList(); ZeroCopyTuple zcTuple; if(rowBlock.getMemory().hasAddress()) { zcTuple = new UnSafeTuple(); } else { zcTuple = new HeapTuple(); } RowBlockReader reader = rowBlock.getReader(); while(reader.next(zcTuple)) { tupleList.add(zcTuple); if(rowBlock.getMemory().hasAddress()) { zcTuple = new UnSafeTuple(); } else { zcTuple = new HeapTuple(); } } Collections.sort(tupleList, comparator); return tupleList; }
public static Tuple[] sortToArray(MemoryRowBlock rowBlock, Comparator<Tuple> comparator) { Tuple[] tuples = new Tuple[rowBlock.rows()]; ZeroCopyTuple zcTuple; if(rowBlock.getMemory().hasAddress()) { zcTuple = new UnSafeTuple(); } else { zcTuple = new HeapTuple(); } RowBlockReader reader = rowBlock.getReader(); for (int i = 0; i < rowBlock.rows() && reader.next(zcTuple); i++) { tuples[i] = zcTuple; if(rowBlock.getMemory().hasAddress()) { zcTuple = new UnSafeTuple(); } else { zcTuple = new HeapTuple(); } } Arrays.sort(tuples, comparator); return tuples; }
public static Tuple[] sortToArray(MemoryRowBlock rowBlock, Comparator<Tuple> comparator) { Tuple[] tuples = new Tuple[rowBlock.rows()]; ZeroCopyTuple zcTuple; if(rowBlock.getMemory().hasAddress()) { zcTuple = new UnSafeTuple(); } else { zcTuple = new HeapTuple(); } RowBlockReader reader = rowBlock.getReader(); for (int i = 0; i < rowBlock.rows() && reader.next(zcTuple); i++) { tuples[i] = zcTuple; if(rowBlock.getMemory().hasAddress()) { zcTuple = new UnSafeTuple(); } else { zcTuple = new HeapTuple(); } } Arrays.sort(tuples, comparator); return tuples; }
@Override public RowBlockReader getReader() { switch (dataFormat) { case BuiltinStorages.DRAW: { if (!getMemory().hasAddress()) { return new HeapRowBlockReader(this); } else { return new OffHeapRowBlockReader(this); } } default: throw new TajoInternalError(new NotImplementedException(dataFormat + " memory writer not implemented yet")); } } }
@Override public RowBlockReader getReader() { switch (dataFormat) { case BuiltinStorages.DRAW: { if (!getMemory().hasAddress()) { return new HeapRowBlockReader(this); } else { return new OffHeapRowBlockReader(this); } } default: throw new TajoInternalError(new NotImplementedException(dataFormat + " memory writer not implemented yet")); } } }
@Override public RowWriter getWriter() { if (!getMemory().hasAddress()) { throw new TajoInternalError(new NotImplementedException("Heap memory writer not implemented yet")); } if (builder == null) { switch (dataFormat) { case BuiltinStorages.DRAW: this.builder = new OffHeapRowBlockWriter(this); break; case BuiltinStorages.RAW: this.builder = new CompactRowBlockWriter(this); break; default: throw new TajoInternalError(new NotImplementedException(dataFormat + " memory writer not implemented yet")); } } return builder; }
@Override public RowWriter getWriter() { if (!getMemory().hasAddress()) { throw new TajoInternalError(new NotImplementedException("Heap memory writer not implemented yet")); } if (builder == null) { switch (dataFormat) { case BuiltinStorages.DRAW: this.builder = new OffHeapRowBlockWriter(this); break; case BuiltinStorages.RAW: this.builder = new CompactRowBlockWriter(this); break; default: throw new TajoInternalError(new NotImplementedException(dataFormat + " memory writer not implemented yet")); } } return builder; }