[CalendarServer-changes] [10004] CalendarServer/branches/users/gaya/sharedgroups
source_changes at macosforge.org
source_changes at macosforge.org
Mon Nov 5 13:28:10 PST 2012
Revision: 10004
http://trac.calendarserver.org//changeset/10004
Author: gaya at apple.com
Date: 2012-11-05 13:28:10 -0800 (Mon, 05 Nov 2012)
Log Message:
-----------
fix shared group address book metainfo
Modified Paths:
--------------
CalendarServer/branches/users/gaya/sharedgroups/calendarserver/tools/dbinspect.py
CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py
CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql.py
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/calendarserver/tools/dbinspect.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/calendarserver/tools/dbinspect.py 2012-11-05 18:38:16 UTC (rev 10003)
+++ CalendarServer/branches/users/gaya/sharedgroups/calendarserver/tools/dbinspect.py 2012-11-05 21:28:10 UTC (rev 10004)
@@ -778,10 +778,11 @@
schema.ATTACHMENT,
schema.ADDRESSBOOK_OBJECT_REVISIONS,
-
- schema.ADDRESSBOOK,
+
+ schema.ABO_MEMBERS
+ schema.ADDRESSBOOK_OBJECT,
#schema.ADDRESSBOOK_BIND, - cascades
- #schema.ADDRESSBOOK_OBJECT, - cascades
+ #schema.ABO_FOREIGN_MEMBERS, - cascades
schema.ADDRESSBOOK_HOME,
#schema.ADDRESSBOOK_HOME_METADATA, - cascades
Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py 2012-11-05 18:38:16 UTC (rev 10003)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py 2012-11-05 21:28:10 UTC (rev 10004)
@@ -145,7 +145,6 @@
DAL statement to create an addressbook object with all default values.
"""
abo = schema.ADDRESSBOOK_OBJECT
- assert schema.ADDRESSBOOK_OBJECT == schema.ADDRESSBOOK
return Insert(
{abo.RESOURCE_ID: schema.RESOURCE_ID_SEQ,
abo.ADDRESSBOOK_RESOURCE_ID: Parameter("addressbookResourceID"),
@@ -169,8 +168,8 @@
# structured tables. (new, preferred)
_homeSchema = schema.ADDRESSBOOK_HOME
_bindSchema = schema.ADDRESSBOOK_BIND
- _homeChildSchema = schema.ADDRESSBOOK
- _homeChildMetaDataSchema = schema.ADDRESSBOOK_METADATA
+ _homeChildSchema = schema.ADDRESSBOOK_OBJECT
+ _homeChildMetaDataSchema = schema.ADDRESSBOOK_OBJECT
_revisionsSchema = schema.ADDRESSBOOK_OBJECT_REVISIONS
_objectSchema = schema.ADDRESSBOOK_OBJECT
@@ -233,16 +232,6 @@
return super(AddressBook, self).unshare(EADDRESSBOOKTYPE)
- @classproperty
- def _insertHomeChildMetaData(cls): #@NoSelf
- """
- DAL statement to create a home child with all default values.
- """
- child = cls._homeChildMetaDataSchema
- return Insert({child.RESOURCE_ID: Parameter("resourceID")},
- Return=(child.CREATED, child.MODIFIED))
-
-
@classmethod
@inlineCallbacks
def _createChild(cls, home, name): #@NoSelf
@@ -278,13 +267,6 @@
kind=_ABO_KIND_GROUP,
))[0]
- # TODO: remove metadata table
- created, modified = (
- yield cls._insertHomeChildMetaData.on(
- home._txn,
- resourceID=resourceID,
- ))[0]
-
returnValue((resourceID, created, modified))
@@ -394,13 +376,15 @@
Return=aboMembers.GROUP_ID
).on(self._txn)
+ print("remove:self=%s, deleted from groupIDs=%s" % (self, groupIDs,))
+
# add to foreign member table row by UID
assert self._ownerAddressBookResourceID
for groupID in groupIDs:
if groupID[0] != self._ownerAddressBookResourceID:
# remove on address book, add aboForeignMembers row to local groups only
yield Insert(
- {aboForeignMembers.GROUP_ID: groupID,
+ {aboForeignMembers.GROUP_ID: groupID[0],
aboForeignMembers.ADDRESSBOOK_ID: self._ownerAddressBookResourceID,
aboForeignMembers.MEMBER_ADDRESS: "urn:uuid:" + self._uid, }
).on(self._txn)
Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql.py 2012-11-05 18:38:16 UTC (rev 10003)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql.py 2012-11-05 21:28:10 UTC (rev 10004)
@@ -2501,16 +2501,25 @@
bind.BIND_STATUS,
bind.MESSAGE]
columns.extend(cls.metadataColumns())
- return Select(columns,
- From=child.join(
- bind, child.RESOURCE_ID == bind.RESOURCE_ID,
- 'left outer').join(
- childMetaData, childMetaData.RESOURCE_ID == bind.RESOURCE_ID,
- 'left outer'),
- Where=(bind.HOME_RESOURCE_ID == Parameter("homeID")
- ).And(bind.BIND_STATUS == _BIND_STATUS_ACCEPTED))
+ if child == childMetaData:
+ return Select(columns,
+ From=child.join(
+ bind, child.RESOURCE_ID == bind.RESOURCE_ID,
+ 'left outer'),
+ Where=(bind.HOME_RESOURCE_ID == Parameter("homeID")
+ ).And(bind.BIND_STATUS == _BIND_STATUS_ACCEPTED))
+ else:
+ return Select(columns,
+ From=child.join(
+ bind, child.RESOURCE_ID == bind.RESOURCE_ID,
+ 'left outer').join(
+ childMetaData, childMetaData.RESOURCE_ID == bind.RESOURCE_ID,
+ 'left outer'),
+ Where=(bind.HOME_RESOURCE_ID == Parameter("homeID")
+ ).And(bind.BIND_STATUS == _BIND_STATUS_ACCEPTED))
+
def shareMode(self):
"""
@see: L{ICalendar.shareMode}
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-11-05 18:38:16 UTC (rev 10003)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql_schema/current.sql 2012-11-05 21:28:10 UTC (rev 10004)
@@ -390,18 +390,6 @@
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 --
----------------------
Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql_tables.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql_tables.py 2012-11-05 18:38:16 UTC (rev 10003)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql_tables.py 2012-11-05 21:28:10 UTC (rev 10004)
@@ -91,8 +91,6 @@
schema.ADDRESSBOOK_OBJECT.VCARD_UID
schema.ADDRESSBOOK_OBJECT.PARENT_RESOURCE_ID = \
schema.ADDRESSBOOK_OBJECT.ADDRESSBOOK_RESOURCE_ID
-schema.ADDRESSBOOK = \
- schema.ADDRESSBOOK_OBJECT
@@ -195,7 +193,7 @@
ADDRESSBOOK_HOME_METADATA_TABLE = _S(schema.ADDRESSBOOK_HOME_METADATA)
NOTIFICATION_HOME_TABLE = _S(schema.NOTIFICATION_HOME)
CALENDAR_TABLE = _S(schema.CALENDAR)
-ADDRESSBOOK_TABLE = _S(schema.ADDRESSBOOK)
+ADDRESSBOOK_TABLE = _S(schema.ADDRESSBOOK_OBJECT)
CALENDAR_BIND_TABLE = _S(schema.CALENDAR_BIND)
ADDRESSBOOK_BIND_TABLE = _S(schema.ADDRESSBOOK_BIND)
CALENDAR_OBJECT_REVISIONS_TABLE = _S(schema.CALENDAR_OBJECT_REVISIONS)
Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/test/util.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/test/util.py 2012-11-05 18:38:16 UTC (rev 10003)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/test/util.py 2012-11-05 21:28:10 UTC (rev 10004)
@@ -211,6 +211,7 @@
'NOTIFICATION_OBJECT_REVISIONS',
'ADDRESSBOOK_OBJECT_REVISIONS',
'CALENDAR_OBJECT_REVISIONS',
+ 'ABO_MEMBERS',
'ADDRESSBOOK_OBJECT',
'CALENDAR_OBJECT',
'CALENDAR_BIND',
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20121105/c0c9974e/attachment-0001.html>
More information about the calendarserver-changes
mailing list