private void fetchNextRecord() { fetchNextRecord(resultSets.size() - 1); }
private void fetchNextRecord(int level) { OResultSet currentRs = resultSets.get(level); if (!currentRs.hasNext()) { if (level <= 0) { nextRecord = null; currentTuple = null; return; } currentRs = preFetches.get(level); currentRs.reset(); resultSets.set(level, currentRs); currentTuple.set(level, currentRs.next()); fetchNextRecord(level - 1); } else { currentTuple.set(level, currentRs.next()); } buildNextRecord(); }