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); } } }
genAllOneUniqueJoinObject(); } else { genUniqueJoinObject(0, 0); genAllOneUniqueJoinObject(); } else if (!needsPostEvaluation && !hasEmpty && !hasLeftSemiJoin) { genUniqueJoinObject(0, 0); } else { genJoinObject();
genAllOneUniqueJoinObject(); } else { genUniqueJoinObject(0, 0); genAllOneUniqueJoinObject(); } else if (!needsPostEvaluation && !hasEmpty && !hasLeftSemiJoin) { genUniqueJoinObject(0, 0); } else { genJoinObject();
private void genUniqueJoinObject(int aliasNum, int forwardCachePos) throws HiveException { AbstractRowContainer<ArrayList<Object>> alias = storage.get(order[aliasNum]); for (ArrayList<Object> row = alias.first(); row != null; row = alias.next()) { int sz = joinValues.get(order[aliasNum]).size(); int p = forwardCachePos; for (int j = 0; j < sz; j++) { forwardCache[p++] = row.get(j); } if (aliasNum == numAliases - 1) { forward(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()) { 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); } } }
} else { LOG.trace("calling genUniqueJoinObject"); genUniqueJoinObject(0, 0); LOG.trace("called genUniqueJoinObject"); } else if (!hasEmpty) { LOG.trace("calling genUniqueJoinObject"); genUniqueJoinObject(0, 0); LOG.trace("called genUniqueJoinObject"); } else {
genAllOneUniqueJoinObject(); } else { genUniqueJoinObject(0, 0); genAllOneUniqueJoinObject(); } else if (!hasEmpty && !hasLeftSemiJoin) { genUniqueJoinObject(0, 0); } else { genJoinObject();