[CalendarServer-changes] [9981] CalendarServer/branches/users/gaya/sharedgroups/txdav
source_changes at macosforge.org
source_changes at macosforge.org
Wed Oct 24 14:29:59 PDT 2012
Revision: 9981
http://trac.calendarserver.org//changeset/9981
Author: gaya at apple.com
Date: 2012-10-24 14:29:59 -0700 (Wed, 24 Oct 2012)
Log Message:
-----------
Delete member tables when address book is deleted
Modified Paths:
--------------
CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py
CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/test/test_sql.py
CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql.py
CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql_schema/current.sql
Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py 2012-10-24 20:37:53 UTC (rev 9980)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py 2012-10-24 21:29:59 UTC (rev 9981)
@@ -251,7 +251,8 @@
for groupID in groupIDs:
yield Insert(
{aboForeignMembers.GROUP_ID: groupID,
- aboForeignMembers.MEMBER_ADDRESS: "urn:uuid:" + self._uid, }
+ aboForeignMembers.ADDRESSBOOK_ID: self._addressbook._resourceID,
+ aboForeignMembers.MEMBER_ADDRESS: "urn:uuid:" + self._uid, }
).on(self._txn)
if self._kind == _ABO_KIND_GROUP:
@@ -383,6 +384,7 @@
for groupID in groupIDs:
yield Insert(
{aboMembers.GROUP_ID: groupID,
+ aboMembers.ADDRESSBOOK_ID: self._addressbook._resourceID,
aboMembers.MEMBER_ID: self._resourceID, }
).on(self._txn)
@@ -429,6 +431,7 @@
for memberIDToAdd in memberIDsToAdd:
yield Insert(
{aboMembers.GROUP_ID: self._resourceID,
+ aboMembers.ADDRESSBOOK_ID: self._addressbook._resourceID,
aboMembers.MEMBER_ID: memberIDToAdd, }
).on(self._txn)
@@ -449,6 +452,7 @@
for foreignMemberAddrToAdd in foreignMemberAddrsToAdd:
yield Insert(
{aboForeignMembers.GROUP_ID: self._resourceID,
+ aboForeignMembers.ADDRESSBOOK_ID: self._addressbook._resourceID,
aboForeignMembers.MEMBER_ADDRESS: foreignMemberAddrToAdd, }
).on(self._txn)
Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/test/test_sql.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/test/test_sql.py 2012-10-24 20:37:53 UTC (rev 9980)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/test/test_sql.py 2012-10-24 21:29:59 UTC (rev 9981)
@@ -343,6 +343,8 @@
person = yield abObject.component()
self.assertEqual(person.resourceUID(), "uid1")
+ yield home.removeAddressBookWithName("addressbook")
+
yield txn.commit()
@@ -433,6 +435,7 @@
self.assertEqual(badgroup.resourceKind(), "badgroup")
self.assertEqual(abObject.kind(), _ABO_KIND_PERSON)
+ yield home.removeAddressBookWithName("addressbook")
yield txn.commit()
@@ -519,6 +522,7 @@
foreignMemberRows = yield Select([aboForeignMembers.GROUP_ID, aboForeignMembers.MEMBER_ADDRESS], From=aboForeignMembers).on(txn)
self.assertEqual(foreignMemberRows, [[groupObject._resourceID, "urn:uuid:uid3"]])
+ yield home.removeAddressBookWithName("addressbook")
yield txn.commit()
Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql.py 2012-10-24 20:37:53 UTC (rev 9980)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql.py 2012-10-24 21:29:59 UTC (rev 9981)
@@ -1285,10 +1285,8 @@
if child is None:
raise NoSuchHomeChildError()
- try:
- yield child.remove()
- finally:
- self._children.pop(name, None)
+ yield child.remove()
+ self._children.pop(name, None)
@classproperty
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 20:37:53 UTC (rev 9980)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql_schema/current.sql 2012-10-24 21:29:59 UTC (rev 9981)
@@ -362,7 +362,7 @@
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 reference ADDRESSBOOK_OBJECT ####
+ 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,
@@ -394,8 +394,9 @@
---------------------------------
create table ABO_MEMBERS (
- GROUP_ID integer references ADDRESSBOOK_OBJECT, -- AddressBook Object's (kind=='group') RESOURCE_ID
- MEMBER_ID integer not null references ADDRESSBOOK_OBJECT, -- member AddressBook Object's RESOURCE_ID
+ 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 ####
+ MEMBER_ID integer not null references ADDRESSBOOK_OBJECT, -- member AddressBook Object's RESOURCE_ID
primary key(GROUP_ID, MEMBER_ID) -- implicit index
);
@@ -404,8 +405,9 @@
------------------------------------------
create table ABO_FOREIGN_MEMBERS (
- GROUP_ID integer references ADDRESSBOOK_OBJECT, -- AddressBook Object's (kind=='group') RESOURCE_ID
- MEMBER_ADDRESS varchar(255) not null, -- member AddressBook Object's address
+ 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 ####
+ MEMBER_ADDRESS varchar(255) not null, -- member AddressBook Object's address
primary key(GROUP_ID, MEMBER_ADDRESS) -- implicit index
);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20121024/e87029fe/attachment-0001.html>
More information about the calendarserver-changes
mailing list