[CalendarServer-changes] [5783] CalendarServer/branches/new-store/txcaldav/calendarstore/postgres.py
source_changes at macosforge.org
source_changes at macosforge.org
Fri Jun 18 17:03:25 PDT 2010
Revision: 5783
http://trac.macosforge.org/projects/calendarserver/changeset/5783
Author: wsanchez at apple.com
Date: 2010-06-18 17:03:24 -0700 (Fri, 18 Jun 2010)
Log Message:
-----------
Add some constraints
Modified Paths:
--------------
CalendarServer/branches/new-store/txcaldav/calendarstore/postgres.py
Modified: CalendarServer/branches/new-store/txcaldav/calendarstore/postgres.py
===================================================================
--- CalendarServer/branches/new-store/txcaldav/calendarstore/postgres.py 2010-06-18 23:45:17 UTC (rev 5782)
+++ CalendarServer/branches/new-store/txcaldav/calendarstore/postgres.py 2010-06-19 00:03:24 UTC (rev 5783)
@@ -36,11 +36,8 @@
-----------------
create table CALENDAR_HOME (
- RESOURCE_ID varchar(255)
- not null
- primary key
- default nextval(\xD5RESOURCE_ID_SEQ\xD5),
- OWNER_UID varchar(255) not null,
+ RESOURCE_ID varchar(255) primary key default nextval(\xD5RESOURCE_ID_SEQ\xD5),
+ OWNER_UID varchar(255) not null unique,
);
@@ -53,19 +50,22 @@
create table CALENDAR_BIND (
CALENDAR_HOME_RESOURCE_ID varchar(255) not null, -- foreign key: CALENDAR_HOME.RESOURCE_ID
CALENDAR_RESOURCE_ID varchar(255) not null, -- foreign key: CALENDAR.RESOURCE_ID
- CALENDAR_NAME varchar(255) not null,
+ CALENDAR_RESOURCE_NAME varchar(255) not null,
CALENDAR_MODE int not null,
SEEN_BY_OWNER bool not null,
SEEN_BY_SHAREE bool not null,
STATUS integer not null,
MESSAGE text, -- FIXME: xml?
+
+ unique(CALENDAR_HOME_RESOURCE_ID, CALENDAR_RESOURCE_ID),
+ unique(CALENDAR_HOME_RESOURCE_ID, CALENDAR_RESOURCE_NAME),
);
-- Enumeration of calendar bind modes
create table CALENDAR_BIND_MODE (
- ID int not null primary key,
- DESCRIPTION varchar(16) not null,
+ ID int primary key,
+ DESCRIPTION varchar(16) not null unique,
);
insert into CALENDAR_MODE values (0, "own" );
@@ -75,8 +75,8 @@
-- Enumeration of statuses
create table CALENDAR_BIND_STATUS (
- ID int not null primary key,
- DESCRIPTION varchar(16) not null,
+ ID int primary key,
+ DESCRIPTION varchar(16) not null unique,
);
insert into CALENDAR_BIND_STATUS values (0, "invited" );
@@ -89,11 +89,8 @@
------------
create table CALENDAR (
- RESOURCE_ID varchar(255)
- not null
- primary key
- default nextval(\xD5RESOURCE_ID_SEQ\xD5),
- SYNC_TOKEN varchar(255),
+ RESOURCE_ID varchar(255) primary key default nextval(\xD5RESOURCE_ID_SEQ\xD5),
+ SYNC_TOKEN varchar(255),
);
@@ -102,10 +99,7 @@
-------------------
create table CALENDAR_OBJECT (
- RESOURCE_ID varchar(255)
- not null
- primary key
- default nextval(\xD5RESOURCE_ID_SEQ\xD5),
+ RESOURCE_ID varchar(255) primary key default nextval(\xD5RESOURCE_ID_SEQ\xD5),
CALENDAR_RESOURCE_ID varchar(255) not null, -- foreign key: CALENDAR.RESOURCE_ID
RESOURCE_NAME varchar(255) not null,
ICALENDAR_TEXT text not null,
@@ -114,13 +108,16 @@
ATTACHMENTS_MODE int not null,
ORGANIZER varchar(255),
ORGANIZER_OBJECT varchar(255), -- foreign key: CALENDAR_OBJECT.RESOURCE_ID
+
+ unique(CALENDAR_RESOURCE_ID, RESOURCE_NAME),
+ unique(CALENDAR_RESOURCE_ID, ICALENDAR_UID),
);
-- Enumeration of attachment modes
create table CALENDAR_OBJECT_ATTACHMENTS_MODE (
- ID int not null primary key,
- DESCRIPTION varchar(16) not null,
+ ID int primary key,
+ DESCRIPTION varchar(16) not null unique,
);
insert into CALENDAR_MODE values (0, "read" );
@@ -136,7 +133,7 @@
CONTENT_TYPE varchar(255) not null,
SIZE int not null,
MD5 char(32) not null,
- PATH varchar(255) not null,
+ PATH varchar(255) not null unique,
);
----------------
@@ -145,8 +142,8 @@
create table ITIP_MESSAGE (
CALENDAR_RESOURCE_ID varchar(255) not null, -- foreign key: CALENDAR.RESOURCE_ID
- UID varchar(255) not null,
ICALENDAR_TEXT text not null,
+ ICALENDAR_UID varchar(255) not null,
MD5 char(32) not null,
CHANGES text not null,
);
@@ -161,6 +158,8 @@
NAME varchar(255) not null,
VALUE text not null, -- FIXME: xml?
VIEWER_UID varchar(255),
+
+ unique(RESOURCE_ID, NAME, VIEWER_UID),
);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100618/5d8adcb1/attachment.html>
More information about the calendarserver-changes
mailing list