public static void fillRow(int i, RowWriter builder) { builder.startRow(); builder.putBool(i % 1 == 0 ? true : false); // 0 builder.putInt2((short) 1); // 1 builder.putInt4(i); // 2 builder.putInt8(i); // 3 builder.putFloat4(i); // 4 builder.putFloat8(i); // 5 builder.putText((UNICODE_FIELD_PREFIX + i).getBytes()); // 6 builder.putTimestamp(DatumFactory.createTimestamp("2014-04-16 08:48:00").asInt8() + i); // 7 builder.putDate(DatumFactory.createDate("2014-04-16").asInt4() + i); // 8 builder.putTime(DatumFactory.createTime("08:48:00").asInt8() + i); // 9 builder.putInterval(DatumFactory.createInterval((i + 1) + " hours")); // 10 builder.putProtoDatum(new ProtobufDatum(ProtoUtil.convertString(i + ""))); // 11 builder.endRow(); }
@Override public void convert(Tuple tuple, RowWriter writer) { if (analyzeField) { if (tuple instanceof UnSafeTuple) { for (int i = 0; i < writer.dataTypes().length; i++) { // it is to calculate min/max values, and it is only used for the intermediate file. stats.analyzeField(i, tuple); } // write direct to memory writer.addTuple(tuple); } else { writer.startRow(); for (int i = 0; i < writer.dataTypes().length; i++) { // it is to calculate min/max values, and it is only used for the intermediate file. stats.analyzeField(i, tuple); writeField(i, tuple, writer); } writer.endRow(); } } else { // write direct to memory writer.addTuple(tuple); } } };
@Override public void convert(Tuple tuple, RowWriter writer) { writer.startRow(); for (int i = 0; i < writer.dataTypes().length; i++) { // it is to calculate min/max values, and it is only used for the intermediate file. if (analyzeField) { stats.analyzeField(i, tuple); } writeField(i, tuple, writer); } writer.endRow(); } };
writer.skipField(); } else { switch (writer.dataTypes()[colIdx].getType()) { case BOOLEAN: writer.putBool(tuple.getBool(colIdx)); break; case BIT: writer.putByte(tuple.getByte(colIdx)); break; case INT1: case INT2: writer.putInt2(tuple.getInt2(colIdx)); break; case INT4: writer.putInt4(tuple.getInt4(colIdx)); break; case DATE: writer.putDate(tuple.getInt4(colIdx)); break; case INT8: writer.putInt8(tuple.getInt8(colIdx)); break; case TIMESTAMP: writer.putTimestamp(tuple.getInt8(colIdx)); break; case TIME: writer.putTime(tuple.getInt8(colIdx)); break; case FLOAT4:
@Override public void run() { try { rowBlock.clear(); int endRow = currentNumRows + fetchRowNum; while (currentNumRows < endRow) { Tuple tuple = scanExec.next(); if (tuple == null) { eof = true; break; } else { rowBlock.getWriter().addTuple(tuple); currentNumRows++; if (currentNumRows >= maxRow) { eof = true; break; } } } if (rowBlock.rows() > 0) { totalRows += rowBlock.rows(); } future.set(rowBlock); } catch (Throwable t) { future.setException(t); } } });
writer.skipField(); } else { switch (writer.dataTypes()[colIdx].getType()) { case BOOLEAN: writer.putBool(tuple.getBool(colIdx)); break; case BIT: writer.putByte(tuple.getByte(colIdx)); break; case INT1: case INT2: writer.putInt2(tuple.getInt2(colIdx)); break; case INT4: writer.putInt4(tuple.getInt4(colIdx)); break; case DATE: writer.putDate(tuple.getInt4(colIdx)); break; case INT8: writer.putInt8(tuple.getInt8(colIdx)); break; case TIMESTAMP: writer.putTimestamp(tuple.getInt8(colIdx)); break; case TIME: writer.putTime(tuple.getInt8(colIdx)); break; case FLOAT4:
@Override public void convert(Tuple tuple, RowWriter writer) { writer.startRow(); for (int i = 0; i < writer.dataTypes().length; i++) { // it is to calculate min/max values, and it is only used for the intermediate file. if (analyzeField) { stats.analyzeField(i, tuple); } writeField(i, tuple, writer); } writer.endRow(); } };
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 static void fillRowBlockWithNull(int i, RowWriter writer) { writer.startRow(); writer.skipField(); } else { writer.putBool(i % 1 == 0 ? true : false); // 0 writer.skipField(); } else { writer.putInt2((short) 1); // 1 writer.skipField(); } else { writer.putInt4(i); // 2 writer.skipField(); } else { writer.putInt8(i); // 3 writer.skipField(); } else { writer.putFloat4(i); // 4 writer.skipField(); } else { writer.putFloat8(i); // 5 writer.skipField(); } else { writer.putText((UNICODE_FIELD_PREFIX + i).getBytes()); // 6
@Override public void convert(Tuple tuple, RowWriter writer) { if (analyzeField) { if (tuple instanceof UnSafeTuple) { for (int i = 0; i < writer.dataTypes().length; i++) { // it is to calculate min/max values, and it is only used for the intermediate file. stats.analyzeField(i, tuple); } // write direct to memory writer.addTuple(tuple); } else { writer.startRow(); for (int i = 0; i < writer.dataTypes().length; i++) { // it is to calculate min/max values, and it is only used for the intermediate file. stats.analyzeField(i, tuple); writeField(i, tuple, writer); } writer.endRow(); } } else { // write direct to memory writer.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); } }
totalBufferCapacity -= rowBlock.capacity(); writer.addTuple(tuple); numRows++;
totalBufferCapacity -= rowBlock.capacity(); writer.addTuple(tuple); numRows++;
break; } else { rowBlock.getWriter().addTuple(tuple); currentNumRows++; if (currentNumRows >= maxRow) {
rowBlock.getWriter().addTuple(currentTuple); currentRow++; rowCount++;
rowBlock.getWriter().addTuple(currentTuple); currentRow++; rowCount++;