Repository navigation
Read every name of a tag that lists several - #197
Merged
estebanzimanyi merged 1 commit intoOct 17, 2026
Merged
Conversation
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.
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 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(). Thewrapper maps read every name of such a line:
_mdb_to_agggives the wrapper each aggregate itnames, and
_mdb_to_sqlgives it each SQL function with the operator of the same position._SQLFN,_SQLAGGFNand_SQLOPstill find the tag;_tag_listreads its values.Witness:
Temporal_tagg_finalfnof MobilityDB carries@sqlaggfn merge(), tAnd(), tCount(), tMax(), tMin(), tOr(), tSum(), tdensity(), tnpoints(), wCount(), wMax(), wMin(), wSum(), and the catalogstated
sqlAgg = ["merge"]fortemporal_tagg_finalfn, a binding reading it finding the member inone aggregate of thirteen.
Measured: over MobilityDB branch
sql/aggregate-combinesthe catalog differs from the one of master(
bb78d0a94) in one field of 14 functions,sqlAgg, each naming every aggregate its tag lists(
temporal_tagg_finalfn13,taggstate_serializeandtaggstate_deserialize16,temporal_tcount_combinefn3,spanset_union_finalfn2, ...); the aggregates section and everysqlfn, which keeps the first name, are identical. Two tests intests/test_sqlaggfn.pyread alisting
@sqlaggfn/@sqlfnand a listing@sqlop; both fail on master's parser and pass here. Thesuite runs 560 tests with the same 3 failures as master over the same catalog
(
test_familyand two oftest_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
sqlAggto find them; the first name alone made every shared memberbelong to one aggregate. The operator of the second listed name reaches the catalog by its position,
as the tag writes it.