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)

Reply via email to