Add a weak_etag field for use with scheduling.

The weak_etag will be assigned from the etag only when
normal changes are made to an event.  A subset of the
changes involved in automatic scheduling will not change it.
This commit is contained in:
Andrew McMillan 2010-03-02 14:16:13 +13:00
parent 16f70a9bdb
commit 555ed3bc4e
2 changed files with 6 additions and 1 deletions

View File

@ -114,6 +114,7 @@ CREATE TABLE caldav_data (
logged_user INT references usr(user_no) ON UPDATE CASCADE ON DELETE SET DEFAULT DEFERRABLE, logged_user INT references usr(user_no) ON UPDATE CASCADE ON DELETE SET DEFAULT DEFERRABLE,
dav_id INT8 UNIQUE DEFAULT nextval('dav_id_seq'), dav_id INT8 UNIQUE DEFAULT nextval('dav_id_seq'),
collection_id INT8 REFERENCES collection(collection_id) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE, collection_id INT8 REFERENCES collection(collection_id) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE,
weak_etag TEXT DEFAULT NULL,
PRIMARY KEY ( user_no, dav_name ) PRIMARY KEY ( user_no, dav_name )
); );
@ -334,6 +335,7 @@ CREATE TABLE collection_mashup (
dav_displayname TEXT dav_displayname TEXT
); );
CREATE TABLE mashup_member ( CREATE TABLE mashup_member (
mashup_id INT8 NOT NULL REFERENCES collection_mashup(mashup_id) ON UPDATE CASCADE ON DELETE CASCADE, mashup_id INT8 NOT NULL REFERENCES collection_mashup(mashup_id) ON UPDATE CASCADE ON DELETE CASCADE,
target_ticket_id TEXT REFERENCES access_ticket(ticket_id) ON UPDATE CASCADE ON DELETE CASCADE, target_ticket_id TEXT REFERENCES access_ticket(ticket_id) ON UPDATE CASCADE ON DELETE CASCADE,
@ -341,6 +343,7 @@ CREATE TABLE mashup_member (
member_colour TEXT member_colour TEXT
); );
CREATE TABLE addressbook_resource ( CREATE TABLE addressbook_resource (
dav_id INT8 NOT NULL REFERENCES caldav_data(dav_id) ON UPDATE CASCADE ON DELETE CASCADE PRIMARY KEY, dav_id INT8 NOT NULL REFERENCES caldav_data(dav_id) ON UPDATE CASCADE ON DELETE CASCADE PRIMARY KEY,
version TEXT, version TEXT,
@ -374,6 +377,7 @@ CREATE TABLE addressbook_address_email (
property TEXT -- The full text of the property property TEXT -- The full text of the property
); );
CREATE TABLE calendar_alarm ( CREATE TABLE calendar_alarm (
dav_id INT8 NOT NULL REFERENCES caldav_data(dav_id) ON UPDATE CASCADE ON DELETE CASCADE, dav_id INT8 NOT NULL REFERENCES caldav_data(dav_id) ON UPDATE CASCADE ON DELETE CASCADE,
action TEXT, action TEXT,

View File

@ -7,6 +7,8 @@
BEGIN; BEGIN;
SELECT check_db_revision(1,2,7); SELECT check_db_revision(1,2,7);
ALTER TABLE caldav_data ADD COLUMN weak_etag TEXT DEFAULT NULL;
CREATE TABLE access_ticket ( CREATE TABLE access_ticket (
ticket_id TEXT PRIMARY KEY, ticket_id TEXT PRIMARY KEY,
is_public BOOLEAN, is_public BOOLEAN,
@ -101,7 +103,6 @@ CREATE TABLE calendar_attendee (
property TEXT -- The full text of the property property TEXT -- The full text of the property
); );
SELECT new_db_revision(1,2,8, 'Août' ); SELECT new_db_revision(1,2,8, 'Août' );
COMMIT; COMMIT;