Project the temporal types out of the MEOS-API catalog - #68
Merged
Conversation
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.
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.
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.