private void ensureAliasFilter() throws HiveException { if (!isAliasFilterSet && rowLength > 0) { for (int offset = rowLength - 1; offset < array.length; offset += rowLength) { aliasFilter &= ((ShortWritable)array[offset]).get(); } } isAliasFilterSet = true; }
@Override public byte updateStateByte(Byte previousValue) { if (!hasFilterTag) return (byte)0xff; byte aliasFilter = (previousValue == null) ? (byte)0xff : previousValue.byteValue(); aliasFilter &= ((ShortWritable)valObjs[valObjs.length - 1]).get(); return aliasFilter; }
@Override public short get(Object o) { // Accept int writables and convert them. if (o instanceof IntWritable) { return (short) ((IntWritable) o).get(); } return ((ShortWritable) o).get(); } }
public IntWritable evaluate(ShortWritable a, IntWritable b) { if (a == null || b == null) { return null; } intWritable.set(a.get() << b.get()); return intWritable; }
public IntWritable evaluate(ShortWritable a, IntWritable b) { if (a == null || b == null) { return null; } intWritable.set(a.get() >>> b.get()); return intWritable; }
public IntWritable evaluate(ShortWritable a, IntWritable b) { if (a == null || b == null) { return null; } intWritable.set(a.get() >> b.get()); return intWritable; }
@Override public int precision() { if (value == null) { return super.precision(); } return BigDecimal.valueOf(value.get()).precision(); }
public ShortWritable evaluate(ShortWritable a) { if (a == null) { return null; } shortWritable.set((short) (~a.get())); return shortWritable; }
private boolean hasAnyFiltered(int alias, List<Object> row) { if (row == dummyObj[alias]) { return true; } if (hasFilter(alias) && row != null) { ShortWritable shortWritable = (ShortWritable) row.get(row.size() - 1); if (shortWritable != null) { return JoinUtil.hasAnyFiltered(shortWritable.get()); } } return false; }
@Override public void assignObjectValue(Object val, int destIndex) throws HiveException { if (val == null) { assignNull(destIndex); } else { ShortWritable bw = (ShortWritable) val; assignLong(bw.get(), destIndex); } } }.init(outputBatch, (LongColumnVector) destCol);