Skip to content

Check the append aggregates on the typed Spark surface - #80

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

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

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

GeneratedSqlSurfaceTest.appendAggregatesAnswerWhatMobilityDBAnswersOrderedByTime checks that
appendInstantAgg over temporal integers, over temporal floats with the interpolation discrete,
and with the interpolation linear, a distance of 1.5 and an interval of one day, over temporal
booleans with the interpolation step and an interval of one day, and appendSequenceAgg over
temporal integer sequences answer what MobilityDB answers over the same values ordered by their
start timestamp, the values given out of that order, each in a partition of its own, so the
aggregate orders them whatever order it receives; and that two values at one timestamp are
refused with MobilityDB's error, "The temporal values have different value at their common
timestamp".

Witness: with the generator of JMEOS ba1e61c3, before #172, the surface registers neither aggregate, the
77 overloads of appendInstantAgg and appendSequenceAgg left out as stating no combine.

Measured over MobilityDB 3a8e6dba09, the catalog of MEOS-API 4baf11705c and JMEOS main e8c65dc4:
the 45 tests pass, 17 of them in GeneratedSqlSurfaceTest, with 0 warnings.

Why: a trajectory built from its instants or its pieces answers on Spark as it does in
PostgreSQL, whatever order Spark hands the rows in.

GeneratedSqlSurfaceTest.appendAggregatesAnswerWhatMobilityDBAnswersOrderedByTime checks that
appendInstantAgg over temporal integers, over temporal floats with the interpolation discrete,
and with the interpolation linear, a distance of 1.5 and an interval of one day, over temporal
booleans with the interpolation step and an interval of one day, and appendSequenceAgg over
temporal integer sequences answer what MobilityDB answers over the same values ordered by their
start timestamp, the values given out of that order, each in a partition of its own, so the
aggregate orders them whatever order it receives; and that two values at one timestamp are
refused with MobilityDB's error, "The temporal values have different value at their common
timestamp".

Witness: with the generator of JMEOS ba1e61c3, before #172, the surface registers neither aggregate, the
77 overloads of appendInstantAgg and appendSequenceAgg left out as stating no combine.

Measured over MobilityDB 3a8e6dba09, the catalog of MEOS-API 4baf11705c and JMEOS main e8c65dc4:
the 45 tests pass, 17 of them in GeneratedSqlSurfaceTest, with 0 warnings.

Why: a trajectory built from its instants or its pieces answers on Spark as it does in
PostgreSQL, whatever order Spark hands the rows in.
@estebanzimanyi
estebanzimanyi merged commit eef205a into MobilityDB:main Oct 11, 2026
2 checks passed
@estebanzimanyi
estebanzimanyi deleted the test/append-aggregates branch October 11, 2026 09:46
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