[CalendarServer-changes] [6972] CalendarServer/branches/users/glyph/dalify/txdav/common/datastore/ sql.py

source_changes at macosforge.org source_changes at macosforge.org
Wed Feb 16 06:33:41 PST 2011


Revision: 6972
          http://trac.macosforge.org/projects/calendarserver/changeset/6972
Author:   glyph at apple.com
Date:     2011-02-16 06:33:41 -0800 (Wed, 16 Feb 2011)
Log Message:
-----------
dalify CommonHomeChild.remove

Modified Paths:
--------------
    CalendarServer/branches/users/glyph/dalify/txdav/common/datastore/sql.py

Modified: CalendarServer/branches/users/glyph/dalify/txdav/common/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/glyph/dalify/txdav/common/datastore/sql.py	2011-02-16 14:33:29 UTC (rev 6971)
+++ CalendarServer/branches/users/glyph/dalify/txdav/common/datastore/sql.py	2011-02-16 14:33:41 UTC (rev 6972)
@@ -65,6 +65,7 @@
 from twext.enterprise.dal.syntax import Insert
 from twext.enterprise.dal.syntax import Max
 from twext.enterprise.dal.syntax import default
+from twext.enterprise.dal.syntax import Delete
 from twext.enterprise.dal.syntax import Update
 
 from txdav.base.propertystore.base import PropertyName
@@ -1342,25 +1343,30 @@
         self.notifyChanged()
 
 
+
+    @classproperty
+    def _deleteQuery(cls):
+        """
+        DAL statement to delete a L{CommonHomeChild} by its resource ID.
+        """
+        child = cls._homeChildSchema
+        return Delete(child, Where=child.RESOURCE_ID == Parameter("resourceID"))
+
+
     @inlineCallbacks
     def remove(self):
-
         yield self._deletedSyncToken()
-
-        yield self._txn.execSQL(
-            "delete from %(name)s where %(column_RESOURCE_ID)s = %%s" % self._homeChildTable,
-            [self._resourceID],
-            raiseOnZeroRowCount=NoSuchHomeChildError
-        )
-
+        yield self._deleteQuery.on(self._txn, NoSuchHomeChildError,
+                                   resourceID=self._resourceID)
         # Set to non-existent state
         self._resourceID = None
-        self._created = None
-        self._modified = None
-        self._objects = {}
+        self._created    = None
+        self._modified   = None
+        self._objects    = {}
 
         self.notifyChanged()
 
+
     def ownerHome(self):
         return self._home
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20110216/f449503e/attachment-0001.html>


More information about the calendarserver-changes mailing list