[CalendarServer-changes] [11122] CalendarServer/branches/users/gaya/sharedgroups-3/txdav

source_changes at macosforge.org source_changes at macosforge.org
Thu May 2 13:37:30 PDT 2013


Revision: 11122
          http://trac.calendarserver.org//changeset/11122
Author:   gaya at apple.com
Date:     2013-05-02 13:37:30 -0700 (Thu, 02 May 2013)
Log Message:
-----------
rename ADDRESSBOOK_BIND -> SHARED_ADDRESSBOOK_BIND; GROUP_ADDRESSBOOK_BIND -> SHARED_GROUP_BIND

Modified Paths:
--------------
    CalendarServer/branches/users/gaya/sharedgroups-3/txdav/carddav/datastore/sql.py
    CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_schema/current-oracle-dialect.sql
    CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_schema/current.sql
    CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_schema/upgrades/postgres-dialect/upgrade_from_18_to_19.sql
    CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_tables.py

Modified: CalendarServer/branches/users/gaya/sharedgroups-3/txdav/carddav/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups-3/txdav/carddav/datastore/sql.py	2013-05-02 17:18:45 UTC (rev 11121)
+++ CalendarServer/branches/users/gaya/sharedgroups-3/txdav/carddav/datastore/sql.py	2013-05-02 20:37:30 UTC (rev 11122)
@@ -68,7 +68,7 @@
 
     # structured tables.  (new, preferred)
     _homeSchema = schema.ADDRESSBOOK_HOME
-    _bindSchema = schema.ADDRESSBOOK_BIND
+    _bindSchema = schema.SHARED_ADDRESSBOOK_BIND
     _homeMetaDataSchema = schema.ADDRESSBOOK_HOME_METADATA
     _revisionsSchema = schema.ADDRESSBOOK_OBJECT_REVISIONS
     _objectSchema = schema.ADDRESSBOOK_OBJECT
@@ -170,7 +170,7 @@
     @inlineCallbacks
     def remove(self):
         ah = schema.ADDRESSBOOK_HOME
-        ahb = schema.ADDRESSBOOK_BIND
+        ahb = schema.SHARED_ADDRESSBOOK_BIND
         aor = schema.ADDRESSBOOK_OBJECT_REVISIONS
         rp = schema.RESOURCE_PROPERTY
 
@@ -363,7 +363,7 @@
 
     # structured tables.  (new, preferred)
     _homeSchema = schema.ADDRESSBOOK_HOME
-    _bindSchema = schema.ADDRESSBOOK_BIND
+    _bindSchema = schema.SHARED_ADDRESSBOOK_BIND
     _homeChildSchema = schema.ADDRESSBOOK_HOME
     _homeChildMetaDataSchema = schema.ADDRESSBOOK_HOME_METADATA
     _revisionsSchema = schema.ADDRESSBOOK_OBJECT_REVISIONS
@@ -1255,7 +1255,7 @@
     implements(IAddressBookObject)
 
     _objectSchema = schema.ADDRESSBOOK_OBJECT
-    _bindSchema = schema.GROUP_ADDRESSBOOK_BIND
+    _bindSchema = schema.SHARED_GROUP_BIND
 
     # used by CommonHomeChild._childrenAndMetadataForHomeID() only
     #_homeChildSchema = schema.ADDRESSBOOK_OBJECT

Modified: CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_schema/current-oracle-dialect.sql
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_schema/current-oracle-dialect.sql	2013-05-02 17:18:45 UTC (rev 11121)
+++ CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_schema/current-oracle-dialect.sql	2013-05-02 20:37:30 UTC (rev 11122)
@@ -183,7 +183,7 @@
 
 create table ADDRESSBOOK_HOME (
     "RESOURCE_ID" integer primary key,
-    "HOME_RESOURCE_ID" integer not null,
+    "PROPERTY_STORE_ID" integer not null,
     "OWNER_UID" nvarchar2(255) unique,
     "DATAVERSION" integer default 0 not null
 );
@@ -195,20 +195,20 @@
     "MODIFIED" timestamp default CURRENT_TIMESTAMP at time zone 'UTC'
 );
 
-create table ADDRESSBOOK_BIND (
+create table SHARED_ADDRESSBOOK_BIND (
     "ADDRESSBOOK_HOME_RESOURCE_ID" integer not null references ADDRESSBOOK_HOME,
-    "ADDRESSBOOK_RESOURCE_ID" integer not null references ADDRESSBOOK_HOME on delete cascade,
+    "OWNER_ADDRESSBOOK_HOME_RESOURCE_ID" integer not null references ADDRESSBOOK_HOME on delete cascade,
     "ADDRESSBOOK_RESOURCE_NAME" nvarchar2(255),
     "BIND_MODE" integer not null,
     "BIND_STATUS" integer not null,
     "MESSAGE" nclob, 
-    primary key("ADDRESSBOOK_HOME_RESOURCE_ID", "ADDRESSBOOK_RESOURCE_ID"), 
+    primary key("ADDRESSBOOK_HOME_RESOURCE_ID", "OWNER_ADDRESSBOOK_HOME_RESOURCE_ID"), 
     unique("ADDRESSBOOK_HOME_RESOURCE_ID", "ADDRESSBOOK_RESOURCE_NAME")
 );
 
 create table ADDRESSBOOK_OBJECT (
     "RESOURCE_ID" integer primary key,
-    "ADDRESSBOOK_RESOURCE_ID" integer not null references ADDRESSBOOK_HOME on delete cascade,
+    "ADDRESSBOOK_HOME_RESOURCE_ID" integer not null references ADDRESSBOOK_HOME on delete cascade,
     "RESOURCE_NAME" nvarchar2(255),
     "VCARD_TEXT" nclob,
     "VCARD_UID" nvarchar2(255),
@@ -216,8 +216,8 @@
     "MD5" nchar(32),
     "CREATED" timestamp default CURRENT_TIMESTAMP at time zone 'UTC',
     "MODIFIED" timestamp default CURRENT_TIMESTAMP at time zone 'UTC', 
-    unique("ADDRESSBOOK_RESOURCE_ID", "RESOURCE_NAME"), 
-    unique("ADDRESSBOOK_RESOURCE_ID", "VCARD_UID")
+    unique("ADDRESSBOOK_HOME_RESOURCE_ID", "RESOURCE_NAME"), 
+    unique("ADDRESSBOOK_HOME_RESOURCE_ID", "VCARD_UID")
 );
 
 create table ADDRESSBOOK_OBJECT_KIND (
@@ -243,7 +243,7 @@
     primary key("GROUP_ID", "MEMBER_ADDRESS")
 );
 
-create table GROUP_ADDRESSBOOK_BIND (
+create table SHARED_GROUP_BIND (
     "ADDRESSBOOK_HOME_RESOURCE_ID" integer not null references ADDRESSBOOK_HOME,
     "GROUP_RESOURCE_ID" integer not null references ADDRESSBOOK_OBJECT on delete cascade,
     "GROUP_ADDRESSBOOK_RESOURCE_NAME" nvarchar2(255),
@@ -265,7 +265,7 @@
 
 create table ADDRESSBOOK_OBJECT_REVISIONS (
     "ADDRESSBOOK_HOME_RESOURCE_ID" integer not null references ADDRESSBOOK_HOME,
-    "ADDRESSBOOK_RESOURCE_ID" integer references ADDRESSBOOK_HOME,
+    "OWNER_ADDRESSBOOK_HOME_RESOURCE_ID" integer references ADDRESSBOOK_HOME,
     "ADDRESSBOOK_NAME" nvarchar2(255) default null,
     "RESOURCE_NAME" nvarchar2(255),
     "REVISION" integer not null,
@@ -381,11 +381,11 @@
     CALENDAR_HOME_RESOURCE_ID
 );
 
-create index ADDRESSBOOK_BIND_RESO_205aa75c on ADDRESSBOOK_BIND (
-    ADDRESSBOOK_RESOURCE_ID
+create index SHARED_ADDRESSBOOK_BI_e9a2e6d4 on SHARED_ADDRESSBOOK_BIND (
+    OWNER_ADDRESSBOOK_HOME_RESOURCE_ID
 );
 
-create index GROUP_ADDRESSBOOK_BIN_71d6a48a on GROUP_ADDRESSBOOK_BIND (
+create index SHARED_GROUP_BIND_RES_cf52f95d on SHARED_GROUP_BIND (
     GROUP_RESOURCE_ID
 );
 
@@ -406,16 +406,16 @@
 
 create index ADDRESSBOOK_OBJECT_RE_f460d62d on ADDRESSBOOK_OBJECT_REVISIONS (
     ADDRESSBOOK_HOME_RESOURCE_ID,
-    ADDRESSBOOK_RESOURCE_ID
+    OWNER_ADDRESSBOOK_HOME_RESOURCE_ID
 );
 
 create index ADDRESSBOOK_OBJECT_RE_9a848f39 on ADDRESSBOOK_OBJECT_REVISIONS (
-    ADDRESSBOOK_RESOURCE_ID,
+    OWNER_ADDRESSBOOK_HOME_RESOURCE_ID,
     RESOURCE_NAME
 );
 
 create index ADDRESSBOOK_OBJECT_RE_cb101e6b on ADDRESSBOOK_OBJECT_REVISIONS (
-    ADDRESSBOOK_RESOURCE_ID,
+    OWNER_ADDRESSBOOK_HOME_RESOURCE_ID,
     REVISION
 );
 

Modified: CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_schema/current.sql
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_schema/current.sql	2013-05-02 17:18:45 UTC (rev 11121)
+++ CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_schema/current.sql	2013-05-02 20:37:30 UTC (rev 11122)
@@ -364,9 +364,9 @@
 -- AddressBook Bind --
 ----------------------
 
--- Joins ADDRESSBOOK_HOME and ADDRESSBOOK_HOME
+-- Joins sharee ADDRESSBOOK_HOME and owner ADDRESSBOOK_HOME
 
-create table ADDRESSBOOK_BIND (
+create table SHARED_ADDRESSBOOK_BIND (
   ADDRESSBOOK_HOME_RESOURCE_ID			integer			not null references ADDRESSBOOK_HOME,
   OWNER_ADDRESSBOOK_HOME_RESOURCE_ID    integer      	not null references ADDRESSBOOK_HOME on delete cascade,
   ADDRESSBOOK_RESOURCE_NAME    			varchar(255) 	not null,
@@ -378,8 +378,8 @@
   unique (ADDRESSBOOK_HOME_RESOURCE_ID, ADDRESSBOOK_RESOURCE_NAME)     -- implicit index
 );
 
-create index ADDRESSBOOK_BIND_RESOURCE_ID on
-  ADDRESSBOOK_BIND(OWNER_ADDRESSBOOK_HOME_RESOURCE_ID);
+create index SHARED_ADDRESSBOOK_BIND_RESOURCE_ID on
+  SHARED_ADDRESSBOOK_BIND(OWNER_ADDRESSBOOK_HOME_RESOURCE_ID);
 
 
 ------------------------
@@ -447,7 +447,7 @@
 
 -- Joins ADDRESSBOOK_HOME and ADDRESSBOOK_OBJECT (acting as Address Book)
 
-create table GROUP_ADDRESSBOOK_BIND (	
+create table SHARED_GROUP_BIND (	
   ADDRESSBOOK_HOME_RESOURCE_ID 		integer      not null references ADDRESSBOOK_HOME,
   GROUP_RESOURCE_ID      			integer      not null references ADDRESSBOOK_OBJECT on delete cascade,
   GROUP_ADDRESSBOOK_RESOURCE_NAME	varchar(255) not null,
@@ -459,8 +459,8 @@
   unique (ADDRESSBOOK_HOME_RESOURCE_ID, GROUP_ADDRESSBOOK_RESOURCE_NAME)     -- implicit index
 );
 
-create index GROUP_ADDRESSBOOK_BIND_RESOURCE_ID on
-  GROUP_ADDRESSBOOK_BIND(GROUP_RESOURCE_ID);
+create index SHARED_GROUP_BIND_RESOURCE_ID on
+  SHARED_GROUP_BIND(GROUP_RESOURCE_ID);
 
 
 ---------------

Modified: CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_schema/upgrades/postgres-dialect/upgrade_from_18_to_19.sql
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_schema/upgrades/postgres-dialect/upgrade_from_18_to_19.sql	2013-05-02 17:18:45 UTC (rev 11121)
+++ CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_schema/upgrades/postgres-dialect/upgrade_from_18_to_19.sql	2013-05-02 20:37:30 UTC (rev 11122)
@@ -19,6 +19,82 @@
 -- Upgrade database schema from VERSION 18 to 19 --
 ---------------------------------------------------
 
+alter table ADDRESSBOOK_HOME
+ add column PROPERTY_STORE_ID	integer      	default nextval('RESOURCE_ID_SEQ') not null;
 
+alter table ADDRESSBOOK_BIND
+ alter column   ADDRESSBOOK_RESOURCE_ID			  integer;
+alter table ADDRESSBOOK_BIND
+ add column OWNER_ADDRESSBOOK_HOME_RESOURCE_ID    integer      	not null references ADDRESSBOOK_HOME on delete cascade;
+
+alter table ADDRESSBOOK_BIND
+ alter column ADDRESSBOOK_RESOURCE_ID
+  drop contraint;
+
+----------------
+-- New Tables --
+----------------
+
+-----------------------------
+-- AddressBook Object kind --
+-----------------------------
+
+create table ADDRESSBOOK_OBJECT_KIND (
+  ID          integer     primary key,
+  DESCRIPTION varchar(16) not null unique
+);
+
+insert into ADDRESSBOOK_OBJECT_KIND values (0, 'person');
+insert into ADDRESSBOOK_OBJECT_KIND values (1, 'group' );
+insert into ADDRESSBOOK_OBJECT_KIND values (2, 'resource');
+insert into ADDRESSBOOK_OBJECT_KIND values (3, 'location');
+
+
+---------------------------------
+-- Address Book Object Members --
+---------------------------------
+
+create table ABO_MEMBERS (
+    GROUP_ID              integer      not null references ADDRESSBOOK_OBJECT on delete cascade,	-- AddressBook Object's (kind=='group') RESOURCE_ID
+ 	ADDRESSBOOK_ID		  integer      not null references ADDRESSBOOK_HOME on delete cascade,
+    MEMBER_ID             integer      not null references ADDRESSBOOK_OBJECT,						-- member AddressBook Object's RESOURCE_ID
+    primary key (GROUP_ID, MEMBER_ID) -- implicit index
+);
+
+
+------------------------------------------
+-- Address Book Object Foreign Members  --
+------------------------------------------
+
+create table ABO_FOREIGN_MEMBERS (
+    GROUP_ID              integer      not null references ADDRESSBOOK_OBJECT on delete cascade,	-- AddressBook Object's (kind=='group') RESOURCE_ID
+ 	ADDRESSBOOK_ID		  integer      not null references ADDRESSBOOK_HOME on delete cascade,
+    MEMBER_ADDRESS  	  varchar(255) not null, 													-- member AddressBook Object's 'calendar' address
+    primary key (GROUP_ID, MEMBER_ADDRESS) -- implicit index
+);
+
+
+-----------------------------
+-- Group Address Book Bind --
+-----------------------------
+
+-- Joins ADDRESSBOOK_HOME and ADDRESSBOOK_OBJECT (acting as Address Book)
+
+create table GROUP_ADDRESSBOOK_BIND (	
+  ADDRESSBOOK_HOME_RESOURCE_ID 		integer      not null references ADDRESSBOOK_HOME,
+  GROUP_RESOURCE_ID      			integer      not null references ADDRESSBOOK_OBJECT on delete cascade,
+  GROUP_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
+  MESSAGE                      		text,                  -- FIXME: xml?
+
+  primary key (ADDRESSBOOK_HOME_RESOURCE_ID, GROUP_RESOURCE_ID), -- implicit index
+  unique (ADDRESSBOOK_HOME_RESOURCE_ID, GROUP_ADDRESSBOOK_RESOURCE_NAME)     -- implicit index
+);
+
+create index GROUP_ADDRESSBOOK_BIND_RESOURCE_ID on
+  GROUP_ADDRESSBOOK_BIND(GROUP_RESOURCE_ID);
+  
+  
 -- Now update the version
 update CALENDARSERVER set VALUE = '19' where NAME = 'VERSION';

Modified: CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_tables.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_tables.py	2013-05-02 17:18:45 UTC (rev 11121)
+++ CalendarServer/branches/users/gaya/sharedgroups-3/txdav/common/datastore/sql_tables.py	2013-05-02 20:37:30 UTC (rev 11122)
@@ -58,18 +58,18 @@
     schema.CALENDAR_BIND.CALENDAR_RESOURCE_ID
 schema.CALENDAR_BIND.HOME_RESOURCE_ID = \
     schema.CALENDAR_BIND.CALENDAR_HOME_RESOURCE_ID
-schema.ADDRESSBOOK_BIND.RESOURCE_NAME = \
-    schema.ADDRESSBOOK_BIND.ADDRESSBOOK_RESOURCE_NAME
-schema.ADDRESSBOOK_BIND.RESOURCE_ID = \
-    schema.ADDRESSBOOK_BIND.OWNER_ADDRESSBOOK_HOME_RESOURCE_ID
-schema.ADDRESSBOOK_BIND.HOME_RESOURCE_ID = \
-    schema.ADDRESSBOOK_BIND.ADDRESSBOOK_HOME_RESOURCE_ID
-schema.GROUP_ADDRESSBOOK_BIND.RESOURCE_NAME = \
-    schema.GROUP_ADDRESSBOOK_BIND.GROUP_ADDRESSBOOK_RESOURCE_NAME
-schema.GROUP_ADDRESSBOOK_BIND.RESOURCE_ID = \
-    schema.GROUP_ADDRESSBOOK_BIND.GROUP_RESOURCE_ID
-schema.GROUP_ADDRESSBOOK_BIND.HOME_RESOURCE_ID = \
-    schema.GROUP_ADDRESSBOOK_BIND.ADDRESSBOOK_HOME_RESOURCE_ID
+schema.SHARED_ADDRESSBOOK_BIND.RESOURCE_NAME = \
+    schema.SHARED_ADDRESSBOOK_BIND.ADDRESSBOOK_RESOURCE_NAME
+schema.SHARED_ADDRESSBOOK_BIND.RESOURCE_ID = \
+    schema.SHARED_ADDRESSBOOK_BIND.OWNER_ADDRESSBOOK_HOME_RESOURCE_ID
+schema.SHARED_ADDRESSBOOK_BIND.HOME_RESOURCE_ID = \
+    schema.SHARED_ADDRESSBOOK_BIND.ADDRESSBOOK_HOME_RESOURCE_ID
+schema.SHARED_GROUP_BIND.RESOURCE_NAME = \
+    schema.SHARED_GROUP_BIND.GROUP_ADDRESSBOOK_RESOURCE_NAME
+schema.SHARED_GROUP_BIND.RESOURCE_ID = \
+    schema.SHARED_GROUP_BIND.GROUP_RESOURCE_ID
+schema.SHARED_GROUP_BIND.HOME_RESOURCE_ID = \
+    schema.SHARED_GROUP_BIND.ADDRESSBOOK_HOME_RESOURCE_ID
 schema.CALENDAR_OBJECT_REVISIONS.RESOURCE_ID = \
     schema.CALENDAR_OBJECT_REVISIONS.CALENDAR_RESOURCE_ID
 schema.CALENDAR_OBJECT_REVISIONS.HOME_RESOURCE_ID = \
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130502/7fc9d91e/attachment-0001.html>


More information about the calendarserver-changes mailing list