mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-02-14 03:34:38 +00:00
Performance fixes to freebusy and results ordering change.
This commit is contained in:
parent
3b0b31df18
commit
bae86da4f7
@ -19,7 +19,6 @@ else {
|
||||
$finish = date( "Ymd\THis", time() + (86400 * 200) );
|
||||
}
|
||||
|
||||
|
||||
if ( isset($request->by_email) ) {
|
||||
$where = "WHERE caldav_data.user_no = $request->user_no ";
|
||||
}
|
||||
@ -31,14 +30,17 @@ $where .= "AND dtstart <= '$finish'::timestamp with time zone ";
|
||||
$where .= "AND caldav_data.caldav_type IN ( 'VEVENT', 'VFREEBUSY' ) ";
|
||||
$where .= "AND (calendar_item.transp != 'TRANSPARENT' OR calendar_item.transp IS NULL) ";
|
||||
$where .= "AND (calendar_item.status != 'CANCELLED' OR calendar_item.status IS NULL) ";
|
||||
$where .= "AND (calendar_item.class != 'PRIVATE' OR calendar_item.class IS NULL OR get_permissions($session->user_no,caldav_data.user_no) ~ 'A') "; // Must have 'all' permissions to see confidential items
|
||||
if ( ! $request->AllowedTo('all') ) {
|
||||
$where .= "AND (calendar_item.class != 'PRIVATE' OR calendar_item.class IS NULL) ";
|
||||
}
|
||||
|
||||
$busy = array();
|
||||
$busy_tentative = array();
|
||||
$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.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";
|
||||
// echo $sql. "\n";
|
||||
$qry = new PgQuery( $sql );
|
||||
if ( $qry->Exec("freebusy",__LINE__,__FILE__) && $qry->rows > 0 ) {
|
||||
|
||||
@ -11,6 +11,7 @@ DTSTAMP:yyyymmddThhmmssZ
|
||||
DTSTART:yyyymmddThhmmss
|
||||
DTEND:yyyymmddThhmmss
|
||||
FREEBUSY;FBTYPE=BUSY-TENTATIVE:20061223T060000/20061223T080000
|
||||
FREEBUSY:20061101T233000/20061102T003000
|
||||
FREEBUSY:20061031T210000/20061031T220000
|
||||
FREEBUSY:20061102T210000/20061102T220000
|
||||
FREEBUSY:20061109T210000/20061109T220000
|
||||
@ -38,14 +39,8 @@ FREEBUSY:20070405T210000/20070405T220000
|
||||
FREEBUSY:20070412T210000/20070412T220000
|
||||
FREEBUSY:20070419T210000/20070419T220000
|
||||
FREEBUSY:20070426T210000/20070426T220000
|
||||
FREEBUSY:20061101T233000/20061102T003000
|
||||
FREEBUSY:20061202T183000/20061202T203000
|
||||
FREEBUSY:20070102T183000/20070102T203000
|
||||
FREEBUSY:20070202T183000/20070202T203000
|
||||
FREEBUSY:20070302T183000/20070302T203000
|
||||
FREEBUSY:20070402T183000/20070402T203000
|
||||
FREEBUSY:20070502T183000/20070502T203000
|
||||
FREEBUSY:20070602T183000/20070602T203000
|
||||
FREEBUSY:20061223T030000/20061223T050000
|
||||
FREEBUSY:20061223T000000/20061223T020000
|
||||
FREEBUSY:20061117T030000/20061117T044500
|
||||
FREEBUSY:20061201T030000/20061201T044500
|
||||
FREEBUSY:20061215T030000/20061215T044500
|
||||
@ -63,7 +58,12 @@ FREEBUSY:20070518T030000/20070518T044500
|
||||
FREEBUSY:20070601T030000/20070601T044500
|
||||
FREEBUSY:20070615T030000/20070615T044500
|
||||
FREEBUSY:20070629T030000/20070629T044500
|
||||
FREEBUSY:20061223T000000/20061223T020000
|
||||
FREEBUSY:20061223T030000/20061223T050000
|
||||
FREEBUSY:20061202T183000/20061202T203000
|
||||
FREEBUSY:20070102T183000/20070102T203000
|
||||
FREEBUSY:20070202T183000/20070202T203000
|
||||
FREEBUSY:20070302T183000/20070302T203000
|
||||
FREEBUSY:20070402T183000/20070402T203000
|
||||
FREEBUSY:20070502T183000/20070502T203000
|
||||
FREEBUSY:20070602T183000/20070602T203000
|
||||
END:VFREEBUSY
|
||||
END:VCALENDAR
|
||||
|
||||
@ -11,6 +11,7 @@ DTSTAMP:yyyymmddThhmmssZ
|
||||
DTSTART:yyyymmddThhmmss
|
||||
DTEND:yyyymmddThhmmss
|
||||
FREEBUSY;FBTYPE=BUSY-TENTATIVE:20061223T060000/20061223T080000
|
||||
FREEBUSY:20061101T233000/20061102T003000
|
||||
FREEBUSY:20061031T210000/20061031T220000
|
||||
FREEBUSY:20061102T210000/20061102T220000
|
||||
FREEBUSY:20061109T210000/20061109T220000
|
||||
@ -38,14 +39,8 @@ FREEBUSY:20070405T210000/20070405T220000
|
||||
FREEBUSY:20070412T210000/20070412T220000
|
||||
FREEBUSY:20070419T210000/20070419T220000
|
||||
FREEBUSY:20070426T210000/20070426T220000
|
||||
FREEBUSY:20061101T233000/20061102T003000
|
||||
FREEBUSY:20061202T183000/20061202T203000
|
||||
FREEBUSY:20070102T183000/20070102T203000
|
||||
FREEBUSY:20070202T183000/20070202T203000
|
||||
FREEBUSY:20070302T183000/20070302T203000
|
||||
FREEBUSY:20070402T183000/20070402T203000
|
||||
FREEBUSY:20070502T183000/20070502T203000
|
||||
FREEBUSY:20070602T183000/20070602T203000
|
||||
FREEBUSY:20061223T030000/20061223T050000
|
||||
FREEBUSY:20061223T000000/20061223T020000
|
||||
FREEBUSY:20061117T030000/20061117T044500
|
||||
FREEBUSY:20061201T030000/20061201T044500
|
||||
FREEBUSY:20061215T030000/20061215T044500
|
||||
@ -63,7 +58,12 @@ FREEBUSY:20070518T030000/20070518T044500
|
||||
FREEBUSY:20070601T030000/20070601T044500
|
||||
FREEBUSY:20070615T030000/20070615T044500
|
||||
FREEBUSY:20070629T030000/20070629T044500
|
||||
FREEBUSY:20061223T000000/20061223T020000
|
||||
FREEBUSY:20061223T030000/20061223T050000
|
||||
FREEBUSY:20061202T183000/20061202T203000
|
||||
FREEBUSY:20070102T183000/20070102T203000
|
||||
FREEBUSY:20070202T183000/20070202T203000
|
||||
FREEBUSY:20070302T183000/20070302T203000
|
||||
FREEBUSY:20070402T183000/20070402T203000
|
||||
FREEBUSY:20070502T183000/20070502T203000
|
||||
FREEBUSY:20070602T183000/20070602T203000
|
||||
END:VFREEBUSY
|
||||
END:VCALENDAR
|
||||
|
||||
@ -11,6 +11,7 @@ DTSTAMP:yyyymmddThhmmssZ
|
||||
DTSTART:yyyymmddThhmmss
|
||||
DTEND:yyyymmddThhmmss
|
||||
FREEBUSY;FBTYPE=BUSY-TENTATIVE:20061223T060000/20061223T080000
|
||||
FREEBUSY:20061101T233000/20061102T003000
|
||||
FREEBUSY:20061031T210000/20061031T220000
|
||||
FREEBUSY:20061102T210000/20061102T220000
|
||||
FREEBUSY:20061109T210000/20061109T220000
|
||||
@ -38,14 +39,7 @@ FREEBUSY:20070405T210000/20070405T220000
|
||||
FREEBUSY:20070412T210000/20070412T220000
|
||||
FREEBUSY:20070419T210000/20070419T220000
|
||||
FREEBUSY:20070426T210000/20070426T220000
|
||||
FREEBUSY:20061101T233000/20061102T003000
|
||||
FREEBUSY:20061202T183000/20061202T203000
|
||||
FREEBUSY:20070102T183000/20070102T203000
|
||||
FREEBUSY:20070202T183000/20070202T203000
|
||||
FREEBUSY:20070302T183000/20070302T203000
|
||||
FREEBUSY:20070402T183000/20070402T203000
|
||||
FREEBUSY:20070502T183000/20070502T203000
|
||||
FREEBUSY:20070602T183000/20070602T203000
|
||||
FREEBUSY:20061223T030000/20061223T050000
|
||||
FREEBUSY:20061117T030000/20061117T044500
|
||||
FREEBUSY:20061201T030000/20061201T044500
|
||||
FREEBUSY:20061215T030000/20061215T044500
|
||||
@ -63,6 +57,12 @@ FREEBUSY:20070518T030000/20070518T044500
|
||||
FREEBUSY:20070601T030000/20070601T044500
|
||||
FREEBUSY:20070615T030000/20070615T044500
|
||||
FREEBUSY:20070629T030000/20070629T044500
|
||||
FREEBUSY:20061223T030000/20061223T050000
|
||||
FREEBUSY:20061202T183000/20061202T203000
|
||||
FREEBUSY:20070102T183000/20070102T203000
|
||||
FREEBUSY:20070202T183000/20070202T203000
|
||||
FREEBUSY:20070302T183000/20070302T203000
|
||||
FREEBUSY:20070402T183000/20070402T203000
|
||||
FREEBUSY:20070502T183000/20070502T203000
|
||||
FREEBUSY:20070602T183000/20070602T203000
|
||||
END:VFREEBUSY
|
||||
END:VCALENDAR
|
||||
|
||||
@ -11,6 +11,7 @@ DTSTAMP:yyyymmddThhmmssZ
|
||||
DTSTART:yyyymmddThhmmss
|
||||
DTEND:yyyymmddThhmmss
|
||||
FREEBUSY;FBTYPE=BUSY-TENTATIVE:20061223T060000/20061223T080000
|
||||
FREEBUSY:20061101T233000/20061102T003000
|
||||
FREEBUSY:20061031T210000/20061031T220000
|
||||
FREEBUSY:20061102T210000/20061102T220000
|
||||
FREEBUSY:20061109T210000/20061109T220000
|
||||
@ -38,14 +39,7 @@ FREEBUSY:20070405T210000/20070405T220000
|
||||
FREEBUSY:20070412T210000/20070412T220000
|
||||
FREEBUSY:20070419T210000/20070419T220000
|
||||
FREEBUSY:20070426T210000/20070426T220000
|
||||
FREEBUSY:20061101T233000/20061102T003000
|
||||
FREEBUSY:20061202T183000/20061202T203000
|
||||
FREEBUSY:20070102T183000/20070102T203000
|
||||
FREEBUSY:20070202T183000/20070202T203000
|
||||
FREEBUSY:20070302T183000/20070302T203000
|
||||
FREEBUSY:20070402T183000/20070402T203000
|
||||
FREEBUSY:20070502T183000/20070502T203000
|
||||
FREEBUSY:20070602T183000/20070602T203000
|
||||
FREEBUSY:20061223T030000/20061223T050000
|
||||
FREEBUSY:20061117T030000/20061117T044500
|
||||
FREEBUSY:20061201T030000/20061201T044500
|
||||
FREEBUSY:20061215T030000/20061215T044500
|
||||
@ -63,6 +57,12 @@ FREEBUSY:20070518T030000/20070518T044500
|
||||
FREEBUSY:20070601T030000/20070601T044500
|
||||
FREEBUSY:20070615T030000/20070615T044500
|
||||
FREEBUSY:20070629T030000/20070629T044500
|
||||
FREEBUSY:20061223T030000/20061223T050000
|
||||
FREEBUSY:20061202T183000/20061202T203000
|
||||
FREEBUSY:20070102T183000/20070102T203000
|
||||
FREEBUSY:20070202T183000/20070202T203000
|
||||
FREEBUSY:20070302T183000/20070302T203000
|
||||
FREEBUSY:20070402T183000/20070402T203000
|
||||
FREEBUSY:20070502T183000/20070502T203000
|
||||
FREEBUSY:20070602T183000/20070602T203000
|
||||
END:VFREEBUSY
|
||||
END:VCALENDAR
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user