Support the CARDINALITY() SQL function#4074
Merged
RobertBrunel merged 1 commit intoFoundationDB:mainfrom Apr 17, 2026
Merged
Conversation
afbf073 to
bf0a302
Compare
pengpeng-lu
reviewed
Apr 13, 2026
pengpeng-lu
reviewed
Apr 13, 2026
pengpeng-lu
reviewed
Apr 13, 2026
pengpeng-lu
requested changes
Apr 13, 2026
bf0a302 to
db8a420
Compare
db8a420 to
7c0e5e5
Compare
pengpeng-lu
approved these changes
Apr 17, 2026
Contributor
pengpeng-lu
left a comment
There was a problem hiding this comment.
Please address the Teamscale warnings before merge, rest looks good to me!
Introduce a SQL function CARDINALITY() to return the number of elements in an array. The return type is INTEGER (not LONG), which is aligned with the type of array subscripts. CARDINALITY() cannot yet be used in an index definition. Attempting to do so results in a `RelationalException` with the message "Unsupported index definition, not all fields can be mapped to key expression". Testing: * Integration tests in `arrays_cardinality.yamsql`. * Unit tests in `CardinalityValueTest.java`.
7c0e5e5 to
d1a2d19
Compare
📊 Metrics Diff Analysis ReportSummary
ℹ️ About this analysisThis automated analysis compares query planner metrics between the base branch and this PR. It categorizes changes into:
The last category in particular may indicate planner regressions that should be investigated. New QueriesCount of new queries by file:
|
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.
Introduce a SQL function CARDINALITY() to return the number of elements in an array. The return type is INTEGER (not LONG), which is aligned with the type of array subscripts.
CARDINALITY() cannot yet be used in an index definition. Attempting to do so results in a
RelationalExceptionwith the message "Unsupported index definition, not all fields can be mapped to key expression".Testing:
arrays_cardinality.yamsql.CardinalityValueTest.java.