[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