[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