@Override public long getOffset() throws IOException { return hasExternalBuf ? pos : pos + rowBlock.getMemory().writerPosition(); }
@Override public long getOffset() throws IOException { return hasExternalBuf ? pos : pos + rowBlock.getMemory().writerPosition(); }
public MemoryRowBlock(MemoryRowBlock rowBlock) { this.memory = TUtil.checkTypeAndGet(rowBlock.getMemory().duplicate(), ResizableMemoryBlock.class); this.rowNum = rowBlock.rowNum; this.dataTypes = rowBlock.dataTypes; this.dataFormat = rowBlock.dataFormat; }
public MemoryRowBlock(MemoryRowBlock rowBlock) { this.memory = TUtil.checkTypeAndGet(rowBlock.getMemory().duplicate(), ResizableMemoryBlock.class); this.rowNum = rowBlock.rowNum; this.dataTypes = rowBlock.dataTypes; this.dataFormat = rowBlock.dataFormat; }
public OffHeapRowBlockReader(MemoryRowBlock rowBlock) { this(rowBlock.getMemory(), rowBlock.getDataTypes(), rowBlock.rows()); }
public HeapRowBlockReader(MemoryRowBlock rowBlock) { this(rowBlock.getMemory(), rowBlock.getDataTypes(), rowBlock.rows()); }
public HeapRowBlockReader(MemoryRowBlock rowBlock) { this(rowBlock.getMemory(), rowBlock.getDataTypes(), rowBlock.rows()); }
public OffHeapRowBlockReader(MemoryRowBlock rowBlock) { this(rowBlock.getMemory(), rowBlock.getDataTypes(), rowBlock.rows()); }
@Override public void flush() throws IOException { if(!hasExternalBuf && rowBlock.getMemory().isReadable()) { writeRowBlock(rowBlock); rowBlock.clear(); } }
@Override public void flush() throws IOException { if(!hasExternalBuf && rowBlock.getMemory().isReadable()) { writeRowBlock(rowBlock); rowBlock.clear(); } }
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 boolean addTuple(Tuple tuple) { int prevPos = currentRowBlock.getMemory().writerPosition(); if (currentRowBlock.getWriter().addTuple(tuple)) { UnSafeTuple unSafeTuple = new UnSafeTuple(); unSafeTuple.set(currentRowBlock.getMemory(), prevPos, dataTypes); return super.add(unSafeTuple); } else { this.totalUsedMem += currentRowBlock.usedMem(); this.currentRowBlock = new MemoryRowBlock(dataTypes, new FixedSizeLimitSpec(pageSize), true); this.rowBlocks.add(currentRowBlock); return this.addTuple(tuple); } }
public boolean addTuple(Tuple tuple) { int prevPos = currentRowBlock.getMemory().writerPosition(); if (currentRowBlock.getWriter().addTuple(tuple)) { UnSafeTuple unSafeTuple = new UnSafeTuple(); unSafeTuple.set(currentRowBlock.getMemory(), prevPos, dataTypes); return super.add(unSafeTuple); } else { this.totalUsedMem += currentRowBlock.usedMem(); this.currentRowBlock = new MemoryRowBlock(dataTypes, new FixedSizeLimitSpec(pageSize), true); this.rowBlocks.add(currentRowBlock); return this.addTuple(tuple); } }
@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; }