Register the shorter call of a function whose third argument has a default - #419
Merged
estebanzimanyi merged 1 commit intoSep 28, 2026
Conversation
…fault
A MEOS function taking a temporal and two scalars, whose last argument
MobilityDB declares with a default, is registered one argument shorter too:
emit_defaulted_ternary is the body of emit_body_ternary with the default
substituted, over a BinaryExecutor, as emit_defaulted_unary_temporal is the
shorter call of a binary function. The default reaches the kernel as the
argument it stands for does: a by-value scalar as its literal, a text argument
through the marshalling its column takes, so the 'raise_exception' of the
tjsonb conversions is read by null_handle_type_from_string.
Witness. `tint(TJSONB('{"a":1}@2000-01-01'), 'a')` and
`deleteTime(tint '[1@2001-01-01, 2@2001-01-02, 3@2001-01-03]', timestamptz
'2001-01-02')` answer what the full calls answer with 'raise_exception' and
true, where no function matched the shorter tjsonb call; tint.test and
027_tjsonb.test gain the queries.
Measured. Regenerated against the catalog at the recorded MEOS commit
9c886635ef, the surface holds the 1870 bodies it held, unchanged, and 11 more:
the shorter afterTimestamp, beforeTimestamp and deleteTime over every temporal
type, douglasPeuckerSimplify, maxDistSimplify and the three tjsonb conversions,
72 registrations in all, none removed. The 107 test files pass, 3053
assertions. Against the catalog of MobilityDB master 1dfb8d63c1 the same change
registers tquadbin(tgeompoint, integer), whose borderInc argument defaults to
true, and raquet.test passes there, the one test the surface refresh fails.
Why. A call MobilityDB accepts is a call the binding accepts, and the refresh
to the current MEOS commit reads tquadbin(tgeompoint, 11) in raquet.test.
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 MEOS function taking a temporal and two scalars, whose last argument
MobilityDB declares with a default, is registered one argument shorter too:
emit_defaulted_ternary is the body of emit_body_ternary with the default
substituted, over a BinaryExecutor, as emit_defaulted_unary_temporal is the
shorter call of a binary function. The default reaches the kernel as the
argument it stands for does: a by-value scalar as its literal, a text argument
through the marshalling its column takes, so the 'raise_exception' of the
tjsonb conversions is read by null_handle_type_from_string.
Witness.
tint(TJSONB('{"a":1}@2000-01-01'), 'a')anddeleteTime(tint '[1@2001-01-01, 2@2001-01-02, 3@2001-01-03]', timestamptz '2001-01-02')answer what the full calls answer with 'raise_exception' andtrue, where no function matched the shorter tjsonb call; tint.test and
027_tjsonb.test gain the queries.
Measured. Regenerated against the catalog at the recorded MEOS commit
9c886635ef, the surface holds the 1870 bodies it held, unchanged, and 11 more:
the shorter afterTimestamp, beforeTimestamp and deleteTime over every temporal
type, douglasPeuckerSimplify, maxDistSimplify and the three tjsonb conversions,
72 registrations in all, none removed. The 107 test files pass, 3053
assertions. Against the catalog of MobilityDB master 1dfb8d63c1 the same change
registers tquadbin(tgeompoint, integer), whose borderInc argument defaults to
true, and raquet.test passes there, the one test the surface refresh fails.
Why. A call MobilityDB accepts is a call the binding accepts, and the refresh
to the current MEOS commit reads tquadbin(tgeompoint, 11) in raquet.test.