Skip to content

Declare the scope of the tbigint arm of the tnumber/tbox nearest approach - #84

Merged
estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:fix/declare-nad-tbigint-tbox-scope
Aug 15, 2026
Merged

Declare the scope of the tbigint arm of the tnumber/tbox nearest approach#84
estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:fix/declare-nad-tbigint-tbox-scope

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

Deriving the catalog from current MobilityDB master stops with

ValueError: type scope underivable for 1 function(s); state each in
meta/type-scope.json: nad_tbigint_tbox

so no binding can regenerate until it is answered.

nad_tint_tbox, nad_tbigint_tbox and nad_tfloat_tbox all back the one
wrapper NAD_tnumber_tbox and all take a generic const Temporal *, and each
validates with ensure_valid_tnumber_numspan — a predicate for the whole
number class. Nothing in MEOS says which of the wrapper's three overloads each
arm serves, which is why the int and float arms are already declared here. The
big-integer arm is new and arrived without one, so require_scopes stops rather
than take the union or nothing.

Declared beside its two siblings, with their wording.

Measured

Deriving from MobilityDB d4d119c034:

  • before: generation fails on nad_tbigint_tbox
  • after: 5543 functions, and nad_tbigint_tbox carries exactly its own overload
    nearestApproachDistance(tbigint, tbox) — where nad_tint_tbox keeps
    (tint, tbox) and nad_tfloat_tbox keeps (tfloat, tbox)

Suite: 214 passed, 15 skipped. The two failures in test_family and
test_struct_layout are pre-existing and unrelated — they reproduce on a
catalog generated by master's parser from the same MobilityDB commit, and come
from parsing source-tree headers, whose PostgreSQL stubs degrade struct field
offsets to -1; a --build-libmeos catalog does not have them, which is why CI
is green on them.

…oach

`nad_tint_tbox`, `nad_tbigint_tbox` and `nad_tfloat_tbox` share the wrapper
`NAD_tnumber_tbox` and take a generic `const Temporal *`, so which of its three
overloads each one serves cannot be read from MEOS: they all call the same
`ensure_valid_tnumber_numspan`, which states the whole class. The int and float
arms are declared for that reason; the big-integer arm arrived without one, so
generation stops on it rather than guess.

Declare it beside its two siblings. Deriving from MobilityDB d4d119c034 now
completes, and `nad_tbigint_tbox` carries its own overload,
`nearestApproachDistance(tbigint, tbox)`.
@estebanzimanyi
estebanzimanyi merged commit 90b9899 into MobilityDB:master Aug 15, 2026
2 checks passed
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