mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-05-22 02:04:19 +00:00
Performance improvement and resultant reordering of freebusy query results.
This commit is contained in:
parent
85ca442c59
commit
569021aa2a
@ -33,7 +33,8 @@ $busy_tentative = array();
|
|||||||
$sql = "SELECT caldav_data.caldav_data, calendar_item.rrule, calendar_item.transp, calendar_item.status, ";
|
$sql = "SELECT caldav_data.caldav_data, calendar_item.rrule, calendar_item.transp, calendar_item.status, ";
|
||||||
$sql .= "to_char(calendar_item.dtstart at time zone 'GMT',".iCalendar::SqlDateFormat().") AS start, ";
|
$sql .= "to_char(calendar_item.dtstart at time zone 'GMT',".iCalendar::SqlDateFormat().") AS start, ";
|
||||||
$sql .= "to_char(calendar_item.dtend at time zone 'GMT',".iCalendar::SqlDateFormat().") AS finish ";
|
$sql .= "to_char(calendar_item.dtend at time zone 'GMT',".iCalendar::SqlDateFormat().") AS finish ";
|
||||||
$sql .= "FROM caldav_data INNER JOIN calendar_item USING(user_no, dav_name)".$where." ORDER BY dtstart, dtend";
|
$sql .= "FROM caldav_data INNER JOIN calendar_item USING(dav_id,user_no,dav_name)".$where;
|
||||||
|
if ( isset($c->strict_result_ordering) && $c->strict_result_ordering ) $sql .= " ORDER BY dav_id";
|
||||||
$qry = new PgQuery( $sql, "^".$request->path.$request->DepthRegexTail() );
|
$qry = new PgQuery( $sql, "^".$request->path.$request->DepthRegexTail() );
|
||||||
if ( $qry->Exec("REPORT",__LINE__,__FILE__) && $qry->rows > 0 ) {
|
if ( $qry->Exec("REPORT",__LINE__,__FILE__) && $qry->rows > 0 ) {
|
||||||
while( $calendar_object = $qry->Fetch() ) {
|
while( $calendar_object = $qry->Fetch() ) {
|
||||||
|
|||||||
@ -12,6 +12,7 @@ DTSTAMP:yyyymmddThhmmssZ
|
|||||||
DTSTART:20061004T140000Z
|
DTSTART:20061004T140000Z
|
||||||
DTEND:20070105T220000Z
|
DTEND:20070105T220000Z
|
||||||
FREEBUSY;FBTYPE=BUSY-TENTATIVE:20061223T060000/20061223T080000
|
FREEBUSY;FBTYPE=BUSY-TENTATIVE:20061223T060000/20061223T080000
|
||||||
|
FREEBUSY:20061101T233000/20061102T003000
|
||||||
FREEBUSY:20061031T210000/20061031T220000
|
FREEBUSY:20061031T210000/20061031T220000
|
||||||
FREEBUSY:20061102T210000/20061102T220000
|
FREEBUSY:20061102T210000/20061102T220000
|
||||||
FREEBUSY:20061109T210000/20061109T220000
|
FREEBUSY:20061109T210000/20061109T220000
|
||||||
@ -23,16 +24,15 @@ FREEBUSY:20061214T210000/20061214T220000
|
|||||||
FREEBUSY:20061221T210000/20061221T220000
|
FREEBUSY:20061221T210000/20061221T220000
|
||||||
FREEBUSY:20061228T210000/20061228T220000
|
FREEBUSY:20061228T210000/20061228T220000
|
||||||
FREEBUSY:20070104T210000/20070104T220000
|
FREEBUSY:20070104T210000/20070104T220000
|
||||||
FREEBUSY:20061101T233000/20061102T003000
|
FREEBUSY:20061223T030000/20061223T050000
|
||||||
FREEBUSY:20061102T183000/20061102T203000
|
FREEBUSY:20061223T000000/20061223T020000
|
||||||
FREEBUSY:20061202T183000/20061202T203000
|
|
||||||
FREEBUSY:20070102T183000/20070102T203000
|
|
||||||
FREEBUSY:20061103T030000/20061103T044500
|
FREEBUSY:20061103T030000/20061103T044500
|
||||||
FREEBUSY:20061117T030000/20061117T044500
|
FREEBUSY:20061117T030000/20061117T044500
|
||||||
FREEBUSY:20061201T030000/20061201T044500
|
FREEBUSY:20061201T030000/20061201T044500
|
||||||
FREEBUSY:20061215T030000/20061215T044500
|
FREEBUSY:20061215T030000/20061215T044500
|
||||||
FREEBUSY:20061229T030000/20061229T044500
|
FREEBUSY:20061229T030000/20061229T044500
|
||||||
FREEBUSY:20061223T000000/20061223T020000
|
FREEBUSY:20061102T183000/20061102T203000
|
||||||
FREEBUSY:20061223T030000/20061223T050000
|
FREEBUSY:20061202T183000/20061202T203000
|
||||||
|
FREEBUSY:20070102T183000/20070102T203000
|
||||||
END:VFREEBUSY
|
END:VFREEBUSY
|
||||||
END:VCALENDAR
|
END:VCALENDAR
|
||||||
|
|||||||
@ -12,6 +12,7 @@ DTSTAMP:yyyymmddThhmmssZ
|
|||||||
DTSTART:20061001T000000Z
|
DTSTART:20061001T000000Z
|
||||||
DTEND:20070630T235959Z
|
DTEND:20070630T235959Z
|
||||||
FREEBUSY;FBTYPE=BUSY-TENTATIVE:20061223T060000/20061223T080000
|
FREEBUSY;FBTYPE=BUSY-TENTATIVE:20061223T060000/20061223T080000
|
||||||
|
FREEBUSY:20061101T233000/20061102T003000
|
||||||
FREEBUSY:20061031T210000/20061031T220000
|
FREEBUSY:20061031T210000/20061031T220000
|
||||||
FREEBUSY:20061102T210000/20061102T220000
|
FREEBUSY:20061102T210000/20061102T220000
|
||||||
FREEBUSY:20061109T210000/20061109T220000
|
FREEBUSY:20061109T210000/20061109T220000
|
||||||
@ -39,15 +40,7 @@ FREEBUSY:20070405T210000/20070405T220000
|
|||||||
FREEBUSY:20070412T210000/20070412T220000
|
FREEBUSY:20070412T210000/20070412T220000
|
||||||
FREEBUSY:20070419T210000/20070419T220000
|
FREEBUSY:20070419T210000/20070419T220000
|
||||||
FREEBUSY:20070426T210000/20070426T220000
|
FREEBUSY:20070426T210000/20070426T220000
|
||||||
FREEBUSY:20061101T233000/20061102T003000
|
FREEBUSY:20061223T030000/20061223T050000
|
||||||
FREEBUSY:20061102T183000/20061102T203000
|
|
||||||
FREEBUSY:20061202T183000/20061202T203000
|
|
||||||
FREEBUSY:20070102T183000/20070102T203000
|
|
||||||
FREEBUSY:20070202T183000/20070202T203000
|
|
||||||
FREEBUSY:20070302T183000/20070302T203000
|
|
||||||
FREEBUSY:20070402T183000/20070402T203000
|
|
||||||
FREEBUSY:20070502T183000/20070502T203000
|
|
||||||
FREEBUSY:20070602T183000/20070602T203000
|
|
||||||
FREEBUSY:20061103T030000/20061103T044500
|
FREEBUSY:20061103T030000/20061103T044500
|
||||||
FREEBUSY:20061117T030000/20061117T044500
|
FREEBUSY:20061117T030000/20061117T044500
|
||||||
FREEBUSY:20061201T030000/20061201T044500
|
FREEBUSY:20061201T030000/20061201T044500
|
||||||
@ -66,6 +59,13 @@ FREEBUSY:20070518T030000/20070518T044500
|
|||||||
FREEBUSY:20070601T030000/20070601T044500
|
FREEBUSY:20070601T030000/20070601T044500
|
||||||
FREEBUSY:20070615T030000/20070615T044500
|
FREEBUSY:20070615T030000/20070615T044500
|
||||||
FREEBUSY:20070629T030000/20070629T044500
|
FREEBUSY:20070629T030000/20070629T044500
|
||||||
FREEBUSY:20061223T030000/20061223T050000
|
FREEBUSY:20061102T183000/20061102T203000
|
||||||
|
FREEBUSY:20061202T183000/20061202T203000
|
||||||
|
FREEBUSY:20070102T183000/20070102T203000
|
||||||
|
FREEBUSY:20070202T183000/20070202T203000
|
||||||
|
FREEBUSY:20070302T183000/20070302T203000
|
||||||
|
FREEBUSY:20070402T183000/20070402T203000
|
||||||
|
FREEBUSY:20070502T183000/20070502T203000
|
||||||
|
FREEBUSY:20070602T183000/20070602T203000
|
||||||
END:VFREEBUSY
|
END:VFREEBUSY
|
||||||
END:VCALENDAR
|
END:VCALENDAR
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user