[CalendarServer-changes] [9982] CalendarServer/branches/users/gaya/sharedgroups/txdav/common/ datastore

source_changes at macosforge.org source_changes at macosforge.org
Wed Oct 24 16:38:14 PDT 2012


Revision: 9982
          http://trac.calendarserver.org//changeset/9982
Author:   gaya at apple.com
Date:     2012-10-24 16:38:14 -0700 (Wed, 24 Oct 2012)
Log Message:
-----------
Remove ADDRESSBOOK table (by adding alias in sql_tables.py for now)

Modified Paths:
--------------
    CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql_schema/current.sql
    CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql_tables.py
    CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/test/util.py

Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql_schema/current.sql
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql_schema/current.sql	2012-10-24 21:29:59 UTC (rev 9981)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql_schema/current.sql	2012-10-24 23:38:14 UTC (rev 9982)
@@ -334,42 +334,22 @@
   MODIFIED         timestamp    default timezone('UTC', CURRENT_TIMESTAMP)
 );
 
--- #### TODO: DELETE ####
------------------
--- AddressBook --
------------------
-
-create table ADDRESSBOOK (
-  RESOURCE_ID integer   primary key default nextval('RESOURCE_ID_SEQ') -- implicit index
-);
-
-
--- #### TODO: DELETE ####
---------------------------
--- AddressBook Metadata --
---------------------------
-
-create table ADDRESSBOOK_METADATA (
-  RESOURCE_ID integer   primary key references ADDRESSBOOK on delete cascade, -- implicit index
-  CREATED     timestamp default timezone('UTC', CURRENT_TIMESTAMP),
-  MODIFIED    timestamp default timezone('UTC', CURRENT_TIMESTAMP)
-);
-
-
 -----------------------------
 -- AddressBook Object --
 -----------------------------
 
+-- #### Want non-null constraints when using as address book object, but not when using as address book ####
+
   create table ADDRESSBOOK_OBJECT (
   RESOURCE_ID             integer      primary key default nextval('RESOURCE_ID_SEQ'),    -- implicit index
-  ADDRESSBOOK_RESOURCE_ID integer      not null references ADDRESSBOOK on delete cascade, -- #### TODO: change to references ADDRESSBOOK_OBJECT ####
-  RESOURCE_NAME           varchar(255) not null,
-  VCARD_TEXT              text         not null,
-  VCARD_UID               varchar(255) not null,
-  MD5                     char(32)     not null,
+  ADDRESSBOOK_RESOURCE_ID integer      default null references ADDRESSBOOK_OBJECT on delete cascade,
+  RESOURCE_NAME           varchar(255) default null,
+  VCARD_TEXT              text         default null,
+  VCARD_UID               varchar(255) default null,
+  MD5                     char(32)     default null,
   CREATED                 timestamp    default timezone('UTC', CURRENT_TIMESTAMP),
   MODIFIED                timestamp    default timezone('UTC', CURRENT_TIMESTAMP),
-  KIND 			  		  integer      not null, -- enum OBJECT_KIND
+  KIND 			  		  integer      default 1 not null, -- enum OBJECT_KIND -- ### default 1=group for address book code compatibility.
 
   unique(ADDRESSBOOK_RESOURCE_ID, RESOURCE_NAME), -- implicit index
   unique(ADDRESSBOOK_RESOURCE_ID, VCARD_UID)      -- implicit index
@@ -394,8 +374,8 @@
 ---------------------------------
 
 create table ABO_MEMBERS (
-    GROUP_ID              integer      references ADDRESSBOOK_OBJECT,						-- AddressBook Object's (kind=='group') RESOURCE_ID
- 	ADDRESSBOOK_ID		  integer      not null references ADDRESSBOOK on delete cascade, 	-- #### TODO: change to references ADDRESSBOOK_OBJECT ####
+    GROUP_ID              integer      not null references ADDRESSBOOK_OBJECT,				-- AddressBook Object's (kind=='group') RESOURCE_ID
+ 	ADDRESSBOOK_ID		  integer      not null references ADDRESSBOOK_OBJECT on delete cascade, 	-- #### TODO: change to references ADDRESSBOOK_OBJECT ####
     MEMBER_ID             integer      not null references ADDRESSBOOK_OBJECT,				-- member AddressBook Object's RESOURCE_ID
     primary key(GROUP_ID, MEMBER_ID) -- implicit index
 );
@@ -405,23 +385,33 @@
 ------------------------------------------
 
 create table ABO_FOREIGN_MEMBERS (
-    GROUP_ID              integer      references ADDRESSBOOK_OBJECT,						-- AddressBook Object's (kind=='group') RESOURCE_ID
- 	ADDRESSBOOK_ID		  integer      not null references ADDRESSBOOK on delete cascade, 	-- #### TODO: change to references ADDRESSBOOK_OBJECT ####
+    GROUP_ID              integer      not null references ADDRESSBOOK_OBJECT,				-- AddressBook Object's (kind=='group') RESOURCE_ID
+ 	ADDRESSBOOK_ID		  integer      not null references ADDRESSBOOK_OBJECT on delete cascade, 	-- #### TODO: change to references ADDRESSBOOK_OBJECT ####
     MEMBER_ADDRESS  	  varchar(255) not null, 											-- member AddressBook Object's address
     primary key(GROUP_ID, MEMBER_ADDRESS) -- implicit index
 );
 
+-- #### TODO: DELETE, USE CREATED and MODIFIED in ADDRESSS_BOOK_OBJECT instead ####
+--------------------------
+-- AddressBook Metadata --
+--------------------------
 
+create table ADDRESSBOOK_METADATA (
+  RESOURCE_ID integer   primary key references ADDRESSBOOK_OBJECT on delete cascade, -- implicit index
+  CREATED     timestamp default timezone('UTC', CURRENT_TIMESTAMP),
+  MODIFIED    timestamp default timezone('UTC', CURRENT_TIMESTAMP)
+);
+
+
 ----------------------
 -- AddressBook Bind --
 ----------------------
 
--- Joins ADDRESSBOOK_HOME and ADDRESSBOOK
+-- Joins ADDRESSBOOK_HOME and ADDRESSBOOK_OBJECT (acting as Address Book)
 
 create table ADDRESSBOOK_BIND (	
   ADDRESSBOOK_HOME_RESOURCE_ID 		integer      not null references ADDRESSBOOK_HOME,
-  ADDRESSBOOK_RESOURCE_ID     		integer      references ADDRESSBOOK on delete cascade, 			-- ### TODO: DELETE ROW ###
-  ADDRESSBOOK_OBJECT_RESOURCE_ID   	integer      references ADDRESSBOOK_OBJECT on delete cascade,	-- ### TODO: add 'not null' constraint ###
+  ADDRESSBOOK_RESOURCE_ID     		integer      not null references ADDRESSBOOK_OBJECT on delete cascade,
   ADDRESSBOOK_RESOURCE_NAME    		varchar(255) not null,
   BIND_MODE                    		integer      not null, 	-- enum CALENDAR_BIND_MODE
   BIND_STATUS                  		integer      not null, 	-- enum CALENDAR_BIND_STATUS
@@ -464,7 +454,7 @@
 
 create table ADDRESSBOOK_OBJECT_REVISIONS (
   ADDRESSBOOK_HOME_RESOURCE_ID integer      not null references ADDRESSBOOK_HOME,
-  ADDRESSBOOK_RESOURCE_ID      integer      references ADDRESSBOOK,
+  ADDRESSBOOK_RESOURCE_ID      integer      references ADDRESSBOOK_OBJECT,
   ADDRESSBOOK_NAME             varchar(255) default null,
   RESOURCE_NAME                varchar(255),
   REVISION                     integer      default nextval('REVISION_SEQ') not null,

Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql_tables.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql_tables.py	2012-10-24 21:29:59 UTC (rev 9981)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql_tables.py	2012-10-24 23:38:14 UTC (rev 9982)
@@ -91,6 +91,8 @@
     schema.ADDRESSBOOK_OBJECT.VCARD_UID
 schema.ADDRESSBOOK_OBJECT.PARENT_RESOURCE_ID = \
     schema.ADDRESSBOOK_OBJECT.ADDRESSBOOK_RESOURCE_ID
+schema.ADDRESSBOOK = \
+    schema.ADDRESSBOOK_OBJECT
 
 
 

Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/test/util.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/test/util.py	2012-10-24 21:29:59 UTC (rev 9981)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/test/util.py	2012-10-24 23:38:14 UTC (rev 9982)
@@ -216,7 +216,6 @@
                   'CALENDAR_BIND',
                   'ADDRESSBOOK_BIND',
                   'CALENDAR',
-                  'ADDRESSBOOK',
                   'CALENDAR_HOME',
                   'ADDRESSBOOK_HOME',
                   'NOTIFICATION',
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20121024/1d4a6ee8/attachment.html>


More information about the calendarserver-changes mailing list