Subject: EXPAND property: All instances?

From: [email-masked]
Date: Fri, 31 Oct 2003 14:56:33 -0500

I have a simple question regarding the EXPAND property.  In CAP-12-e it is 
described as:

   Description: If a CUA wishes to see all of the instances of a
   recurring component the CUA sets EXPAND=TRUE in the "VQUERY"
   component. If not specified, the default is FALSE. Note that if the
   CS has its "RECUR-EXPAND" CS property value set to false then the
   "EXPAND" property will be ignored and the result will be as if the
   "EXPAND" value was set to false.

My question is simply this:  Is the CS supposed to return literally all 
instances of a repeating entry even if they fall outside the bounds of the 
parameters in the VQUERY?

That is if I use:

   BEGIN:VQUERY
   EXPAND:TRUE
   QUERY:SELECT * FROM VEVENT
   WHERE DTEND >= '20031031T000000Z'
   AND DTSTART <= '20031031T235959Z'
   AND STATE() = 'BOOKED'
   END:VQUERY

to see my calendar for today, would the CS literally return data that  had 
a DTSTART of tomorrow or next week and even last week?  It seems to me 
that this violates the constraints of the WHERE searching since those 
instances do NOT match the WHERE selection criteria. 

It seems to me that if I wanted ALL (or a particular bunch of) instances 
of a repeating entry there would be more appropriate ways to get it.  That 
is, if I wanted to find all instances of a repeating meeting (I can tell 
its repeating by the fact it has a RECURRENCE-ID property) then I would 
simply use:

   BEGIN:VQUERY
   QUERY:SELECT * FROM VEVENT
   WHERE UID = 'FrodoFailed'
   AND STATE() = 'BOOKED'
   END:VQUERY

and I should get back all instances then and nothing would violate the 
WHERE search criteria.  If I wanted to find just instances that occur this 
month then Id use something like:

   BEGIN:VQUERY
   QUERY:SELECT * FROM VEVENT
   WHERE RECURRENCE-ID >= '20031001T000000Z'
   AND RECURRENCE-ID <= '20031031T235959Z'
   AND STATE() = 'BOOKED'
   END:VQUERY

and the CS would return only those instances for this past month.

Can someone please explain the benefit of using EXPAND:TRUE to violate the 
WHERE search criteria (or am I just misreading it)??

Bruce
===========================================================================
Bruce Kahn                                INet: 
[email-masked]
Messaging & Collaboration                 Phone: 978.399.6496
IBM Software Group                         FAX: and nothing but the FAX...
Standard disclaimers apply, even where prohibited by law...