Skip to content

Document producing the catalog by hand#68

Merged
estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:docs/manual-generation
Jul 22, 2026
Merged

Document producing the catalog by hand#68
estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:docs/manual-generation

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

Gives the catalog — the root of the ecosystem chain — a runnable local form.

The document covers the CI path through provision-meos well, but its local form is a single run.py line under Pinning, with no prerequisites and no statement of what the two possible header sources produce. It now carries the commands: install the Python requirements, build and install libmeos into a private prefix for a self-contained parse, and run run.py with MDB_SRC_ROOT pointing at the source checkout that supplies the @ingroup and @sqlfn maps.

It also states what the installed headers give that the source tree cannot. The install step writes the generated meos_export.h with postgres_ext_defs.in.h spliced in place of #include <postgres.h>, so libclang resolves every struct field to its real C type and byte offset; the source tree wraps those types in stubs and yields approximate layouts. FFI bindings depend on the exact layout, so the distinction decides which invocation is correct for them.

tools/ecosystem-generate.sh invokes each binding's tools/regen-from-pin.sh and reports and skips a binding that has none (line 46). JMEOS regenerates through tools/regen-from-catalog.sh, so the script skips the FFI substrate the JVM tier binds. The section now says so and points at the direct invocation.

The catalog is the root of the ecosystem chain, but the document gives its local
form only as a single run.py line under Pinning, with no prerequisites and no
statement of what the two possible header sources produce. Give the commands:
install the Python requirements, build and install libmeos for a self-contained
parse, and run run.py with MDB_SRC_ROOT pointing at the source checkout that
carries the @InGroup and @sqlfn maps. State what the installed headers give that
the source tree cannot, since FFI bindings depend on exact struct layouts.

The ecosystem script invokes each binding's tools/regen-from-pin.sh and reports
and skips a binding that has none, which is the case for JMEOS: it regenerates
through tools/regen-from-catalog.sh. Say so, and point at the direct invocation.
@estebanzimanyi
estebanzimanyi merged commit c381b39 into MobilityDB:master Jul 22, 2026
1 check passed
@estebanzimanyi
estebanzimanyi deleted the docs/manual-generation branch July 22, 2026 14:33
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