private static void buildMissingTuple(int numFields, ArrayTupleBuilder nullTuple, IMissingWriter nonMatchWriter) { DataOutput out = nullTuple.getDataOutput(); for (int i = 0; i < numFields; i++) { try { nonMatchWriter.writeMissing(out); } catch (Exception e) { LOGGER.log(Level.WARN, e.getMessage(), e); } nullTuple.addFieldEndOffset(); } }
if (missingWriterFactory != null) { IMissingWriter missingWriter = missingWriterFactory.createMissingWriter(); missingWriter.writeMissing(output);
private void configurePropagation(IMissingWriterFactory iNullWriterFactory) { if (propagateInput) { // This LookupAdapter generates an external record as its output. // Thus, we add 1. tb = new ArrayTupleBuilder(tupleAccessor.getFieldCount() + 1); frameTuple = new FrameTupleReference(); } else { tb = new ArrayTupleBuilder(1); } if (retainNull) { IMissingWriter missingWriter = iNullWriterFactory.createMissingWriter(); missingTupleBuild = new ArrayTupleBuilder(1); DataOutput out = missingTupleBuild.getDataOutput(); try { missingWriter.writeMissing(out); } catch (IOException e) { e.printStackTrace(); } } else { missingTupleBuild = null; } }
private void appendNullsToTuple() throws HyracksDataException { tb.reset(); int n0 = tRef.getFieldCount(); for (int f = 0; f < n0; f++) { tb.addField(tRef.getFrameTupleAccessor(), tRef.getTupleIndex(), f); } DataOutput dos = tb.getDataOutput(); for (IMissingWriter missingWriter : missingWriters) { missingWriter.writeMissing(dos); tb.addFieldEndOffset(); } } }
DataOutput out = missingTupleBuild.getDataOutput(); for (int i = 0; i < fieldCountOuter; i++) { missingWritersBuild[i].writeMissing(out); missingTupleBuild.addFieldEndOffset();
@Override public void open() throws HyracksDataException { if (eval == null) { initAccessAppendFieldRef(ctx); eval = cond.createScalarEvaluator(ctx); } super.open(); //prepare nullTupleBuilder if (retainMissing && missingWriter == null) { missingWriter = missingWriterFactory.createMissingWriter(); missingTupleBuilder = new ArrayTupleBuilder(1); DataOutput out = missingTupleBuilder.getDataOutput(); missingWriter.writeMissing(out); missingTupleBuilder.addFieldEndOffset(); } }
DataOutput out = missingTupleBuilder.getDataOutput(); for (int i = 0; i < innerFieldCount; i++) { missingWriters[i].writeMissing(out); missingTupleBuilder.addFieldEndOffset();
builder.addFieldEndOffset(); } else { missingWriter.writeMissing(builder.getDataOutput()); builder.addFieldEndOffset(); builder.addFieldEndOffset(); } else { missingWriter.writeMissing(builder.getDataOutput()); builder.addFieldEndOffset();
for (int i = 0; i < fieldCount; i++) { try { nonMatchWriter.writeMissing(out); } catch (IOException e) { e.printStackTrace();
private void writeAntiMatterTuple(ITupleReference tuple, int componentPos) throws HyracksDataException { deletedTupleCounter.inc(componentPos); tb.reset(); // write tag fields tb.addField(IntegerSerializerDeserializer.INSTANCE, componentPos); tb.addField(BooleanSerializerDeserializer.INSTANCE, true); if (hasBuddyBTree) { // the output tuple does not have secondary keys (only primary keys + filter values) // write secondary keys (missing) for (int i = 0; i < numSecondaryKeys; i++) { missingWriter.writeMissing(dos); tb.addFieldEndOffset(); } } else { for (int i = numTagFields; i < numTagFields + numSecondaryKeys; i++) { tb.addField(tuple.getFieldData(i), tuple.getFieldStart(i), tuple.getFieldLength(i)); } } // write all remaining fields for (int i = numTagFields + numSecondaryKeys; i < recordDesc.getFieldCount(); i++) { tb.addField(tuple.getFieldData(i), tuple.getFieldStart(i), tuple.getFieldLength(i)); } FrameUtils.appendToWriter(writer, appender, tb.getFieldEndOffsets(), tb.getByteArray(), 0, tb.getSize()); }
for (int i = 0; i < nonMatchWriterFactories.length; i++) { nonMatchWriter[i] = nonMatchWriterFactories[i].createMissingWriter(); nonMatchWriter[i].writeMissing(out); nullTupleBuild.addFieldEndOffset();
for (int i = 0; i < fieldCount; i++) { try { nonMatchWriter.writeMissing(out); } catch (IOException e) { throw HyracksDataException.create(e);
DataOutput out = missingTupleBuilder.getDataOutput(); try { missingWriter.writeMissing(out); } catch (IOException e) { throw HyracksDataException.create(e);