Repository navigation
Advance the MEOS commit and regenerate the UDF surface - #494
Merged
Merged
Conversation
estebanzimanyi
force-pushed
the
tooling/refresh-generated-surface
branch
from
October 24, 2026 11:53
2bb3f70 to
461c8fb
Compare
The functions of a temporal JSON value, each the computation of one operation since MobilityDB #3153, are generated from the catalog: the group meos_json_json is retired. At the MobilityDB commit this branch pins, tjsonbObjectField, tjsonbPathExists, tjsonbPathMatch, tjsonbPathQueryArray and tjsonbPathQueryFirst reached no shape, shape_bound_tail reading only a function of four or more parameters whose whole shape binds a literal, and test/sql/parity/027_tjsonb.test failed on tjsonbObjectField.
shape_sig_call places them on their C parameters as the catalog states:
- a SQL text fills a const text * through MakeText, as base_operand reads a text base value;
- a pointer is filled by the SQL type its own DuckDB type is named after, jsonpath for JsonPath;
- the default order of the C parameters leaves out those the signature binds to a literal, tz of tjsonbPathExists and tjsonbPathExistsTz, one C function under two names.
project_signature_forms checks every form of a function before it records any: a form it left in FN_BY_NAME while answering the function itself, as for tjsonbPathExists, whose jsonb default '{}' no literal forwards, claimed the signature the function keeps, and a signature two public functions claim registers nothing. The ten forwarding wrappers such abandoned forms left in the preamble, none of them called (tgeo_space_boxes_bitmatrix_border_inc and its siblings), leave it. A temporal pair registers under the name its signature declares, as #container_scalar_sigs reads it: contains_tjsonb_tjsonb answers tjsonbContains(tjsonb, tjsonb) and, its operands swapped, tjsonbContained(tjsonb, tjsonb), which takes that name alone and not the operator @> of the name it computes. A binary kernel declared over a type in the commuted order alone registers that order only: the form of concat_tjsonb_jsonb binding invert to INVERT answers tConcat(jsonb, tjsonb), not tConcat(tjsonb, jsonb), the other form's. tjsonbSet and tjsonbSetLax stay in RETIRE_UNCOVERED_OK: tjsonb_set reads its keys as a text ** and a count no marshalling fills, and tjsonbSet binds no literal for handle_null; neither registers before this change.
Measured: over the catalog of MobilityDB 3c25b6966f the registrations go up by 49 and none is lost: tjsonbObjectField, tjsonbObjectFieldText and tjsonObjectField with and without their mode, the eight path functions with and without their silent flag, ->>(tjsonb, text), tjsonbContains and tjsonbContained over a jsonb and a temporal value in both orders and tjsonbContained(tjsonb, tjsonb), tConcat, || and @> with the jsonb on either side, tfloat, tgeompoint and tgeogpoint over a tjsonb and a key, tjsonArrayElement, tjsonArrayLength, tjsonExtractPath and tjsonStripNulls. No (name, argument types) pair is registered twice beyond those registered twice before. A second run reproduces src/generated byte for byte. 027_tjsonb.test reads the path functions without their silent flag and through their Tz twins, the key functions without their mode, ->>, both orders of tjsonbContained and tjsonbContains, and the concatenation with the jsonb first.
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 committed
src/generated/drifted from a fresh derivation againstMobilityDB/MobilityDB master; this regenerates it and moves
_MEOS_REFinvcpkg_ports/meos/portfile.cmaketo the commit it isderived from, so libmeos and the surface stay one commit.
Opened by the
Refresh generated surface from MobilityDB masterworkflow.