@Override public void addRow(Object[] value) throws HiveException { internal.addRow(value); }
@Override public byte getAliasFilter() throws HiveException { return internal.getAliasFilter(); }
@Override public int rowCount() throws HiveException { return internal.rowCount(); }
@Test public void testSerialization() throws Exception { MapJoinRowContainer container1 = new MapJoinEagerRowContainer(); container1.addRow(new Object[]{ new Text("f0"), null, new ShortWritable((short)0xf)}); container1.addRow(Arrays.asList(new Object[]{ null, new Text("f1"), new ShortWritable((short)0xf)})); container1.addRow(new Object[]{ null, null, new ShortWritable((short)0xf)}); container1.addRow(Arrays.asList(new Object[]{ new Text("f0"), new Text("f1"), new ShortWritable((short)0x1)})); MapJoinRowContainer container2 = Utilities.serde(container1, "f0,f1,filter", "string,string,smallint"); Utilities.testEquality(container1, container2); Assert.assertEquals(4, container1.rowCount()); Assert.assertEquals(1, container2.getAliasFilter()); }
assert (rowContainer == null || !rowContainer.hasRows()) : "Expecting an empty result set for no match"; storage[pos] = rowContainer.copy(); aliasFilterTags[pos] = rowContainer.getAliasFilter();
if(value.length != 0) { rowContainer = new MapJoinEagerRowContainer(); rowContainer.addRow(value); } else { rowContainer = emptyRowContainer; tableContainer.put(key, rowContainer); } else if (rowContainer == emptyRowContainer) { rowContainer = rowContainer.copy(); rowContainer.addRow(value); tableContainer.put(key, rowContainer); } else { rowContainer.addRow(value);
static void testEquality(MapJoinRowContainer container1, MapJoinRowContainer container2) throws HiveException { Assert.assertEquals(container1.rowCount(), container2.rowCount()); AbstractRowContainer.RowIterator<List<Object>> iter1 = container1.rowIter(), iter2 = container2.rowIter(); for (List<Object> row1 = iter1.first(), row2 = iter2.first(); row1 != null && row2 != null; row1 = iter1.next(), row2 = iter2.next()) { Assert.assertEquals(row1, row2); } }
@Override public void write(MapJoinObjectSerDeContext valueContext, ObjectOutputStream out) throws IOException, SerDeException { internal.write(valueContext, out); }
@Override public List<Object> first() throws HiveException { iterator = internal.rowIter(); return unwrap(iterator.first()); }
storage[pos] = rowContainer.copy(); aliasFilterTags[pos] = rowContainer.getAliasFilter();
@Override public MapJoinRowContainer copy() throws HiveException { internal = internal.copy(); return this; }
@Override public boolean hasRows() throws HiveException { return internal.hasRows(); }
@Override public void clearRows() throws HiveException { internal.clearRows(); }
@Override public boolean isSingleRow() throws HiveException { return internal.isSingleRow(); }
assert (rowContainer == null || !rowContainer.hasRows()) : "Expecting an empty result set for no match"; storage[pos] = rowContainer.copy(); aliasFilterTags[pos] = rowContainer.getAliasFilter();
@Override public void write(MapJoinObjectSerDeContext valueContext, ObjectOutputStream out) throws IOException, SerDeException { internal.write(valueContext, out); }
@Override public List<Object> first() throws HiveException { iterator = internal.rowIter(); return unwrap(iterator.first()); }
@Override public MapJoinRowContainer copy() throws HiveException { internal = internal.copy(); return this; }
@Override public boolean hasRows() throws HiveException { return internal.hasRows(); }