Repository navigation
Pass NULL for a nil string MEOS accepts as NULL - #31
Merged
estebanzimanyi merged 2 commits intoOct 27, 2026
Merged
estebanzimanyi merged 2 commits into
estebanzimanyi merged 2 commits into
Conversation
The functions and types packages are regenerated from the catalog of MobilityDB master a23e01a60b, and the hand-written calls follow the MEOS signatures there: the distances, lengths and speed of a temporal point and the ever, always and temporal within distance take the model of the earth last, which they are given as the spheroid, the model MobilityDB defaults to and the one MEOS measures a geography on; temporal_as_mfjson takes its options as bits, the bounding box being bit 1; and the MF-JSON call passes the reference system string it frees. Witness: the gomeos package builds against the libmeos of a23e01a60b and its 121 examples pass with TZ=UTC; the functions and types packages build, and the portable-parity test passes. Why: the committed packages and the hand-written calls are what a go get consumer compiles, and they compile against the MEOS they name.
A char * or text * argument the catalog lists in shape.nullable is a *string in the functions package, and nil passes NULL to MEOS; any other string argument stays a string. The types package passes the *string through to the wrapper, so its methods over those functions take it too. Eight wrappers take one: GeoAsEWKB, GeoAsGeojson, GeoAsHexewkb, WKBVariantFromEndian, TemporalAsMFJSON, TrgeometryAsTsequence, TrgeometryAsTsequenceset and MeosSetPointcloudSchemasXml. Witness: ExampleTemporalAsMFJSON_nilSrs writes the MF-JSON of a temporal point with no "crs" member for a nil srs and with "EPSG:4326" for that srs. Measured: against the libmeos of MobilityDB a23e01a60b, the gomeos package runs its 122 examples, the functions and types packages build, the portable-parity test passes, and the types package keeps its 1435 methods with 156 deferred, as with string arguments. Why: MEOS states the arguments it accepts as NULL with the @nullable tag, and a binding that cannot pass NULL to them cannot ask what MEOS answers.
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.
A char * or text * argument the catalog lists in shape.nullable is a *string
in the functions package, and nil passes NULL to MEOS; any other string
argument stays a string. The types package passes the *string through to the
wrapper, so its methods over those functions take it too. Eight wrappers
take one: GeoAsEWKB, GeoAsGeojson, GeoAsHexewkb, WKBVariantFromEndian,
TemporalAsMFJSON, TrgeometryAsTsequence, TrgeometryAsTsequenceset and
MeosSetPointcloudSchemasXml.
Witness: ExampleTemporalAsMFJSON_nilSrs writes the MF-JSON of a temporal
point with no "crs" member for a nil srs and with "EPSG:4326" for that srs.
Measured: against the libmeos of MobilityDB a23e01a60b, the gomeos package
runs its 122 examples, the functions and types packages build, the
portable-parity test passes, and the types package keeps its 1435 methods
with 156 deferred, as with string arguments.
Why: MEOS states the arguments it accepts as NULL with the @nullable tag,
and a binding that cannot pass NULL to them cannot ask what MEOS answers.