parquet_debug_string_row_ranges Subroutine

public subroutine parquet_debug_string_row_ranges(n, nt, lo, hi)

Exposes thread_row_ranges for testing. Test-only; no library code calls it.

Public for the same reason parquet_debug_set_string_min_bytes is, and with more at stake: the byte-alignment rule this returns is the one property of the threading layer whose failure is a silent wrong answer (two threads sharing a validity byte lose one another's writes, and the column still validates). It has no consumer inside the module until S5, so without this it would ship untested — which is precisely how a rule everyone agrees with comes to be implemented wrongly.

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: n

total rows.

integer, intent(in) :: nt

number of ranges.

integer(kind=int64), intent(out), allocatable :: lo(:)

first row of each range.

integer(kind=int64), intent(out), allocatable :: hi(:)

last row of each range.


Source Code

    subroutine parquet_debug_string_row_ranges(n, nt, lo, hi)
        integer(int64), intent(in) :: n                   !! total rows.
        integer, intent(in) :: nt                         !! number of ranges.
        integer(int64), allocatable, intent(out) :: lo(:) !! first row of each range.
        integer(int64), allocatable, intent(out) :: hi(:) !! last row of each range.
        call thread_row_ranges(n, nt, lo, hi)
    end subroutine parquet_debug_string_row_ranges