feat(meos): regenerate the IDL at pin 588768d7ab and add the shared org.mobilitydb.meos facade (stacks on #23)#24
Closed
estebanzimanyi wants to merge 8 commits into
Closed
Conversation
… surface Bump codegen/input/meos-idl.json to the MEOS-API IDL and regenerate functions.GeneratedFunctions over the full consolidated superset: mul_* (incl. tbigint); minDistance; the circular-buffer and network-point MF-JSON readers; the ever- and always-covers families (ecovers_*/acovers_*); trgeo_*; the H3 / th3index family (ever_eq_h3indexset_th3index, h3index_in/out, H3Index lowered to long); PostgreSQL type I/O; tgeogpoint_great_circle_distance; meos_initialize_noexit_error_handler. 2916 functions.
Add the codegen exec step to jmeos-core so functions/GeneratedFunctions.java is produced from codegen/input/meos-idl.json during the build, and drop the committed copy.
Run meos_initialize() from the binding's load path so the allocator and collation are installed before any call. MEOS splits startup into granular steps; without the collation step, text comparisons route into varstr_cmp with an uninitialized collation and crash.
Call the generated functions class from TText and TextSet instead of the hand-maintained facade, so the text conversions use the canonical master names (cstring_to_text, text_to_cstring).
…ld flags The functions.GeneratedFunctions facade is generated at build time from the MEOS IDL with the optional type families selected by the same flag names and ON|OFF (also 1|0) values as the MobilityDB/MEOS build: -DCBUFFER, -DNPOINT, -DPOSE, -DRGEO, -DH3. Every family is included by default; passing -DCBUFFER=OFF (or =0) drops that family's functions from the generated binding so a subset jar ships without it (RGEO needs POSE). FunctionsGenerator maps each function's source header to its family and omits excluded families; jmeos-core runs the generator at generate-sources (so the flag flows through mvn) and compiles the generated functions.GeneratedFunctions.
Hoists the tier-aware MeosOps* facade (62 classes) into JMEOS so every JVM binding inherits the one canonical Java idiom from the shared jar instead of duplicating it per engine. The facade forwards to functions.GeneratedFunctions under a package-private MeosOpsRuntime probe gated by the canonical -Dmeos.enabled property; javadoc is engine-neutral. Relocates the maintained generator (regen_facade_from_jar + the gap / sql / tbigint / h3 emitters + parity_audit + meos-ref) under jmeos-core/tools so the facade stays regenerated, not hand-edited; regeneration is idempotent against the pin jar.
…surface Apply the 77-symbol drift from pin 588768d7ab to master: 20 trgeo→trgeometry renames (A); 12 pg_*/cstring2text/text2cstring/pose_normalise/temporal_instants_p/ temporal_hausdorff_distance renames (B); 21 removed scalar helpers dropped with no callers (C: add_date_int, add_interval_interval, add_timestamptz_interval, date_to_timestamp, date_to_timestamptz, float_exp, float_ln, float_log10, float_round, int32_cmp, int64_cmp, interval_make, mul_interval_double, timestamp_to_date, timestamptz_shift, timestamptz_to_date, minus_date_date, minus_date_int, minus_timestamptz_interval, minus_timestamptz_timestamptz, meos_initialize_pointcloud); 23 signature updates (D): value_at_timestamptz gains a result out-param and returns bool; value_split/value_time_split/ temporal_time_split gain bins/count out-params; set_spans/spanset_spans/ spanset_spanarr drop the count out-param; super_union_span_span drops the boolean merge flag; text_cmp gains a collation pointer; gbox_make gains hasm and geodetic booleans and min/max range pairs; geom_min_bounding_radius gains a radius out-param; pose_make_2d/3d gain a geodetic boolean; trgeoinst_make is renamed trgeometryinst_make. All xxx_hash_extended functions change their seed and return type from long to int (bigint_to_span/spanset likewise). 1735 tests pass, BUILD SUCCESS.
a639ea7 to
77c2777
Compare
Member
Author
|
Superseded by #30, which tracks the current MobilityDB master surface rather than a pinned commit. Closing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Regenerates codegen/input/meos-idl.json against the consolidated ecosystem pin 588768d7ab (3031 bound functions: the set-set spatial-join family, the mindistance_tgeoarr_tgeoarr rename, trgeometry analytics, tpose/tnpoint accessors, tcbuffer traversed-area, aggregate combine functions) and adds a tier-aware MeosOps* facade (62 classes) under org.mobilitydb.meos so every JVM binding inherits one canonical Java idiom from the shared jar: each method forwards to functions.GeneratedFunctions under a package-private MeosOpsRuntime probe gated by -Dmeos.enabled, with engine-neutral javadoc. The maintained generator (regen_facade_from_jar plus the gap/sql/tbigint/h3 emitters, parity_audit and meos-ref) lives under jmeos-core/tools and regenerates the facade idempotently; the full jmeos-core suite is green against the pinned libmeos.