Skip to content

Name every function by a SQL name it deploys - #169

Merged
estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:catalog/deployed-sqlfn
Oct 3, 2026
Merged

estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:catalog/deployed-sqlfn

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

state_deployed_sqlfn sets a function's sqlfn to the name of its first signature when its
signatures carry several names and none is its tag, and the signature carrying that name
drops the sqlName that restates it; the first signature is the tagged wrapper's, as
attach_sqlfn_map lists them. A function one of whose signatures carries its tag keeps it, as
before. test_sqlfn_deployed.py states the case, its catalog check asks of every function
that one of its signatures carries its sqlfn, and its adjacency check reads the
class-prefixed name tboxAdjacent MobilityDB gives the operator function.

Witness: since MobilityDB deploys the FromText readers beside the type inputs, floatset_in
carries the signatures floatset_in and floatsetFromText under Set_in, tagged intset_in(), so
its sqlfn read intset_in, a sibling's name, and so did 61 other functions (tfloat_in read
tint_in, temporal_tagg_finalfn tCount, tpointseq_from_base_tstzset tint). The pytest
workflow failed on master's catalog: test_per_type_functions_carry_their_own_name on
floatset_in, and test_backing_tags_keep_their_family_name on adjacent_tbox_tnumber, whose
sqlfn MobilityDB 762b3501cc renamed to tboxAdjacent.

Why: a binding names a function by its sqlfn, so these 62 were offered under a name that
answers another type.

Measured: over MobilityDB 985fdb26b7 the catalog changes the sqlfn of those 62 functions
and nothing else; pytest tests/ answers 459 passed and 11 skipped with MDB_SRC_ROOT set,
where master answers 2 failed.

state_deployed_sqlfn sets a function's sqlfn to the name of its first signature when its
signatures carry several names and none is its tag, and the signature carrying that name
drops the sqlName that restates it; the first signature is the tagged wrapper's, as
attach_sqlfn_map lists them. A function one of whose signatures carries its tag keeps it, as
before. test_sqlfn_deployed.py states the case, its catalog check asks of every function
that one of its signatures carries its sqlfn, and its adjacency check reads the
class-prefixed name tboxAdjacent MobilityDB gives the operator function.

Witness: since MobilityDB deploys the FromText readers beside the type inputs, floatset_in
carries the signatures floatset_in and floatsetFromText under Set_in, tagged intset_in(), so
its sqlfn read intset_in, a sibling's name, and so did 61 other functions (tfloat_in read
tint_in, temporal_tagg_finalfn tCount, tpointseq_from_base_tstzset tint). The pytest
workflow failed on master's catalog: test_per_type_functions_carry_their_own_name on
floatset_in, and test_backing_tags_keep_their_family_name on adjacent_tbox_tnumber, whose
sqlfn MobilityDB 762b3501cc renamed to tboxAdjacent.

Why: a binding names a function by its sqlfn, so these 62 were offered under a name that
answers another type.

Measured: over MobilityDB 985fdb26b7 the catalog changes the sqlfn of those 62 functions
and nothing else; pytest tests/ answers 459 passed and 11 skipped with MDB_SRC_ROOT set,
where master answers 2 failed.
@estebanzimanyi
estebanzimanyi merged commit 089bd10 into MobilityDB:master Oct 3, 2026
3 checks passed
@estebanzimanyi
estebanzimanyi deleted the catalog/deployed-sqlfn branch October 3, 2026 13:03
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