Declare instants, sequences and segments generic over every temporal type - #176
Merged
estebanzimanyi merged 1 commit intoOct 4, 2026
Conversation
…type meta/type-scope.json declares temporal_instants, temporal_sequences and temporal_segments generic over Temporal *, as it declares temporal_start_instant and temporal_end_instant, so each keeps the signature of every temporal type its wrapper declares: instants, sequences and segments over the 20 temporal types. They take a const Temporal * and validate it for being present alone, so no signal of MEOS states their scope, and the scope their parameter type gives is tint. Witness: a catalog derived from MobilityDB master 8600f6905a gives temporal_instants the one signature instants(tint), and temporal_sequences and temporal_segments likewise one each, so a binding generated from the public accessors reaches instants, sequences and segments over tint alone. Measured over MobilityDB master 8600f6905a and the installed headers of a libmeos built from it: the three accessors keep 20 signatures each, the first argument ranging over the 20 temporal types; with the @csqlfn tags of the MobilityDB branch fix/array-accessors-call-the-public-api, no other function keeps a signature of instants, sequences or segments, and the derived catalog differs from master's in these eight functions alone. The suite passes, 25 tests skipped as on master, tests/test_typescope.py stating the three over the generated catalog. Why: the accessors behind instants, sequences and segments are generic, so their scope is stated where MEOS states none, as the file states every other generic accessor.
estebanzimanyi
deleted the
catalog/array-accessors-serve-every-temporal-type
branch
October 4, 2026 22:20
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.
meta/type-scope.json declares temporal_instants, temporal_sequences and temporal_segments generic
over Temporal *, as it declares temporal_start_instant and temporal_end_instant, so each keeps the
signature of every temporal type its wrapper declares: instants, sequences and segments over the
20 temporal types. They take a const Temporal * and validate it for being present alone, so no
signal of MEOS states their scope, and the scope their parameter type gives is tint.
Witness: a catalog derived from MobilityDB master 8600f6905a gives temporal_instants the one
signature instants(tint), and temporal_sequences and temporal_segments likewise one each, so a
binding generated from the public accessors reaches instants, sequences and segments over tint
alone.
Measured over MobilityDB master 8600f6905a and the installed headers of a libmeos built from it:
the three accessors keep 20 signatures each, the first argument ranging over the 20 temporal
types; with the @csqlfn tags of the MobilityDB branch fix/array-accessors-call-the-public-api,
no other function keeps a signature of instants, sequences or segments, and the derived catalog
differs from master's in these eight functions alone. The suite passes, 25 tests skipped as on
master, tests/test_typescope.py stating the three over the generated catalog.
Why: the accessors behind instants, sequences and segments are generic, so their scope is stated
where MEOS states none, as the file states every other generic accessor.