[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

EXPAND property: All instances?




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: Bruce_Kahn@xxxxxxxxxxxxxxxx
Messaging & Collaboration                 Phone: 978.399.6496
IBM Software Group                         FAX: and nothing but the FAX...
Standard disclaimers apply, even where prohibited by law...