Skip to content

Pass the model of the earth MEOS measures a geography on - #72

Merged
estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:fix/pass-spheroid
Oct 9, 2026
Merged

estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:fix/pass-spheroid

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

The MEOS functions measuring a geography take a last bool spheroid. The benchmark queries pass
true, the model each measured on: the ever-within tests of a vehicle or a trip against a zone, a
geofence, a road segment or another trip (edwithin_tgeo_geo, edwithin_tgeo_tgeo), the set-set
joins (edwithin_tgeoarr_tgeoarr, tdwithin_tgeoarr_tgeoarr, spheroid before the count), and the
distances between two geographies of queries 6, 7 and 9 and MEOSBridge (geog_distance, whose MEOS
body fixed use_spheroid to true). The example of MeosCrossStreamJoin calls edwithin_tgeo_tgeo
with its spheroid in both modules.

Witness: over MobilityDB 8a9bc20b62, where #3005 adds spheroid, and the jar JMEOS builds from it,
the benchmark fails to compile: "method geog_distance in class functions.GeneratedFunctions
cannot be applied to given types; required: jnr.ffi.Pointer,jnr.ffi.Pointer,boolean".

Measured over MobilityDB 8a9bc20b62 and MEOS-API c6f423d2ef, with the jar and generators of
JMEOS codegen/pass-spheroid: the binding module passes its 21 tests and the benchmark module its
12, and the build prints no warning.

Why: a call passes every argument of the MEOS function it calls, and a benchmark answers on the
model of the earth it was written for.

The MEOS functions measuring a geography take a last bool spheroid. The benchmark queries pass
true, the model each measured on: the ever-within tests of a vehicle or a trip against a zone, a
geofence, a road segment or another trip (edwithin_tgeo_geo, edwithin_tgeo_tgeo), the set-set
joins (edwithin_tgeoarr_tgeoarr, tdwithin_tgeoarr_tgeoarr, spheroid before the count), and the
distances between two geographies of queries 6, 7 and 9 and MEOSBridge (geog_distance, whose MEOS
body fixed use_spheroid to true). The example of MeosCrossStreamJoin calls edwithin_tgeo_tgeo
with its spheroid in both modules.

Witness: over MobilityDB 8a9bc20b62, where #3005 adds spheroid, and the jar JMEOS builds from it,
the benchmark fails to compile: "method geog_distance in class functions.GeneratedFunctions
cannot be applied to given types; required: jnr.ffi.Pointer,jnr.ffi.Pointer,boolean".

Measured over MobilityDB 8a9bc20b62 and MEOS-API c6f423d2ef, with the jar and generators of
JMEOS codegen/pass-spheroid: the binding module passes its 21 tests and the benchmark module its
12, and the build prints no warning.

Why: a call passes every argument of the MEOS function it calls, and a benchmark answers on the
model of the earth it was written for.
@estebanzimanyi
estebanzimanyi merged commit b43141f into MobilityDB:main Oct 9, 2026
3 of 4 checks passed
@estebanzimanyi
estebanzimanyi deleted the fix/pass-spheroid branch October 9, 2026 16:16
estebanzimanyi added a commit that referenced this pull request Oct 9, 2026
GeneratedSqlSurfaceTest.anOmittedInterpolationIsTheOneOfTheType checks that appendInstant and
tintSeqSetGaps, called without an interpolation, take the one the temporal type supports:
appending 5 to a tfloat from 1 to 2 keeps 3 instants and appending 3 keeps 2, the middle one on
the line of its neighbours, while appending 3 to a tint keeps 3; interp answers Linear and Step;
and tintSeqSetGaps splits three instants with a gap of three days into 2 sequences.

Witness: over the catalog of MEOS-API f8f63bd the surface registers no appendInstant over two
temporal values, as MobilitySpark #72 measures on the twin test, which fails there on "function
appendInstant(tfloat, tfloat) does not exist".

Measured over MobilityDB a0480a7d38 and the catalog of MEOS-API
catalog/interp-from-signature-type, which #184 merges, with the generator of JMEOS 88694368: the
binding module passes its 22 tests and the benchmark module its 12, and the build prints no
warning.

Why: appendInstant and the sequence set constructors answer on Flink as they do in PostgreSQL.
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