CATCH_NEXTROW() { ActivityTimer t(totalCycles, timeActivities, NULL); if (eof || abortSoon) return NULL; RtlDynamicRowBuilder row(queryRowAllocator()); size32_t sizeGot = helper->getRow(row, currentRow++); if (sizeGot) { dataLinkIncrement(); return row.finalizeRowClear(sizeGot); } eof = true; return NULL; }
CATCH_NEXTROW() { ActivityTimer t(totalCycles, timeActivities, NULL); if (empty || abortSoon) return NULL; // Filtering empty rows, returns the next valid row while (currentRow < numRows) { RtlDynamicRowBuilder row(queryRowAllocator()); size32_t sizeGot = helper->getRow(row, currentRow++); if (sizeGot) { dataLinkIncrement(); return row.finalizeRowClear(sizeGot); } } return NULL; }