Skip to content

Read every name of a tag that lists several - #197

Merged
estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:parser/sqlfn-name-lists
Oct 17, 2026
Merged

estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:parser/sqlfn-name-lists

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

A doxygen block whose wrapper backs several SQL functions or aggregates lists them on one tag
line, @sqlfn mergeFinal(), tCountFinal(), tMinFinal() and @sqlaggfn merge(), tCount(), tMin(),
and the operators they carry the same way, @sqlop @p ->, @p ->> beside @sqlfn a(), b(). The
wrapper maps read every name of such a line: _mdb_to_agg gives the wrapper each aggregate it
names, and _mdb_to_sql gives it each SQL function with the operator of the same position.
_SQLFN, _SQLAGGFN and _SQLOP still find the tag; _tag_list reads its values.

Witness: Temporal_tagg_finalfn of MobilityDB carries @sqlaggfn merge(), tAnd(), tCount(), tMax(), tMin(), tOr(), tSum(), tdensity(), tnpoints(), wCount(), wMax(), wMin(), wSum(), and the catalog
stated sqlAgg = ["merge"] for temporal_tagg_finalfn, a binding reading it finding the member in
one aggregate of thirteen.

Measured: over MobilityDB branch sql/aggregate-combines the catalog differs from the one of master
(bb78d0a94) in one field of 14 functions, sqlAgg, each naming every aggregate its tag lists
(temporal_tagg_finalfn 13, taggstate_serialize and taggstate_deserialize 16,
temporal_tcount_combinefn 3, spanset_union_finalfn 2, ...); the aggregates section and every
sqlfn, which keeps the first name, are identical. Two tests in tests/test_sqlaggfn.py read a
listing @sqlaggfn/@sqlfn and a listing @sqlop; both fail on master's parser and pass here. The
suite runs 560 tests with the same 3 failures as master over the same catalog
(test_family and two of test_struct_layout, failing identically on master).

Why: a member shared by several aggregates states all of them, and a generator building an
aggregate from its roles reads sqlAgg to find them; the first name alone made every shared member
belong to one aggregate. The operator of the second listed name reaches the catalog by its position,
as the tag writes it.

A doxygen block whose wrapper backs several SQL functions or aggregates lists them on one tag
line, `@sqlfn mergeFinal(), tCountFinal(), tMinFinal()` and `@sqlaggfn merge(), tCount(), tMin()`,
and the operators they carry the same way, `@sqlop @p ->, @p ->>` beside `@sqlfn a(), b()`. The
wrapper maps read every name of such a line: `_mdb_to_agg` gives the wrapper each aggregate it
names, and `_mdb_to_sql` gives it each SQL function with the operator of the same position.
`_SQLFN`, `_SQLAGGFN` and `_SQLOP` still find the tag; `_tag_list` reads its values.

Witness: `Temporal_tagg_finalfn` of MobilityDB carries `@sqlaggfn merge(), tAnd(), tCount(), tMax(),
tMin(), tOr(), tSum(), tdensity(), tnpoints(), wCount(), wMax(), wMin(), wSum()`, and the catalog
stated `sqlAgg = ["merge"]` for `temporal_tagg_finalfn`, a binding reading it finding the member in
one aggregate of thirteen.

Measured: over MobilityDB branch `sql/aggregate-combines` the catalog differs from the one of master
(`bb78d0a94`) in one field of 14 functions, `sqlAgg`, each naming every aggregate its tag lists
(`temporal_tagg_finalfn` 13, `taggstate_serialize` and `taggstate_deserialize` 16,
`temporal_tcount_combinefn` 3, `spanset_union_finalfn` 2, ...); the aggregates section and every
`sqlfn`, which keeps the first name, are identical. Two tests in `tests/test_sqlaggfn.py` read a
listing `@sqlaggfn`/`@sqlfn` and a listing `@sqlop`; both fail on master's parser and pass here. The
suite runs 560 tests with the same 3 failures as master over the same catalog
(`test_family` and two of `test_struct_layout`, failing identically on master).

Why: a member shared by several aggregates states all of them, and a generator building an
aggregate from its roles reads `sqlAgg` to find them; the first name alone made every shared member
belong to one aggregate. The operator of the second listed name reaches the catalog by its position,
as the tag writes it.
@estebanzimanyi
estebanzimanyi merged commit 068f4bf into MobilityDB:master Oct 17, 2026
3 checks passed
@estebanzimanyi
estebanzimanyi deleted the parser/sqlfn-name-lists branch October 17, 2026 14:06
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