Add the MobilityNebula pin manifest and per-binding generator policy#175
Open
estebanzimanyi wants to merge 3 commits into
Open
Add the MobilityNebula pin manifest and per-binding generator policy#175estebanzimanyi wants to merge 3 commits into
estebanzimanyi wants to merge 3 commits into
Conversation
…aho-mqtt-cpp The Nix environment provides paho-mqtt-cpp as a shared-only library and does not include libmeos. Four changes make the build pass: - flake.nix: add stock paho-mqtt-c + paho-mqtt-cpp to baseThirdPartyDeps; pass -DNES_ENABLE_MEOS=OFF in both defaultPackage and devShell cmakeFlags. - nes-plugins/CMakeLists.txt: introduce NES_ENABLE_MQTT and NES_ENABLE_MEOS options that gate the respective plugin subdirectories via activate_optional_plugin(). - nes-plugins/Sources/MQTTSource, nes-plugins/Sinks/MQTTSink: select PahoMqttCpp::paho-mqttpp3-static when available, fall back to the shared PahoMqttCpp::paho-mqttpp3 target (Nix only ships the shared variant). - nes-physical-operators: gate all MEOS-specific add_plugin calls and the nes-meos link behind if(NES_ENABLE_MEOS) in three CMakeLists files (top-level, Functions/Meos, Aggregation/Function/Meos). - CMakeLists.txt (root): declare option(NES_ENABLE_MEOS) and add_compile_definitions(NES_ENABLE_MEOS) before the nes-* subdirectory loop so the preprocessor symbol is visible to all sibling components. - nes-query-optimizer/LowerToPhysicalWindowedAggregation.cpp: guard the TemporalSequenceAggregationPhysicalFunction include and instantiation with #ifdef NES_ENABLE_MEOS so the translation unit compiles and links when MEOS is disabled.
cd89958 to
ddcec83
Compare
Member
Author
|
Superseded by the master-derivation deliverable. The pin artifacts here (tools/pin/compose-order.txt, tools/regen-from-pin.sh) are obsolete: pins are no longer used — the surface derives directly from MobilityDB master via the MEOS-API catalog. The generation policy (family-organized, catalog-derived, zero hand-written surface) is realized and documented by the committed generator (#185: tools/codegen + README) and enforced by the drift-guard CI (#186). Closing; reopen if a top-level GENERATION.md is wanted, which would then reference master rather than a pin. |
This was referenced Jul 2, 2026
ddcec83 to
9c33e05
Compare
Add tools/pin/compose-order.txt (the canonical fold manifest of the ~50 open codegen-wave PRs from the live DAG: generator infra MobilityDB#170 first, then the per-family NES operator waves W105-W149, then the -22a verify/regenerate PRs) and GENERATION.md (the per-binding generator policy: MobilityNebula generates the NES MEOS-operator surface via tools/codegen/codegen_nebula.py from the catalog, family-organized, zero hand special-cases).
…la.py in regen-from-pin.sh
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.
What
Brings MobilityNebula onto the ecosystem-wide per-binding generator policy (completing the rollout: JMEOS #29, GoMEOS #6, MEOS.NET #6, meos-rs #4, PyMEOS #96/#21, MobilityDuck #206, MobilitySpark #29, MobilityFlink #32, MobilityKafka #17):
tools/pin/compose-order.txt— the canonical fold manifest of the ~50 open codegen-wave PRs (derived from the live DAG): generator infra feat(codegen): IDL-driven NES MEOS-operator generator with idempotent build/grammar/QPC glue #170 folds first, then the per-family NES operator waves W105–W149 (feat(meos): add GEO_NUM_POINTS/GEOS/SRID/IS_UNITARY, GEO_EQUALS/SAME, GEOG_DISTANCE NES operators (W105) #125–feat(meos): add trgeometry vs trgeometry spatial predicate NES operators (W149) #169), CI fix(ci): make the Nix build work with NES_ENABLE_MEOS=OFF and stock paho-mqtt-cpp #171, and the -22a verify/regenerate PRs verify(codegen): regenerate tfloat/tint-transform operators from -22a IDL #172–feat(meos): add 9 spatial predicate operators via codegen (tgeo/tcbuffer gap-fill) #174.GENERATION.md— the policy: MobilityNebula generates the NES MEOS-operator surface viatools/codegen/codegen_nebula.pyfrom the catalog, family-organized, zero hand special-cases.Docs + manifest only — no code, no build impact.
Why
Per the per-binding generator policy: each binding owns its generator + its own pin manifest, the single source of truth is the MEOS-API catalog, and generation converges to a zero-hand-written surface via generate-then-retire (the last green-CI version is the equivalence probe).