Ticket #614 (defect)
Opened 3 years ago
Last modified 3 years ago
More query filter work
Status: new
| Reported by: | douglm | Assigned to: | douglm |
|---|---|---|---|
| Priority: | major | Milestone: | Bedework 3.6 |
| Component: | core | Version: | |
| Keywords: | Cc: | ||
The query
<C:calendar-query xmlns:D="DAV:"
xmlns:C="urn:ietf:params:xml:ns:caldav">
<D:prop>
<D:getetag/>
<C:calendar-data>
<C:comp name="VCALENDAR">
<!-- <C:allprop/> -->
<C:comp name="VEVENT">
<C:prop name="UID"/>
<C:prop name="DTSTART"/>
<C:prop name="DTEND"/>
<C:prop name="DURATION"/>
<C:prop name="EXDATE"/> <!-- breaks -->
<C:prop name="EXRULE"/>
<C:prop name="RDATE"/> <!-- breaks -->
<C:prop name="RRULE"/>
<!-- <C:prop name="LOCATION"/> This breaks the query -->
<C:prop name="SUMMARY"/>
</C:comp>
<C:comp name="VTIMEZONE">
</C:comp>
</C:comp>
</C:calendar-data>
</D:prop>
<C:filter>
<C:comp-filter name="VCALENDAR">
<C:comp-filter name="VEVENT">
<C:time-range start="@NOW@"
end="@NEXTWEEK@"/>
</C:comp-filter>
</C:comp-filter>
</C:filter>
</C:calendar-query>
fails for a number of reasons.
The location is an inner join (not a collection) so missing location causes nothing to be returned.
The exdates break it completely when absent. hibernate compains that the columns are missing (shouldn't they be null)?
In any case more than one collection per query leads to huge results. Should prescan the requested properties and if more than one collection just fetch the whole lot and post-filter what we return.
We may not e post-filtering it - do so. We already retrieve more than requested - for example we have to get access.
Change History
09/06/10 22:44:24: Modified by douglm
- milestone changed from Bedework 3.7 to Bedework 3.6.
09/06/10 22:44:37: Modified by douglm
- component changed from unclassified to core.
