State the SQL surface a family-naming tag hides - #116
Merged
estebanzimanyi merged 1 commit intoSep 2, 2026
Merged
Conversation
The CREATE FUNCTION statements are what the extension deploys, so when an unshared wrapper's signatures all carry one SQL name, that name is the function's SQL surface whatever its @sqlfn tag spells. Comparing each signature against the tag alone drops every one of them where the two disagree, leaving an arity for a surface the catalog cannot state. Two kinds of tag disagree with the name beside them. The five topological bounding-box tags name a family rather than a function: MobilityDB exposes Adjacent_temporal_tstzspan as adjacent and tags it adjacent_bbox, the suffix separating contains from contains_rid in the tag namespace, and tools/scripts/check_sqlfn_names.py keeps that spelling deliberately. A laggard tag names what a function is to become rather than what it is, as contains does over the deployed cbuffer_contains. Seventy-two functions carry their signatures as a result, seventy of them the bounding-box backings, and each entry names the SQL function it registers. The five operators reach their operand pairing without a consumer inferring it: adjacent_temporal_tstzspan states its twenty adjacent(T, tstzspan) overloads rather than an arity of two. Nothing is lost or altered — no function's signatures change and none are withdrawn — and the 501 signatures added collide with no registration the catalog already carries.
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.
The CREATE FUNCTION statements are what the extension deploys, so when an
unshared wrapper's signatures all carry one SQL name, that name is the
function's SQL surface whatever its @sqlfn tag spells. Comparing each
signature against the tag alone drops every one of them where the two
disagree, leaving an arity for a surface the catalog cannot state.
Two kinds of tag disagree with the name beside them. The five topological
bounding-box tags name a family rather than a function: MobilityDB exposes
Adjacent_temporal_tstzspan as adjacent and tags it adjacent_bbox, the suffix
separating contains from contains_rid in the tag namespace, and
tools/scripts/check_sqlfn_names.py keeps that spelling deliberately. A
laggard tag names what a function is to become rather than what it is, as
contains does over the deployed cbuffer_contains.
Seventy-two functions carry their signatures as a result, seventy of them
the bounding-box backings, and each entry names the SQL function it
registers. The five operators reach their operand pairing without a
consumer inferring it: adjacent_temporal_tstzspan states its twenty
adjacent(T, tstzspan) overloads rather than an arity of two.
Nothing is lost or altered — no function's signatures change and none are
withdrawn — and the 501 signatures added collide with no registration the
catalog already carries.