release-20.2: sql: fix index out of range error in inverted filterer #63826
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.
Backport 1/1 commits from #63574.
/cc @cockroachdb/release
Prior to this commit, it was possible that the
SpansToRead
inan
inverted.SpanExpression
were a superset of the spans that wereneeded to evaluate the span expression. This could result in an index
out of range error in the
invertedFilterer
when a span from the inputdidn't exist in its list of needed spans. This commit fixes the
problem by ensuring that
SpansToRead
does not contain spans that arenot needed to evaluate the span expression.
Fixes #63180
Release note (bug fix): Fixed an internal error that could occur
when executing queries using an inverted index. The error was an index
out of range error, and could occur in rare cases when a filter or
join predicate contained at least two JSON, Array, Geometry or
Geography expressions that were combined with AND. This has now been
fixed.