Glenn Galvizo created ASTERIXDB-2834:
----------------------------------------
Summary: Recognize Applicable Nested Universal Quantification
Queries for Array Indexes
Key: ASTERIXDB-2834
URL: https://issues.apache.org/jira/browse/ASTERIXDB-2834
Project: Apache AsterixDB
Issue Type: New Feature
Components: IDX - Indexes
Reporter: Glenn Galvizo
Currently users can utilize array indexes w/ array depth > 1 for only
existential quantification and explicit unnest queries, but not for universal
quantification clauses that aren't at the top-level.
For example, the query below is optimized because the universal quantification
is the outermost quantification:
{code:java}
SELECT C.business_id
FROM YelpCheckin C
WHERE LEN(C.checkin_times) > 0 AND
(EVERY CT IN C.checkin_times
SATISFIES (
SOME D IN CT.dates
SATISFIES "2019-06-07" = D
));
{code}
But if we switch the "EVERY" and "SOME", then the query is not optimized (even
though we can). Here, the universal quantification is on an array that isn't at
the "top-level".
{code:java}
SELECT C.business_id
FROM YelpCheckin C
WHERE LEN(C.checkin_times) > 0 AND
(SOME CT IN C.checkin_times
SATISFIES (
EVERY D IN CT.dates
SATISFIES "2019-06-07" = D
));
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)