Skip to content

Test the raster aggregates the surface carries against MobilityDB - #88

Merged
estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:test/raster-aggregates
Oct 25, 2026
Merged

estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:test/raster-aggregates

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

AggregatesCatalogTest registers rasterUnion, sameAlignmentAgg and summaryStatsAgg among the
names of the catalog and tests their seven overloads over two rasters against MobilityDB's
answers: the four forms of rasterUnion as the hex WKB of the united raster and sameAlignmentAgg
as its boolean, among the overloads answering a text, and the two forms of summaryStatsAgg by
the six fields of the summarystats record the aggregate answers, read in Java in the order of
the record, since no SQL function of the surface reads a field of it.

Witness: JMEOS's generator carries the aggregates answering a boolean or a structure and
reading an integer or boolean argument, and MobilityDB reads the shorter raster aggregate forms
as their siblings do, so the three names leave the list of names the surface leaves out.

Measured: the two rows are tile 1 of the union tiles of MobilityDB's 500_raster and the same
tile one tile east, sharing no pixel, so every pixel operation is independent of the order of
the rows; the answers are those MobilityDB gives over them, harvested through its ctest harness:
rasterUnion as ST_AsHexWKB writes it, and summaryStatsAgg (16, 80, 5, 2.7386127875258306, 1, 9)
over band 1 and (18, 900, 50, 25.81988897471611, 10, 90) over band 2.

AggregatesCatalogTest registers rasterUnion, sameAlignmentAgg and summaryStatsAgg among the
names of the catalog and tests their seven overloads over two rasters against MobilityDB's
answers: the four forms of rasterUnion as the hex WKB of the united raster and sameAlignmentAgg
as its boolean, among the overloads answering a text, and the two forms of summaryStatsAgg by
the six fields of the summarystats record the aggregate answers, read in Java in the order of
the record, since no SQL function of the surface reads a field of it.

Witness: JMEOS's generator carries the aggregates answering a boolean or a structure and
reading an integer or boolean argument, and MobilityDB reads the shorter raster aggregate forms
as their siblings do, so the three names leave the list of names the surface leaves out.

Measured: the two rows are tile 1 of the union tiles of MobilityDB's 500_raster and the same
tile one tile east, sharing no pixel, so every pixel operation is independent of the order of
the rows; the answers are those MobilityDB gives over them, harvested through its ctest harness:
rasterUnion as ST_AsHexWKB writes it, and summaryStatsAgg (16, 80, 5, 2.7386127875258306, 1, 9)
over band 1 and (18, 900, 50, 25.81988897471611, 10, 90) over band 2.
@estebanzimanyi
estebanzimanyi merged commit fb83e95 into MobilityDB:main Oct 25, 2026
2 checks passed
@estebanzimanyi
estebanzimanyi deleted the test/raster-aggregates branch October 25, 2026 11:30
estebanzimanyi added a commit to estebanzimanyi/MobilityFlink that referenced this pull request Oct 25, 2026
everyOverloadAnswersUnquoted calls each two-argument overload of the topological and position
families as a query of its own, and each query is a job the mini-cluster plans and submits. The
overloads now share their jobs: a hundred calls are the columns of one query, each column still
required to answer a Boolean, and a query that fails is run again call by call through #scalar, so
a failing overload is named by its own query and the innermost cause, as before.

Measured: on the CI of main the step building and testing the binding takes 1274 s, against 154 s
for MobilitySpark's, and TopologicalPositionSurfaceTest takes 1022 s of it for its three tests.
A query costs 0.53 s on Flink and 0.08 s on Spark, read from AggregatesCatalogTest (288 queries
in 152.7 s, 295 in 23.4 s), so the time is the jobs, not the calls.

On the CI of this commit before its rebase onto MobilityDB#88 (fork run 40190727763), the three tests of
TopologicalPositionSurfaceTest pass in 116.7 s.
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