Skip to content

regen: bump meos-idl.json to MEOS-API + regenerate extended types (supersedes #15)#19

Open
estebanzimanyi wants to merge 1 commit into
MobilityDB:mainfrom
estebanzimanyi:feat/regen-extended-types-meos-idl
Open

regen: bump meos-idl.json to MEOS-API + regenerate extended types (supersedes #15)#19
estebanzimanyi wants to merge 1 commit into
MobilityDB:mainfrom
estebanzimanyi:feat/regen-extended-types-meos-idl

Conversation

@estebanzimanyi
Copy link
Copy Markdown
Member

Summary

Retargets the JMEOS PR #15 "regen against MEOS 1.4" intent onto the post-#9 multi-module layout. PR #15 itself is structurally incompatible with the multi-module migration (it modifies pre-migration paths); this PR delivers the same FFI surface via the canonical MEOS-API → meos-idl.json → JMEOS codegen pipeline that the multi-module migration set up.

What this delivers

Replaces codegen/input/meos-idl.json (the core-only IDL on main) with the MEOS-API published meos-idl.json that includes the four extended temporal-type families absent from the previous input:

Family Generated FFI entries added
tcbuffer 366
tnpoint 177
tpose 162
trgeo 204
Total 909

After regeneration, mvn -pl codegen exec:java -Dexec.mainClass=FunctionsGenerator reports:

Functions parsed: 2699
Written: jmeos-core/src/main/java/functions/GeneratedFunctions.java

Why this and not PR #15

PR #15 modifies src/main/java/builder/FunctionsGenerator.java, src/main/java/functions/functions.java, and src/main/java/builder/resources/meos.h — paths that PR #9 (merged) deleted and moved into the new multi-module layout. The rebase therefore fails with modify/delete conflicts on every commit.

This PR uses the canonical multi-module paths (codegen/input/meos-idl.json, codegen/src/main/java/FunctionsGenerator.java, jmeos-core/src/main/java/functions/GeneratedFunctions.java) and re-runs the existing codegen against the updated input. Same FFI surface; clean multi-module integration.

Stream-consumer impact

Stream-side consumers (MobilityFlink / MobilityKafka / etc.) can now base on MobilityDB/JMEOS:main directly once this lands, with full access to:

  • All core MEOS 1.4 spatial functions (already on main: geog_distance, edwithin_tgeo_geo, eintersects_tgeo_geo, nad_tgeo_geo, tdistance_tgeo_tgeo, …)
  • The 909 extended-type entries this PR adds — tcbuffer, tnpoint, tpose, trgeo

The 2 high-level wrappers (utils.spatial.Haversine.distance, utils.spatial.PointToSegment.distance) needed for per-event spatial-predicate sites are on PR #18 (OPEN, CI green), which stream consumers can stack on the fork branch estebanzimanyi/JMEOS:feat/spatial-haversine for the geodesic surface without merge-wait.

Local verification

$ export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
$ mvn -pl codegen test
[INFO] Tests run: 87, Failures: 0, Errors: 0, Skipped: 0
[INFO] BUILD SUCCESS

$ mvn -pl codegen exec:java -Dexec.mainClass=FunctionsGenerator
Functions parsed: 2699
Written: jmeos-core/src/main/java/functions/GeneratedFunctions.java

$ mvn -pl jmeos-core compile
[INFO] BUILD SUCCESS

87/87 codegen unit tests pass; jmeos-core compiles green against the regenerated output.

Supersedes

Replaces `codegen/input/meos-idl.json` (34 565 lines, core-only) with the
MEOS-API published meos-idl.json (56 220 lines) that includes the four
extended temporal-type families absent from the previous input:

  - tcbuffer  (366 generated FFI declarations + wrappers)
  - tnpoint   (177)
  - tpose     (162)
  - trgeo     (204)

Total extended-type surface added: 909 new generated entries.  Combined
generator output now reports 2 699 functions parsed (up from the prior
pruned input).

This delivers the FFI surface that PR MobilityDB#15 was designed to add, retargeted
onto the post-MobilityDB#9 multi-module layout: input goes to `codegen/input/`,
generated output to `jmeos-core/src/main/java/functions/GeneratedFunctions.java`.
The PR MobilityDB#15 branch is structurally incompatible with the multi-module
layout (it modifies pre-migration paths); this regen is the canonical
landing for the same intent.

Verified locally:
  - mvn -pl codegen test  -> 87/87 tests pass
  - mvn -pl jmeos-core compile -> BUILD SUCCESS
  - Codegen log: "Functions parsed: 2 699 — Written: GeneratedFunctions.java"

Closes the JMEOS PR MobilityDB#15 ‘regen against MEOS 1.4’ intent by routing
through the canonical MEOS-API → meos-idl.json → JMEOS codegen pipeline.
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