VariableCopier(FieldVector source, int fieldId, FieldVector[] targets, Stopwatch copyWatch) { super(targets, fieldId, VARIABLE_DATA_BUFFER_ORDINAL); this.source = source; final int numTargets = targets.length; this.reallocs = new Reallocators.Reallocator[numTargets]; dstOffsetAddrs = new long[numTargets]; for (int i = 0; i < numTargets; i++) { reallocs[i] = Reallocators.getReallocator(targets[i]); dstOffsetAddrs[i] = targets[i].getOffsetBufferAddress(); } this.copyWatch = copyWatch; }
@Override public void updateTargets(int index, FieldVector target) { super.updateTargets(index, target); dstOffsetAddrs[index] = target.getOffsetBufferAddress(); }
public void updateTargets(int index, FieldVector target) { switch (srcBufferIdx) { case 0: dstAddrs[index] = target.getValidityBufferAddress(); break; case 1: if (target instanceof VariableWidthVector) { dstAddrs[index] = target.getOffsetBufferAddress(); } else { dstAddrs[index] = target.getDataBufferAddress(); } break; case 2: dstAddrs[index] = target.getDataBufferAddress(); break; default: throw new UnsupportedOperationException("unexpected buffer offset"); } }
public static long[] addresses(int offset, FieldVector... vectors){ final long[] addresses = new long[vectors.length]; int i; switch (offset) { case 0: for(i = 0; i < vectors.length; i++){ addresses[i] = vectors[i].getValidityBufferAddress(); } break; case 1: for(i = 0; i < vectors.length; i++){ if (vectors[i] instanceof VariableWidthVector) { addresses[i] = vectors[i].getOffsetBufferAddress(); } else { addresses[i] = vectors[i].getDataBufferAddress(); } } break; case 2: for(i = 0; i < vectors.length; i++){ addresses[i] = vectors[i].getDataBufferAddress(); } break; default: throw new UnsupportedOperationException("unexpected buffer offset"); } return addresses; } }
public static long[] addresses(int offset, FieldVector... vectors){ final long[] addresses = new long[vectors.length]; int i; switch (offset) { case 0: for(i = 0; i < vectors.length; i++){ addresses[i] = vectors[i].getValidityBufferAddress(); } break; case 1: for(i = 0; i < vectors.length; i++){ if (vectors[i] instanceof VariableWidthVector) { addresses[i] = vectors[i].getOffsetBufferAddress(); } else { addresses[i] = vectors[i].getDataBufferAddress(); } } break; case 2: for(i = 0; i < vectors.length; i++){ addresses[i] = vectors[i].getDataBufferAddress(); } break; default: throw new UnsupportedOperationException("unexpected buffer offset"); } return addresses; } }
private MultiDestCopier(FieldVector[] targets, int fieldId, int bufferOrdinal) { this.srcBufferIdx = bufferOrdinal; this.fieldId = fieldId; dstAddrs = new long[targets.length]; int i; switch (bufferOrdinal) { case 0: for(i = 0; i < targets.length; i++){ dstAddrs[i] = targets[i].getValidityBufferAddress(); } break; case 1: for(i = 0; i < targets.length; i++){ if (targets[i] instanceof VariableWidthVector) { dstAddrs[i] = targets[i].getOffsetBufferAddress(); } else { dstAddrs[i] = targets[i].getDataBufferAddress(); } } break; case 2: for(i = 0; i < targets.length; i++){ dstAddrs[i] = targets[i].getDataBufferAddress(); } break; default: throw new UnsupportedOperationException("unexpected buffer offset"); } }
public static long[] addresses(int offset, FieldVector... vectors){ final long[] addresses = new long[vectors.length]; int i; switch (offset) { case 0: for(i = 0; i < vectors.length; i++){ addresses[i] = vectors[i].getValidityBufferAddress(); } break; case 1: for(i = 0; i < vectors.length; i++){ if (vectors[i] instanceof VariableWidthVector) { addresses[i] = vectors[i].getOffsetBufferAddress(); } else { addresses[i] = vectors[i].getDataBufferAddress(); } } break; case 2: for(i = 0; i < vectors.length; i++){ addresses[i] = vectors[i].getDataBufferAddress(); } break; default: throw new UnsupportedOperationException("unexpected buffer offset"); } return addresses; } }
long srcOffsetAddr = source.getOffsetBufferAddress();
final long srcOffsetAddr = source.getOffsetBufferAddress(); final long srcDataAddr = source.getDataBufferAddress(); long dstOffsetAddr = target.getOffsetBufferAddress() + 4; long curDataAddr = realloc.addr(); // start address for next copy in target long maxDataAddr = realloc.max(); // max bytes we can copy to target before we need to reallocate
long dstOffsetAddr = target.getOffsetBufferAddress() + 4; long initDataAddr = realloc.addr(); long curDataAddr = realloc.addr();
long dstOffsetAddr = target.getOffsetBufferAddress() + 4; long initDataAddr = realloc.addr(); long curDataAddr = realloc.addr();
offsetAddrs[i] = vect.getOffsetBufferAddress(); Reallocator realloc = Reallocators.getReallocator(vect); reallocs[i] = realloc;
long dstOffsetAddr = target.getOffsetBufferAddress() + 4; long initDataAddr = realloc.addr(); long curDataAddr = realloc.addr();