Details
Description
See CBSE-5634.
When a query has unnest, and unnest predicates has an OR clause with subterms corresponds to different indexes, in spock the planner uses an union scan, but in vulcan a primary scan is used.
Here is a simplified repro:
CREATE INDEX iax1 ON default(DISTINCT ARRAY v.x FOR v IN a1 END); |
CREATE INDEX iax2 ON default(DISTINCT ARRAY v.y FOR v IN a1 END); |
SELECT 1 AS a FROM default AS d UNNEST d.a1 AS v WHERE v.x = 10 OR v.y = 20; |
Attachments
Issue Links
- is triggering
-
MB-38105 Spans Includes self reference from same keyspace of UNNEST
- Closed
For Gerrit Dashboard: MB-30970 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
98521,2 | MB-30970 Unnest scan does not choose union scan when unnest predicate has OR clause | master | query | Status: MERGED | +2 | +1 |
98543,2 | MB-30970 Add test case for using different indexes for OR clause | master | query | Status: MERGED | +2 | +1 |
98600,2 | MB-30970 Unnest scan does not choose union scan when unnest predicate has OR clause | alice | query | Status: MERGED | +2 | +1 |