in src/main/java/org/apache/paimon/trino/TrinoPageSource.java [151:178]
private Page nextPage() throws IOException {
int count = 0;
while (count < ROWS_PER_REQUEST && !pageBuilder.isFull()) {
if (limit.isPresent() && numReturn + count >= limit.getAsLong()) {
isFinished = true;
return returnPage(count);
}
if (!iterator.hasNext()) {
isFinished = true;
return returnPage(count);
}
InternalRow row = iterator.next();
pageBuilder.declarePosition();
count++;
for (int i = 0; i < columnTypes.size(); i++) {
BlockBuilder output = pageBuilder.getBlockBuilder(i);
appendTo(
columnTypes.get(i),
logicalTypes.get(i),
InternalRowUtils.get(row, i, logicalTypes.get(i)),
output);
}
}
return returnPage(count);
}