Skip to content

Project the temporal types out of the MEOS-API catalog - #68

Merged
estebanzimanyi merged 1 commit into
masterfrom
gen/project-the-catalog
Sep 2, 2026
Merged

Project the temporal types out of the MEOS-API catalog#68
estebanzimanyi merged 1 commit into
masterfrom
gen/project-the-catalog

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

tools/codegen reads meos-idl.json#/temporalTypes, the registry MEOS-API states
per Temporal, rather than parsing meos_catalog.c and type_out.c itself. The
generated table holds the same 23 rows the C parse yields at the same
MobilityDB commit, so this decides where the facts are read from and not which
facts they are.

Reading the C works, and it is the only way while the catalog states neither
the MF-JSON type token nor every temporal type a base carries. It is the wrong
place to read from once the catalog states them: it leaves this tier a parse of
someone else's C to keep working, and puts it on a different footing from
PyMEOS, JMEOS and the rest, which all project the catalog.

What goes with the parse is the machinery it needs: the comment stripper, the
string-aware brace walk, the predicate reader and the MF-JSON case-group
reader. The generator is a JSON read and a render.

CI derives the catalog with
MobilityDB/MEOS-API/.github/actions/provision-meos@master, the action every
catalog-consuming binding uses, and regenerates against the path it reports.
The catalog is a derived artifact of one MobilityDB commit, so it is not
committed; catalog_gen.go is, and a difference fails the job.

tools/codegen reads meos-idl.json#/temporalTypes, the registry MEOS-API states
per Temporal<T>, rather than parsing meos_catalog.c and type_out.c itself. The
generated table holds the same 23 rows the C parse yields at the same
MobilityDB commit, so this decides where the facts are read from and not which
facts they are.

Reading the C works, and it is the only way while the catalog states neither
the MF-JSON type token nor every temporal type a base carries. It is the wrong
place to read from once the catalog states them: it leaves this tier a parse of
someone else's C to keep working, and puts it on a different footing from
PyMEOS, JMEOS and the rest, which all project the catalog.

What goes with the parse is the machinery it needs: the comment stripper, the
string-aware brace walk, the predicate reader and the MF-JSON case-group
reader. The generator is a JSON read and a render.

CI derives the catalog with
MobilityDB/MEOS-API/.github/actions/provision-meos@master, the action every
catalog-consuming binding uses, and regenerates against the path it reports.
The catalog is a derived artifact of one MobilityDB commit, so it is not
committed; catalog_gen.go is, and a difference fails the job.
@estebanzimanyi
estebanzimanyi merged commit f0b18ff into master Sep 2, 2026
2 checks passed
@estebanzimanyi
estebanzimanyi deleted the gen/project-the-catalog branch September 2, 2026 21:18
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