public static boolean arraysEqual(IPointable p1, IPointable p2) { return arraysEqual(p1.getByteArray(), p1.getStartOffset(), p1.getLength(), p2.getByteArray(), p2.getStartOffset(), p2.getLength()); }
@Override public void evaluate(IFrameTupleReference tuple, IPointable result) throws HyracksDataException { result.set(buf); } };
private static void setValuePointer(IPointable src, IPointable value) { value.set(src.getByteArray(), src.getStartOffset() + 1, src.getLength() - 1); } }
private boolean notNullAndMissing(IPointable item) { byte tag = item.getByteArray()[item.getStartOffset()]; return tag != ATypeTag.SERIALIZED_NULL_TYPE_TAG && tag != ATypeTag.SERIALIZED_MISSING_TYPE_TAG; }
@Override public void evaluate(IFrameTupleReference tuple, IPointable result) throws HyracksDataException { eval1.evaluate(tuple, p); int v1 = IntegerPointable.getInteger(p.getByteArray(), p.getStartOffset()); eval2.evaluate(tuple, p); int v2 = IntegerPointable.getInteger(p.getByteArray(), p.getStartOffset()); BooleanPointable.setBoolean(rBytes, 0, v1 > v2); result.set(rBytes, 0, 1); } };
@Override public byte[] getByteArray() { return value.getByteArray(); }
@Override public int getStartOffset() { return value.getStartOffset(); }
@Override public int getLength() { return value.getLength(); } }
@Override public void evaluate(IFrameTupleReference tuple, IPointable result) throws HyracksDataException { eval1.evaluate(tuple, p); int v1 = IntegerPointable.getInteger(p.getByteArray(), p.getStartOffset()); eval2.evaluate(tuple, p); int v2 = IntegerPointable.getInteger(p.getByteArray(), p.getStartOffset()); BooleanPointable.setBoolean(rBytes, 0, v1 == v2); result.set(rBytes, 0, 1); } };
private boolean isNullOrMissing(IPointable item) { byte tag = item.getByteArray()[item.getStartOffset()]; return tag == ATypeTag.SERIALIZED_NULL_TYPE_TAG || tag == ATypeTag.SERIALIZED_MISSING_TYPE_TAG; }
@Override public byte[] getByteArray() { return value.getByteArray(); }
@Override public int getStartOffset() { return value.getStartOffset(); }
@Override public int getLength() { return value.getLength(); } }
private boolean sameGroup() throws HyracksDataException { for (int i = 0; i < args.length; i++) { IPointable v1 = argPrevValues[i]; IPointable v2 = argCurrValues[i]; IBinaryComparator cmp = argComparators[i]; if (cmp.compare(v1.getByteArray(), v1.getStartOffset(), v1.getLength(), v2.getByteArray(), v2.getStartOffset(), v2.getLength()) != 0) { return false; } } return true; } }
@Override public void evaluate(IFrameTupleReference tuple, IPointable result) throws HyracksDataException { eval.evaluate(tuple, argPtr); Value match = isMatch(argPtr.getByteArray()[argPtr.getStartOffset()]); if (match == Value.MISSING) { result.set(MISSING_BYTES, 0, MISSING_BYTES.length); return; } ABoolean res = match == Value.TRUE ? ABoolean.TRUE : ABoolean.FALSE; resultStorage.reset(); aObjSerDer.serialize(res, out); result.set(resultStorage); }
@Override protected int getPosition(IFrameTupleReference tuple, IPointable l, ATypeTag listTag) throws HyracksDataException { // l = list if (listTag == ATypeTag.ARRAY) { return AOrderedListSerializerDeserializer.getNumberOfItems(l.getByteArray(), l.getStartOffset()); } else if (listTag == ATypeTag.MULTISET) { return AUnorderedListSerializerDeserializer.getNumberOfItems(l.getByteArray(), l.getStartOffset()); } else { return RETURN_NULL; } }
@Override protected void evaluate(TaggedValuePointable[] args, IPointable result) throws SystemException { result.set(args[0]); } };
@Override public byte[] getFieldData(int fIdx) { return getField(fIdx).getByteArray(); }
@Override public int getFieldStart(int fIdx) { return getField(fIdx).getStartOffset(); }
@Override public int getFieldLength(int fIdx) { return getField(fIdx).getLength(); }