feat(bindings): spans(<set_type>) — list of unit spans from a set#9
Merged
nhungoc1508 merged 1 commit intofeat/splitnspans-lowercase-aliasfrom Apr 27, 2026
Merged
Conversation
This was referenced Apr 25, 2026
Adds the set-level spans scalar for all five set types (intset/bigintset/floatset/dateset/tstzset), reading a Set and calling MEOS set_spans(s) + set_num_values(s) to build a LIST(<span_type>) result. SpanFunctions::Set_spans existed as a stub but was never registered and had wrong semantics (BinaryExecutor calling set_to_span returning a single Span, not a list). Replaces the body with a proper list-building implementation and registers spans(<set_type>) for each of the five set types. Activates the spans(intset ...) query in test/sql/parity/001_set.test.
eb736ab to
918ce88
Compare
52feed7 to
cdea92e
Compare
9337c20
into
feat/splitnspans-lowercase-alias
17 checks passed
This was referenced Apr 27, 2026
Member
Author
|
@nhungoc1508 — flagging a merge-target issue. This PR is marked MERGED, but the merge commit went into the stack-base branch, not
Net effect: this PR's contents never reached Re-landed in #44, which brings both commits forward as a clean linear history on top of For future stacked PRs: when a base PR (e.g. #7) is merged into main, the dependent PRs (#8, #9) should have their base updated to |
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.
Summary
Adds the set-level
spansscalar for all five set types (intset/bigintset/floatset/dateset/tstzset), mirroringSpansetFunctions::Spanset_spansbut reading aSetand calling the MEOS-sideset_spans(s)+set_num_values(s)pair.SpanFunctions::Set_spansalready existed as a stub insrc/temporal/span_functions.cppbut was never registered and had the wrong semantics — it was aBinaryExecutorcallingset_to_spanthat returned a singleSpan, not a list. Replaced with a proper list-building implementation and registeredspans(<set_type>)as aLIST(<span_type>)returner for each of the five set types.Parity file
Unwraps the
spans(intset ...)skip block — 1 query now active.Test plan
TZ=UTC ./build/release/test/unittest "<proj>/test/*"locally: 747 assertions pass across 13 test cases, no regressions.Dependencies
Stacked on top of the MEOS error handler / lowercase aliases chain. Merge order: #7 → #8 → this.
🤖 Generated with Claude Code