private Page nextPage()

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);
    }