mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-03-13 08:00:15 +00:00
Adjustments to timezones representation in the database to support timezone protocol.
This commit is contained in:
parent
b160ead5a0
commit
f9ad324ba1
@ -45,6 +45,9 @@ GRANT SELECT,INSERT,UPDATE,DELETE
|
||||
ON addressbook_address_adr
|
||||
ON addressbook_address_tel
|
||||
ON addressbook_address_email
|
||||
ON timezones
|
||||
ON tz_aliases
|
||||
ON tz_localnames
|
||||
|
||||
GRANT SELECT,UPDATE
|
||||
ON relationship_type_rt_id_seq
|
||||
@ -54,6 +57,7 @@ GRANT SELECT,UPDATE
|
||||
ON session_session_id_seq
|
||||
ON principal_type_principal_type_id_seq
|
||||
ON sync_tokens_sync_token_seq
|
||||
ON timezones_our_tzno_seq
|
||||
|
||||
GRANT SELECT,INSERT
|
||||
ON time_zone
|
||||
|
||||
48
dba/patches/1.2.11.sql
Normal file
48
dba/patches/1.2.11.sql
Normal file
@ -0,0 +1,48 @@
|
||||
|
||||
-- Minor enhancement: Add columns to time_zone table to support timezone protocol changes.
|
||||
|
||||
BEGIN;
|
||||
SELECT check_db_revision(1,2,10);
|
||||
|
||||
CREATE TABLE timezones (
|
||||
our_tzno SERIAL PRIMARY KEY,
|
||||
tzid TEXT UNIQUE NOT NULL,
|
||||
olson_name TEXT,
|
||||
active BOOLEAN,
|
||||
last_modified TIMESTAMP DEFAULT current_timestamp,
|
||||
vtimezone TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE tz_aliases (
|
||||
our_tzno INT8 REFERENCES timezones(our_tzno),
|
||||
tzalias TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE tz_localnames (
|
||||
our_tzno INT8 REFERENCES timezones(our_tzno),
|
||||
locale TEXT NOT NULL,
|
||||
localised_name TEXT NOT NULL,
|
||||
preferred BOOLEAN DEFAULT TRUE
|
||||
);
|
||||
|
||||
|
||||
-- Let's assume that all timezone definitions currently present are old, and
|
||||
-- we can find newer ones. We don't really want the service feeding them out
|
||||
-- so we'll mark them inactive as well.
|
||||
INSERT INTO timezones (tzid, olson_name, active, last_modified, vtimezone )
|
||||
SELECT tz_id, tz_locn, false, '1970-01-01T00:00:00Z', tz_spec FROM time_zone;
|
||||
INSERT INTO tz_aliases (our_tzno, tzalias)
|
||||
SELECT timezones.our_tzno, tz_locn FROM time_zone LEFT JOIN timezones ON (tz_id = tzid)
|
||||
WHERE tz_locn IS NOT NULL AND tz_locn != '';
|
||||
|
||||
DROP TABLE time_zone CASCADE;
|
||||
ALTER TABLE calendar_item ADD CONSTRAINT "calendar_item_tz_id_fkey" FOREIGN KEY (tz_id) REFERENCES timezones(tzid)
|
||||
ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE;
|
||||
ALTER TABLE collection ADD CONSTRAINT "collection_timezone_fkey" FOREIGN KEY (timezone) REFERENCES timezones(tzid)
|
||||
ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE;
|
||||
|
||||
SELECT new_db_revision(1,2,11, 'Novembre' );
|
||||
|
||||
COMMIT;
|
||||
ROLLBACK;
|
||||
|
||||
@ -327,9 +327,9 @@ class DAVResource
|
||||
$base_sql = 'SELECT collection.*, path_privs(:session_principal::int8, collection.dav_name,:scan_depth::int), ';
|
||||
$base_sql .= 'p.principal_id, p.type_id AS principal_type_id, ';
|
||||
$base_sql .= 'p.displayname AS principal_displayname, p.default_privileges AS principal_default_privileges, ';
|
||||
$base_sql .= 'time_zone.tz_spec ';
|
||||
$base_sql .= 'timezones.vtimezone ';
|
||||
$base_sql .= 'FROM collection LEFT JOIN principal p USING (user_no) ';
|
||||
$base_sql .= 'LEFT JOIN time_zone ON (collection.timezone=time_zone.tz_id) ';
|
||||
$base_sql .= 'LEFT JOIN timezones ON (collection.timezone=timezones.tzid) ';
|
||||
$base_sql .= 'WHERE ';
|
||||
$sql = $base_sql .'collection.dav_name = :raw_path ';
|
||||
$params = array( ':raw_path' => $this->dav_name, ':session_principal' => $session->principal_id, ':scan_depth' => $c->permission_scan_depth );
|
||||
@ -405,14 +405,14 @@ EOSQL;
|
||||
$sql = <<<EOSQL
|
||||
SELECT collection.*, path_privs(:session_principal::int8, collection.dav_name,:scan_depth::int), p.principal_id,
|
||||
p.type_id AS principal_type_id, p.displayname AS principal_displayname, p.default_privileges AS principal_default_privileges,
|
||||
time_zone.tz_spec, dav_binding.access_ticket_id, dav_binding.parent_container AS bind_parent_container,
|
||||
timezones.vtimezone, dav_binding.access_ticket_id, dav_binding.parent_container AS bind_parent_container,
|
||||
dav_binding.dav_displayname, owner.dav_name AS bind_owner_url, dav_binding.dav_name AS bound_to,
|
||||
dav_binding.external_url AS external_url, dav_binding.type AS external_type, dav_binding.bind_id AS bind_id
|
||||
FROM dav_binding
|
||||
LEFT JOIN collection ON (collection.collection_id=bound_source_id)
|
||||
LEFT JOIN principal p USING (user_no)
|
||||
LEFT JOIN dav_principal owner ON (dav_binding.dav_owner_id=owner.principal_id)
|
||||
LEFT JOIN time_zone ON (collection.timezone=time_zone.tz_id)
|
||||
LEFT JOIN timezones ON (collection.timezone=timezones.tzid)
|
||||
WHERE dav_binding.dav_name = :raw_path
|
||||
EOSQL;
|
||||
$params = array( ':raw_path' => $this->dav_name, ':session_principal' => $session->principal_id, ':scan_depth' => $c->permission_scan_depth );
|
||||
@ -1639,11 +1639,11 @@ EOQRY;
|
||||
|
||||
case 'urn:ietf:params:xml:ns:caldav:calendar-timezone':
|
||||
if ( ! $this->_is_collection ) return false;
|
||||
if ( !isset($this->collection->tz_spec) || $this->collection->tz_spec == '' ) return false;
|
||||
if ( !isset($this->collection->vtimezone) || $this->collection->vtimezone == '' ) return false;
|
||||
|
||||
$cal = new iCalComponent();
|
||||
$cal->VCalendar();
|
||||
$cal->AddComponent( new iCalComponent($this->collection->tz_spec) );
|
||||
$cal->AddComponent( new iCalComponent($this->collection->vtimezone) );
|
||||
$reply->NSElement($prop, $tag, $cal->Render() );
|
||||
break;
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
*/
|
||||
dbg_error_log("PROPPATCH", "method handler");
|
||||
|
||||
require_once('iCalendar.php');
|
||||
require_once('vCalendar.php');
|
||||
require_once('DAVResource.php');
|
||||
|
||||
$dav_resource = new DAVResource($request->path);
|
||||
@ -152,11 +152,19 @@ foreach( $setprops AS $k => $setting ) {
|
||||
if ( $dav_resource->IsCollection() && $dav_resource->IsCalendar() && ! $dav_resource->IsBinding() ) {
|
||||
$tzcomponent = $setting->GetPath('urn:ietf:params:xml:ns:caldav:calendar-timezone');
|
||||
$tzstring = $tzcomponent[0]->GetContent();
|
||||
$calendar = new iCalendar( array( 'icalendar' => $tzstring) );
|
||||
$timezones = $calendar->component->GetComponents('VTIMEZONE');
|
||||
if ( $timezones === false || count($timezones) == 0 ) break;
|
||||
$calendar = new vCalendar( $tzstring );
|
||||
$timezones = $calendar->GetComponents('VTIMEZONE');
|
||||
if ( count($timezones) == 0 ) break;
|
||||
$tz = $timezones[0]; // Backward compatibility
|
||||
$tzid = $tz->GetPValue('TZID');
|
||||
$params = array( ':tzid' => $tzid );
|
||||
$qry = new AwlQuery('SELECT 1 FROM timezones WHERE tzid = :tzid', $params );
|
||||
if ( $qry->Exec('PUT',__LINE__,__FILE__) && $qry->rows() == 0 ) {
|
||||
$params[':olson_name'] = $calendar->GetOlsonName($tz);
|
||||
$params[':vtimezone'] = (isset($tz) ? $tz->Render() : null );
|
||||
$qry->QDo('INSERT INTO timezones (tzid, olson_name, active, vtimezone) VALUES(:tzid,:olson_name,false,:vtimezone)', $params );
|
||||
}
|
||||
|
||||
$qry->QDo('UPDATE collection SET timezone = :tzid WHERE dav_name = :dav_name',
|
||||
array( ':tzid' => $tzid, ':dav_name' => $dav_resource->dav_name()) );
|
||||
}
|
||||
|
||||
@ -575,11 +575,11 @@ EOSQL;
|
||||
$last_tz_locn = $tz_locn;
|
||||
}
|
||||
$params = array( ':tzid' => $tzid);
|
||||
$qry = new AwlQuery('SELECT tz_locn FROM time_zone WHERE tz_id = :tzid', $params );
|
||||
$qry = new AwlQuery('SELECT 1 FROM timezones WHERE tzid = :tzid', $params );
|
||||
if ( $qry->Exec('PUT',__LINE__,__FILE__) && $qry->rows() == 0 ) {
|
||||
$params[':tzlocn'] = $tz_locn;
|
||||
$params[':tzspec'] = (isset($tz) ? $tz->Render() : null );
|
||||
$qry->QDo('INSERT INTO time_zone (tz_id, tz_locn, tz_spec) VALUES(:tzid,:tzlocn,:tzspec)', $params );
|
||||
$params[':olson_name'] = $tz_locn;
|
||||
$params[':vtimezone'] = (isset($tz) ? $tz->Render() : null );
|
||||
$qry->QDo('INSERT INTO timezones (tzid, olson_name, active, vtimezone) VALUES(:tzid,:olson_name,false,:vtimezone)', $params );
|
||||
}
|
||||
if ( !isset($tz_locn) || $tz_locn == '' ) $tz_locn = $tzid;
|
||||
}
|
||||
@ -902,11 +902,11 @@ function write_resource( DAVResource $resource, $caldav_data, DAVResource $colle
|
||||
$last_tz_locn = $tz_locn;
|
||||
}
|
||||
$params = array( ':tzid' => $tzid);
|
||||
$qry = new AwlQuery('SELECT tz_locn FROM time_zone WHERE tz_id = :tzid', $params );
|
||||
$qry = new AwlQuery('SELECT 1 FROM timezones WHERE tzid = :tzid', $params );
|
||||
if ( $qry->Exec('PUT',__LINE__,__FILE__) && $qry->rows() == 0 ) {
|
||||
$params[':tzlocn'] = $tz_locn;
|
||||
$params[':tzspec'] = (isset($tz) ? $tz->Render() : null );
|
||||
$qry->QDo('INSERT INTO time_zone (tz_id, tz_locn, tz_spec) VALUES(:tzid,:tzlocn,:tzspec)', $params );
|
||||
$params[':olson_name'] = $tz_locn;
|
||||
$params[':vtimezone'] = (isset($tz) ? $tz->Render() : null );
|
||||
$qry->QDo('INSERT INTO timezones (tzid, olson_name, active, vtimezone) VALUES(:tzid,:olson_name,false,:vtimezone)', $params );
|
||||
}
|
||||
if ( !isset($tz_locn) || $tz_locn == '' ) $tz_locn = $tzid;
|
||||
|
||||
|
||||
@ -120,6 +120,11 @@ initialise_regression() {
|
||||
psql -q -f "${REGRESSION}/sample-data.sql" "${DBNAME}" >"${RESULTS}/${TEST}" 2>&1
|
||||
check_result "${TEST}"
|
||||
fi
|
||||
|
||||
TEST="Really Upgrade Database"
|
||||
../dba/update-davical-database --dbname=${DBNAME} --appuser davical_app --owner davical_dba >"${RESULTS}/${TEST}" 2>&1
|
||||
check_result "${TEST}"
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -11,11 +11,11 @@ HEAD
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS "A1 CalDAV DATA"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name ~ '^/user3/utf8/'
|
||||
ENDQUERY
|
||||
|
||||
|
||||
@ -61,11 +61,11 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS "A1 CalDAV DATA"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name ~ '^/user3/home/'
|
||||
ENDQUERY
|
||||
|
||||
|
||||
@ -88,11 +88,11 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS "A1 CalDAV DATA"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name ~ '^/user5/home/'
|
||||
ENDQUERY
|
||||
|
||||
|
||||
@ -89,11 +89,11 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS "A1 CalDAV DATA"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name ~ '^/User Six/home/'
|
||||
ENDQUERY
|
||||
|
||||
|
||||
@ -165,11 +165,11 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS "A1 CalDAV DATA"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name ~ '^/user2/home/'
|
||||
ENDQUERY
|
||||
|
||||
|
||||
@ -42,13 +42,13 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart,
|
||||
dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart,
|
||||
dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
last_modified,
|
||||
calendar_item.last_modified,
|
||||
caldav_data AS "A1 CalDAV DATA"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name ~ '^/user1/home/'
|
||||
ENDQUERY
|
||||
|
||||
|
||||
@ -45,14 +45,14 @@ ENDDATA
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_type, logged_user, uid,
|
||||
dtstamp,
|
||||
dtstart at time zone tz_locn as dtstart,
|
||||
dtend at time zone tz_locn as dtend,
|
||||
dtstart at time zone olson_name as dtstart,
|
||||
dtend at time zone olson_name as dtend,
|
||||
due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
last_modified,
|
||||
calendar_item.last_modified,
|
||||
caldav_data AS "A1 CalDAV DATA"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name ~ '^/user1/home/'
|
||||
ENDQUERY
|
||||
|
||||
|
||||
@ -59,12 +59,12 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS " CalDAV Data",
|
||||
((current_timestamp AT TIME ZONE 'GMT' - last_modified) < '2 seconds'::interval) AS "~ Modified Now"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
((current_timestamp AT TIME ZONE 'GMT' - calendar_item.last_modified) < '2 seconds'::interval) AS "~ Modified Now"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name =
|
||||
'/user1/home/e70576e9-c1e0-431e-a507-0386fd82f223.ics';
|
||||
ENDQUERY
|
||||
|
||||
@ -57,12 +57,12 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due at time zone tz_locn as due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due at time zone olson_name as due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS " CalDAV Data",
|
||||
((current_timestamp AT TIME ZONE 'GMT' - last_modified) < '2 seconds'::interval) AS "~ Modified Now"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
((current_timestamp AT TIME ZONE 'GMT' - calendar_item.last_modified) < '2 seconds'::interval) AS "~ Modified Now"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name =
|
||||
'/user1/home/e6eb5bc9-f7f9-4a0a-94e8-8e90eefc7d08.ics';
|
||||
ENDQUERY
|
||||
|
||||
@ -30,14 +30,14 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT calendar_item.rrule, calendar_item.status,
|
||||
dtstart AT TIME ZONE tz_locn AS "a) Start",
|
||||
tz_locn AS "b) Location",
|
||||
dtstart AT TIME ZONE olson_name AS "a) Start",
|
||||
olson_name AS "b) Location",
|
||||
to_char(calendar_item.dtstart at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "c)UTC Start",
|
||||
to_char(calendar_item.dtend at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "d) UTC End"
|
||||
FROM usr INNER JOIN collection USING (user_no)
|
||||
INNER JOIN caldav_data USING (collection_id)
|
||||
INNER JOIN calendar_item USING(dav_id)
|
||||
LEFT JOIN time_zone USING(tz_id)
|
||||
LEFT JOIN timezones ON (tz_id=tzid)
|
||||
WHERE lower(usr.email) = 'user1@example.net'
|
||||
AND collection.is_calendar AND collection.schedule_transp = 'opaque'
|
||||
AND rrule_event_overlaps( dtstart, dtend, rrule, '20081020T110000Z', '20081105T110000Z' )
|
||||
|
||||
@ -41,6 +41,6 @@ END:VCALENDAR
|
||||
c) RRule: >FREQ=MONTHLY;INTERVAL=1;BYDAY=TU,FR<
|
||||
class: >PUBLIC<
|
||||
d) Start: >2008-10-24 08:45:00<
|
||||
olson_name: >Europe/Helsinki<
|
||||
status: >NULL<
|
||||
tz_locn: >Europe/Helsinki<
|
||||
|
||||
|
||||
@ -37,12 +37,12 @@ QUERY
|
||||
SELECT calendar_item.rrule AS "c) RRule", calendar_item.status,
|
||||
to_char(calendar_item.dtstart at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "a) Start",
|
||||
to_char(calendar_item.dtend at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "b) Finish",
|
||||
calendar_item.dtstart at time zone tz_locn AS "d) Start",
|
||||
time_zone.tz_locn,
|
||||
calendar_item.dtstart at time zone olson_name AS "d) Start",
|
||||
timezones.olson_name,
|
||||
class
|
||||
FROM caldav_data INNER JOIN calendar_item USING(dav_id,user_no,dav_name,collection_id)
|
||||
INNER JOIN collection USING(collection_id)
|
||||
LEFT JOIN time_zone USING( tz_id )
|
||||
LEFT JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name ~ '^/user3/'
|
||||
AND rrule_event_overlaps( dtstart, dtend, rrule, '20081020T110000Z', '20081105T110000Z')
|
||||
AND caldav_data.caldav_type IN ( 'VEVENT', 'VTODO' )
|
||||
|
||||
@ -45,13 +45,13 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart,
|
||||
dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart,
|
||||
dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
last_modified,
|
||||
calendar_item.last_modified,
|
||||
caldav_data AS "A1 CalDAV DATA"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) LEFT JOIN time_zone USING (tz_id)
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) LEFT JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name =
|
||||
'/user1/home/71e2ae82-7870-11db-c6d6-f6927c144649.ics';
|
||||
ENDQUERY
|
||||
|
||||
@ -59,12 +59,12 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS " CalDAV Data",
|
||||
last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
calendar_item.last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_etag =
|
||||
'b3e66a461ef178bd4791b2b6509bbb9d';
|
||||
ENDQUERY
|
||||
|
||||
@ -61,12 +61,12 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS " CalDAV Data",
|
||||
last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
calendar_item.last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_etag =
|
||||
'efd0257efbc898d059c200d1391af060';
|
||||
ENDQUERY
|
||||
|
||||
@ -59,11 +59,12 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS " CalDAV Data", last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
caldav_data AS " CalDAV Data",
|
||||
calendar_item.last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name =
|
||||
'/user1/6E20BB7C-EFD9-4F0F-9BDC-5335E04D47E0/6C8A0D88-E1F9-4FC1-9EDD-DA258ABF2CFA.ics';
|
||||
ENDQUERY
|
||||
|
||||
@ -64,11 +64,11 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS " CalDAV Data", last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
caldav_data AS " CalDAV Data", calendar_item.last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name =
|
||||
'/user1/6E20BB7C-EFD9-4F0F-9BDC-5335E04D47E0/6C8A0D88-E1F9-4FC1-9EDD-DA258ABF2CFA.ics';
|
||||
ENDQUERY
|
||||
|
||||
@ -48,11 +48,11 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due at time zone tz_locn as due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due at time zone olson_name as due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS " CalDAV Data", last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
caldav_data AS " CalDAV Data", calendar_item.last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name =
|
||||
'/user1/6E20BB7C-EFD9-4F0F-9BDC-5335E04D47E0/E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE74.ics';
|
||||
ENDQUERY
|
||||
|
||||
@ -69,11 +69,11 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend,
|
||||
due, summary, location, description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS " CalDAV Data", last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) LEFT JOIN time_zone USING (tz_id)
|
||||
caldav_data AS " CalDAV Data", calendar_item.last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) LEFT JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name =
|
||||
'/resource2/home/3C1BF85D-3F28-413F-844F-80EBD33B8EE6.ics';
|
||||
ENDQUERY
|
||||
|
||||
@ -34,14 +34,14 @@ REPLACE=/^DTSTAMP:\d{4}[01]\d[0123]\dT[012]\d[0-5]\d[0-6]\dZ\r?$/DTSTAMP:yyyymmd
|
||||
|
||||
QUERY
|
||||
SELECT calendar_item.rrule, calendar_item.status,
|
||||
dtstart AT TIME ZONE tz_locn AS "a) Start",
|
||||
tz_locn AS "b) Location",
|
||||
dtstart AT TIME ZONE olson_name AS "a) Start",
|
||||
olson_name AS "b) Location",
|
||||
to_char(calendar_item.dtstart at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "c)UTC Start",
|
||||
to_char(calendar_item.dtend at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "d) UTC End"
|
||||
FROM usr INNER JOIN collection USING (user_no)
|
||||
INNER JOIN caldav_data USING (collection_id)
|
||||
INNER JOIN calendar_item USING(dav_id)
|
||||
LEFT JOIN time_zone USING(tz_id)
|
||||
LEFT JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name ~ '^/user2/'
|
||||
AND collection.is_calendar
|
||||
AND rrule_event_overlaps( dtstart, dtend, rrule, '20081022T054500Z', '20081024T083000Z' )
|
||||
|
||||
@ -44,11 +44,11 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS " CalDAV Data", last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
caldav_data AS " CalDAV Data", calendar_item.last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name =
|
||||
'/user1/collection/Daily_NY_5pm.ics'
|
||||
ENDQUERY
|
||||
|
||||
@ -50,8 +50,8 @@ SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart, dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS " CalDAV Data", last_modified
|
||||
FROM caldav_data LEFT JOIN calendar_item USING(dav_name) LEFT JOIN time_zone USING (tz_id)
|
||||
caldav_data AS " CalDAV Data", calendar_item.last_modified
|
||||
FROM caldav_data LEFT JOIN calendar_item USING(dav_name) LEFT JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name =
|
||||
'/user1/collection/All_Day_NY_JAN1.ics'
|
||||
ENDQUERY
|
||||
|
||||
@ -61,9 +61,9 @@ SELECT caldav_data.user_no, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart, dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
((current_timestamp AT TIME ZONE 'GMT' - last_modified) < '2 seconds'::interval) AS "~ Modified Now",
|
||||
((current_timestamp AT TIME ZONE 'GMT' - calendar_item.last_modified) < '2 seconds'::interval) AS "~ Modified Now",
|
||||
caldav_data AS "A1 CalDAV DATA"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) LEFT JOIN time_zone USING (tz_id)
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) LEFT JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name ~ '^/user1/home/i1278618276.ics'
|
||||
ENDQUERY
|
||||
|
||||
|
||||
@ -45,13 +45,13 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart,
|
||||
dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart,
|
||||
dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS " CalDAV Data", last_modified,
|
||||
caldav_data AS " CalDAV Data", calendar_item.last_modified,
|
||||
dtend - dtstart AS "~Duration"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name =
|
||||
'/user1/home/DAYPARTY-77C6-4FB7-BDD3-6882E2F1BE74.ics';
|
||||
ENDQUERY
|
||||
|
||||
@ -46,13 +46,13 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart,
|
||||
dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart,
|
||||
dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS " CalDAV Data", last_modified,
|
||||
caldav_data AS " CalDAV Data", calendar_item.last_modified,
|
||||
dtend - dtstart AS "~Duration"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name =
|
||||
'/user1/home/MICROPARTY-77C6-4FB7-BDD3-6882E2F1BE74.ics';
|
||||
ENDQUERY
|
||||
|
||||
@ -21,14 +21,14 @@ REPLACE=/^DTSTAMP:\d{8}T\d{6}Z\r?$/DTSTAMP:yyyymmddThhmmssZ/
|
||||
|
||||
QUERY
|
||||
SELECT calendar_item.rrule, calendar_item.status,
|
||||
dtstart AT TIME ZONE tz_locn AS "a) Start",
|
||||
tz_locn AS "b) Location",
|
||||
dtstart AT TIME ZONE olson_name AS "a) Start",
|
||||
olson_name AS "b) Location",
|
||||
to_char(calendar_item.dtstart at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "c)UTC Start",
|
||||
to_char(calendar_item.dtend at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "d) UTC End"
|
||||
FROM usr INNER JOIN collection USING (user_no)
|
||||
INNER JOIN caldav_data USING (collection_id)
|
||||
INNER JOIN calendar_item USING(dav_id)
|
||||
LEFT JOIN time_zone USING(tz_id)
|
||||
LEFT JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name ~ '^/user1/home/'
|
||||
AND collection.is_calendar AND collection.schedule_transp = 'opaque'
|
||||
AND rrule_event_overlaps( dtstart, dtend, rrule, '20061004T140000Z', '20070105T220000Z' )
|
||||
|
||||
@ -11,14 +11,14 @@ REPLACE=/^DTSTAMP:\d{8}T\d{6}Z\r?$/DTSTAMP:yyyymmddThhmmssZ/
|
||||
|
||||
QUERY
|
||||
SELECT calendar_item.rrule, calendar_item.status,
|
||||
dtstart AT TIME ZONE tz_locn AS "a) Start",
|
||||
tz_locn AS "b) Location",
|
||||
dtstart AT TIME ZONE olson_name AS "a) Start",
|
||||
olson_name AS "b) Location",
|
||||
to_char(calendar_item.dtstart at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "c)UTC Start",
|
||||
to_char(calendar_item.dtend at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "d) UTC End"
|
||||
FROM usr INNER JOIN collection USING (user_no)
|
||||
INNER JOIN caldav_data USING (collection_id)
|
||||
INNER JOIN calendar_item USING(dav_id)
|
||||
LEFT JOIN time_zone USING(tz_id)
|
||||
LEFT JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name ~ '^/user1/home/'
|
||||
AND collection.is_calendar AND collection.schedule_transp = 'opaque'
|
||||
AND rrule_event_overlaps( dtstart, dtend, rrule, '20061001T000000Z', '20061029T120000Z' )
|
||||
|
||||
@ -13,14 +13,14 @@ REPLACE=/^DTEND:20070630T235959Z$/DTEND:correct/
|
||||
|
||||
QUERY
|
||||
SELECT calendar_item.rrule, calendar_item.status,
|
||||
dtstart AT TIME ZONE tz_locn AS "a) Start",
|
||||
tz_locn AS "b) Location",
|
||||
dtstart AT TIME ZONE olson_name AS "a) Start",
|
||||
olson_name AS "b) Location",
|
||||
to_char(calendar_item.dtstart at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "c)UTC Start",
|
||||
to_char(calendar_item.dtend at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "d) UTC End"
|
||||
FROM usr INNER JOIN collection USING (user_no)
|
||||
INNER JOIN caldav_data USING (collection_id)
|
||||
INNER JOIN calendar_item USING(dav_id)
|
||||
LEFT JOIN time_zone USING(tz_id)
|
||||
LEFT JOIN timezones ON (tz_id=tzid)
|
||||
WHERE usr.email = 'user1@example.net'
|
||||
AND collection.is_calendar AND collection.schedule_transp = 'opaque'
|
||||
AND rrule_event_overlaps( dtstart, dtend, rrule, '20061001T000000Z', '20070630T235959Z' )
|
||||
|
||||
@ -13,14 +13,14 @@ REPLACE=/^DTEND:20070630T235959Z$/DTEND:correct/
|
||||
|
||||
QUERY
|
||||
SELECT calendar_item.rrule, calendar_item.status,
|
||||
dtstart AT TIME ZONE tz_locn AS "a) Start",
|
||||
tz_locn AS "b) Location",
|
||||
dtstart AT TIME ZONE olson_name AS "a) Start",
|
||||
olson_name AS "b) Location",
|
||||
to_char(calendar_item.dtstart at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "c)UTC Start",
|
||||
to_char(calendar_item.dtend at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS "d) UTC End"
|
||||
FROM usr INNER JOIN collection USING (user_no)
|
||||
INNER JOIN caldav_data USING (collection_id)
|
||||
INNER JOIN calendar_item USING(dav_id)
|
||||
LEFT JOIN time_zone USING(tz_id)
|
||||
LEFT JOIN timezones ON (tz_id=tzid)
|
||||
WHERE usr.email = 'user1@example.net'
|
||||
AND collection.is_calendar AND collection.schedule_transp = 'opaque'
|
||||
AND rrule_event_overlaps( dtstart, dtend, rrule, '20061001T000000Z', '20070630T235959Z' )
|
||||
|
||||
@ -45,11 +45,11 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due, summary, location,
|
||||
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS " CalDAV Data", last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id)
|
||||
caldav_data AS " CalDAV Data", calendar_item.last_modified
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
|
||||
WHERE caldav_data.dav_name =
|
||||
'/user1/home/PUT-eastern-time.ics'
|
||||
ENDQUERY
|
||||
|
||||
@ -3,6 +3,14 @@
|
||||
Supported locales updated.
|
||||
Updated view: dav_principal.sql applied.
|
||||
CalDAV functions updated.
|
||||
DBD::Pg::db do failed: ERROR: relation "timezones" does not exist at ../dba/update-davical-database line 400, <PERMS> line 48.
|
||||
DBD::Pg::db do failed: ERROR: relation "timezones" does not exist at ../dba/update-davical-database line 410, <PERMS> line 48.
|
||||
DBD::Pg::db do failed: ERROR: relation "tz_aliases" does not exist at ../dba/update-davical-database line 400, <PERMS> line 49.
|
||||
DBD::Pg::db do failed: ERROR: relation "tz_aliases" does not exist at ../dba/update-davical-database line 410, <PERMS> line 49.
|
||||
DBD::Pg::db do failed: ERROR: relation "tz_localnames" does not exist at ../dba/update-davical-database line 400, <PERMS> line 50.
|
||||
DBD::Pg::db do failed: ERROR: relation "tz_localnames" does not exist at ../dba/update-davical-database line 410, <PERMS> line 50.
|
||||
DBD::Pg::db do failed: ERROR: relation "timezones_our_tzno_seq" does not exist at ../dba/update-davical-database line 400, <PERMS> line 60.
|
||||
DBD::Pg::db do failed: ERROR: relation "timezones_our_tzno_seq" does not exist at ../dba/update-davical-database line 410, <PERMS> line 60.
|
||||
RRULE functions updated.
|
||||
Database permissions updated.
|
||||
NOTE
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
The database is version 8.4 currently at revision 1.2.10.
|
||||
Applying patch 1.2.11.sql ... succeeded.
|
||||
Successfully applied 1 patches.
|
||||
Supported locales updated.
|
||||
Updated view: dav_principal.sql applied.
|
||||
CalDAV functions updated.
|
||||
DBD::Pg::db do failed: ERROR: relation "time_zone" does not exist at ../dba/update-davical-database line 400, <PERMS> line 63.
|
||||
DBD::Pg::db do failed: ERROR: relation "time_zone" does not exist at ../dba/update-davical-database line 410, <PERMS> line 63.
|
||||
RRULE functions updated.
|
||||
Database permissions updated.
|
||||
@ -1,5 +1,13 @@
|
||||
Supported locales updated.
|
||||
Updated view: dav_principal.sql applied.
|
||||
CalDAV functions updated.
|
||||
DBD::Pg::db do failed: ERROR: relation "timezones" does not exist at ../dba/update-davical-database line 400, <PERMS> line 48.
|
||||
DBD::Pg::db do failed: ERROR: relation "timezones" does not exist at ../dba/update-davical-database line 410, <PERMS> line 48.
|
||||
DBD::Pg::db do failed: ERROR: relation "tz_aliases" does not exist at ../dba/update-davical-database line 400, <PERMS> line 49.
|
||||
DBD::Pg::db do failed: ERROR: relation "tz_aliases" does not exist at ../dba/update-davical-database line 410, <PERMS> line 49.
|
||||
DBD::Pg::db do failed: ERROR: relation "tz_localnames" does not exist at ../dba/update-davical-database line 400, <PERMS> line 50.
|
||||
DBD::Pg::db do failed: ERROR: relation "tz_localnames" does not exist at ../dba/update-davical-database line 410, <PERMS> line 50.
|
||||
DBD::Pg::db do failed: ERROR: relation "timezones_our_tzno_seq" does not exist at ../dba/update-davical-database line 400, <PERMS> line 60.
|
||||
DBD::Pg::db do failed: ERROR: relation "timezones_our_tzno_seq" does not exist at ../dba/update-davical-database line 410, <PERMS> line 60.
|
||||
RRULE functions updated.
|
||||
Database permissions updated.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user