Skip to content

Give every array of a run the one length that follows it - #134

Merged
estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:fix/parallel-arrays-share-their-count
Sep 3, 2026
Merged

Give every array of a run the one length that follows it#134
estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:fix/parallel-arrays-share-their-count

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

Arrays read in parallel are declared together and counted once, so the length
belongs to all of them. inputArrays names only the array the count sits
beside, which leaves nine arrays across seven functions with no stated length:
jsonb_make_two_arg(text **keys, text **values, int count) pairs the two
element by element and the entry names values alone, tpointseq_make_coords
reads four coordinate arrays and the entry names times, and the h3 and
quadbin sequence constructors each read a value array beside their timestamps.
A binding meets the unnamed ones as bare pointers it cannot size.

The inference walks a RUN of array parameters to the first parameter that is
not one, and where that parameter is a by-value integer every array of the run
takes its length from it. Where a family counts each array separately the run
is one long and this says what it always said:
edwithin_tgeoarr_tgeoarr(arr1, count1, arr2, count2, …) keeps arr1 on
count1, which is the case the suite states beside the run itself.

The catalog carries 167 input arrays over 158, the nine gained belonging to
those seven functions, and no entry loses the length it had.

Arrays read in parallel are declared together and counted once, so the length
belongs to all of them. `inputArrays` names only the array the count sits
beside, which leaves nine arrays across seven functions with no stated length:
`jsonb_make_two_arg(text **keys, text **values, int count)` pairs the two
element by element and the entry names `values` alone, `tpointseq_make_coords`
reads four coordinate arrays and the entry names `times`, and the h3 and
quadbin sequence constructors each read a value array beside their timestamps.
A binding meets the unnamed ones as bare pointers it cannot size.

The inference walks a RUN of array parameters to the first parameter that is
not one, and where that parameter is a by-value integer every array of the run
takes its length from it. Where a family counts each array separately the run
is one long and this says what it always said:
`edwithin_tgeoarr_tgeoarr(arr1, count1, arr2, count2, …)` keeps `arr1` on
`count1`, which is the case the suite states beside the run itself.

The catalog carries 167 input arrays over 158, the nine gained belonging to
those seven functions, and no entry loses the length it had.
@estebanzimanyi
estebanzimanyi merged commit 5311fdb into MobilityDB:master Sep 3, 2026
3 checks passed
@estebanzimanyi
estebanzimanyi deleted the fix/parallel-arrays-share-their-count branch September 3, 2026 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant