Page convertToRetained()

in src/main/java/org/apache/paimon/trino/TrinoPageSourceWrapper.java [84:98]


    Page convertToRetained(
            Page page, DeletionVector deletionVector, int startPosition, int pageCount) {
        int[] retained = new int[pageCount];
        int retainedLength = 0;
        for (int pagePosition = 0; pagePosition < pageCount; pagePosition++) {
            if (!deletionVector.isDeleted(startPosition + pagePosition)) {
                retained[retainedLength++] = pagePosition;
            }
        }
        if (retainedLength == pageCount) {
            return page;
        }

        return page.getPositions(retained, 0, retainedLength);
    }