return new QueryWritableBatch(QueryData.newBuilder(result.getHeader()).setDef(patchedDef).build(), patchedBuffers.toArray(new ArrowBuf[0]));
@Override public Object execute() throws Exception { observer.execStarted(null); final BatchSchema schema = PojoRecordReader.getSchema(handler.getResultType()); final CollectingOutcomeListener listener = new CollectingOutcomeListener(); try(BufferAllocator allocator = context.getAllocator().newChildAllocator("direct-command", 0, Long.MAX_VALUE); VectorContainer vc = VectorContainer.create(allocator, schema); BufferManager manager = new BufferManagerImpl(allocator); final PojoRecordReader<T> reader = new PojoRecordReader<>(handler.getResultType(), result.iterator()); ) { reader.setup(new VectorContainerMutator(vc, manager)); int count = 0; while( (count = reader.next()) != 0){ vc.setRecordCount(count); final WritableBatch w = WritableBatch.get(vc); QueryData header = QueryData.newBuilder() // .setQueryId(context.getQueryId()) // .setRowCount(count) // .setDef(w.getDef()).build(); QueryWritableBatch batch = new QueryWritableBatch(header, w.getBuffers()); listener.increment(); observer.execDataArrived(listener, batch); } listener.waitForFinish(); } return null; }
@Override public void noMoreToConsume() { state = State.DONE; // make sure we send a schema batch. if(batchesSent == 0){ WritableBatch writable = WritableBatch.getBatchNoHVWrap(0, incoming, false); final QueryData header = QueryData.newBuilder() .setQueryId(context.getFragmentHandle().getQueryId()) .setRowCount(0) .setDef(writable.getDef()) .build(); writable.close(); final QueryWritableBatch batch = new QueryWritableBatch(header); stats.startWait(); try { execToCoord.sendData(batch); } finally { stats.stopWait(); } } }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder(com.dremio.exec.proto.UserBitShared.QueryData prototype) {
public Builder toBuilder() { return newBuilder(this); }
public static Builder newBuilder(com.dremio.exec.proto.UserBitShared.QueryData prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); }
private void depleteSend(SingleInputOperator op, VectorAccessible output, CollectingOutcomeListener listener) throws Exception{ while(op.getState() == State.CAN_PRODUCE){ int count = op.outputData(); final WritableBatch w = WritableBatch.get(output); QueryData header = QueryData.newBuilder() // .setQueryId(context.getQueryId()) // .setRowCount(count) // .setDef(w.getDef()).build(); QueryWritableBatch batch = new QueryWritableBatch(header, w.getBuffers()); listener.increment(); observer.execDataArrived(listener, batch); } }
public QueryWritableBatch convertNext(int count) { final WritableBatch w = WritableBatch.get(incoming).transfer(allocator); QueryData header = QueryData.newBuilder() // .setQueryId(queryId) // .setRowCount(count) // .setDef(w.getDef()).build(); QueryWritableBatch batch = new QueryWritableBatch(header, w.getBuffers()); return batch; } }
public static QueryWritableBatch replaceQueryId(QueryWritableBatch batch, ExternalId externalId) { final QueryData header = QueryData.newBuilder(batch.getHeader()) .setQueryId(toQueryId(externalId)) .build(); return new QueryWritableBatch(header, batch.getBuffers()); }
public com.dremio.exec.proto.UserBitShared.QueryData.Builder newMessage() { return com.dremio.exec.proto.UserBitShared.QueryData.newBuilder(); } public java.lang.String getFieldName(int number)
private static QueryWritableBatch createQueryWritableBatch(List<ValueVector> vv) { WritableBatch batch = WritableBatch.getBatchNoHV(COUNT, vv, false); // I'm missing the queryId, but it should be fine as it's not being used in the tested path QueryData header = QueryData.newBuilder().setRowCount(COUNT).setDef(batch.getDef()).build(); return new QueryWritableBatch(header, batch.getBuffers()); }