Skip to content

Declare instants, sequences and segments generic over every temporal type - #176

Merged
estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:catalog/array-accessors-serve-every-temporal-type
Oct 4, 2026
Merged

estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:catalog/array-accessors-serve-every-temporal-type

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

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.

…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
estebanzimanyi merged commit 1ef2fdb into MobilityDB:master Oct 4, 2026
3 checks passed
@estebanzimanyi
estebanzimanyi deleted the catalog/array-accessors-serve-every-temporal-type branch October 4, 2026 22:20
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