private void genUniqueJoinObject(int aliasNum, int forwardCachePos) throws HiveException { AbstractRowContainer.RowIterator<List<Object>> iter = storage[order[aliasNum]].rowIter(); for (List<Object> row = iter.first(); row != null; row = iter.next()) { reportProgress(); int sz = joinValues[order[aliasNum]].size(); int p = forwardCachePos; for (int j = 0; j < sz; j++) { forwardCache[p++] = row.get(j); } if (aliasNum == numAliases - 1) { internalForward(forwardCache, outputObjInspector); countAfterReport = 0; } else { genUniqueJoinObject(aliasNum + 1, p); } } }
private void genUniqueJoinObject(int aliasNum, int forwardCachePos) throws HiveException { AbstractRowContainer.RowIterator<List<Object>> iter = storage[order[aliasNum]].rowIter(); for (List<Object> row = iter.first(); row != null; row = iter.next()) { reportProgress(); int sz = joinValues[order[aliasNum]].size(); int p = forwardCachePos; for (int j = 0; j < sz; j++) { forwardCache[p++] = row.get(j); } if (aliasNum == numAliases - 1) { internalForward(forwardCache, outputObjInspector); countAfterReport = 0; } else { genUniqueJoinObject(aliasNum + 1, p); } } }
boolean hasFilter = hasFilter(order[0]); AbstractRowContainer.RowIterator<List<Object>> iter = storage[order[0]].rowIter(); for (List<Object> rightObj = iter.first(); rightObj != null; rightObj = iter.next()) { boolean rightNull = rightObj == dummyObj[0]; if (hasFilter) {
if (!hasEmpty) { AbstractRowContainer.RowIterator<List<Object>> iter = alw.rowIter(); for (List<Object> row = iter.first(); row != null; row = iter.next()) { reportProgress(); if (hasAnyFiltered(alias, row)) {
AbstractRowContainer.RowIterator<List<Object>> iter = aliasRes.rowIter(); for (List<Object> rightObj = iter.first(); !done && rightObj != null; rightObj = loopAgain ? rightObj : iter.next(), rightFirst = loopAgain = false) { System.arraycopy(prevSkip, 0, skip, 0, prevSkip.length);
private void genUniqueJoinObject(int aliasNum, int forwardCachePos) throws HiveException { AbstractRowContainer.RowIterator<List<Object>> iter = storage[order[aliasNum]].rowIter(); for (List<Object> row = iter.first(); row != null; row = iter.next()) { int sz = joinValues[order[aliasNum]].size(); int p = forwardCachePos; for (int j = 0; j < sz; j++) { forwardCache[p++] = row.get(j); } if (aliasNum == numAliases - 1) { internalForward(forwardCache, outputObjInspector); countAfterReport = 0; } else { genUniqueJoinObject(aliasNum + 1, p); } } }
private void genJoinObject() throws HiveException { boolean rightFirst = true; boolean hasFilter = hasFilter(order[0]); AbstractRowContainer.RowIterator<List<Object>> iter = storage[order[0]].rowIter(); for (List<Object> rightObj = iter.first(); rightObj != null; rightObj = iter.next()) { boolean rightNull = rightObj == dummyObj[0]; if (hasFilter) { filterTags[0] = getFilterTag(rightObj); } skipVectors[0][0] = rightNull; intermediate[0] = rightObj; genObject(1, rightFirst, rightNull); rightFirst = false; } }
@Override public List<Object> next() throws HiveException { return unwrap(iterator.next()); }
int pos = 0; for (List<Object> rightObj = iter.first(); !done && rightObj != null; rightObj = loopAgain ? rightObj : iter.next(), rightFirst = loopAgain = false, pos++) { System.arraycopy(prevSkip, 0, skip, 0, prevSkip.length);
int pos = 0; for (List<Object> rightObj = iter.first(); !done && rightObj != null; rightObj = loopAgain ? rightObj : iter.next(), rightFirst = loopAgain = false, pos++) { System.arraycopy(prevSkip, 0, skip, 0, prevSkip.length);
if (!hasEmpty) { AbstractRowContainer.RowIterator<List<Object>> iter = alw.rowIter(); for (List<Object> row = iter.first(); row != null; row = iter.next()) { reportProgress(); if (hasAnyFiltered(alias, row)) {
for (List<Object> valueObjList = iter.first(); valueObjList != null; valueObjList = iter.next()) {
if (!hasEmpty) { AbstractRowContainer.RowIterator<List<Object>> iter = alw.rowIter(); for (List<Object> row = iter.first(); row != null; row = iter.next()) { reportProgress(); if (hasAnyFiltered(alias, row)) {
boolean hasFilter = hasFilter(order[0]); AbstractRowContainer.RowIterator<List<Object>> iter = storage[order[0]].rowIter(); for (List<Object> rightObj = iter.first(); rightObj != null; rightObj = iter.next()) { boolean rightNull = rightObj == dummyObj[0]; if (hasFilter) {
@Override public List<Object> next() throws HiveException { return unwrap(iterator.next()); }
@Override public List<Object> next() throws HiveException { return unwrap(iterator.next()); }
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); } }