Symbian3/SDK/Source/GUID-9E83A253-3C7F-58E9-94FE-EC127BE9C026.dita
changeset 13 48780e181b38
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-9E83A253-3C7F-58E9-94FE-EC127BE9C026.dita	Tue Jul 20 12:00:49 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"Eclipse Public License v1.0" which accompanies this distribution, 
+and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
+<!-- Initial Contributors:
+    Nokia Corporation - initial contribution.
+Contributors: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-9E83A253-3C7F-58E9-94FE-EC127BE9C026"><title>Transaction Notifications</title><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-30596B27-BF0F-544C-80DF-199352143AF2"><title>Overview</title> <p>Database events are not sent to observers during a transaction. Instead, they are queued by the server and only sent once the transaction is committed. If the transaction is cancelled (if a rollback occurs) then none of the queued events will be sent to observers apart from the <xref href="GUID-4695321C-1745-3173-8D8E-5FBE89445F55.dita"><apiname>EContactDbObserverEventRollback</apiname></xref> event. </p> </section> <section id="GUID-E66C3FE1-08D2-541E-AE24-CEE5F47CD967"><title>Transaction Related APIs</title> <p>The behaviour described above comes into effect when using the following APIs: </p> <ul><li id="GUID-CC0201D5-B1EF-53E1-9E5C-856097990DAD"><p> <xref href="GUID-76906F78-4D8A-3ECA-832E-BD996F54EB89.dita#GUID-76906F78-4D8A-3ECA-832E-BD996F54EB89/GUID-D21FF939-216E-3C3C-B9A6-3D04A3C62A9A"><apiname>void CContactDatabase::DatabaseBeginL(…)</apiname></xref>  </p> </li> <li id="GUID-81700472-6AAF-5334-BEE9-4BC77CDDE9EC"><p> <xref href="GUID-76906F78-4D8A-3ECA-832E-BD996F54EB89.dita#GUID-76906F78-4D8A-3ECA-832E-BD996F54EB89/GUID-D2F11144-62B4-3A60-AF6F-C2BCD2D2AB75"><apiname>void CContactDatabase::DatabaseBeginLC(…)</apiname></xref>  </p> </li> <li id="GUID-49592F0D-7A8C-5ED5-A86E-68F887AA4C65"><p> <xref href="GUID-76906F78-4D8A-3ECA-832E-BD996F54EB89.dita#GUID-76906F78-4D8A-3ECA-832E-BD996F54EB89/GUID-1E22B186-3CBF-3CD7-A165-D2BBDA1B25CA"><apiname>void CContactDatabase::DatabaseCommitL(…)</apiname></xref>  </p> </li> <li id="GUID-6D428B8B-B88F-50EB-A8A4-558E6189B815"><p> <xref href="GUID-76906F78-4D8A-3ECA-832E-BD996F54EB89.dita#GUID-76906F78-4D8A-3ECA-832E-BD996F54EB89/GUID-44F9D847-5AC6-3860-8B85-2E9B58DE3DB7"><apiname>void CContactDatabase::DatabaseCommitLP(…)</apiname></xref>  </p> </li> <li id="GUID-FA7C6C21-CF7F-553F-BFE7-AD9509E104AA"><p> <xref href="GUID-76906F78-4D8A-3ECA-832E-BD996F54EB89.dita#GUID-76906F78-4D8A-3ECA-832E-BD996F54EB89/GUID-48DAF2AB-685B-3A64-87F8-940ACD8B45AF"><apiname>void CContactDatabase::DeleteContactsL(…)</apiname></xref>  </p> </li> <li id="GUID-FA898881-803E-5DD7-8E16-26A0CD07F7E4"><p> <xref href="GUID-76906F78-4D8A-3ECA-832E-BD996F54EB89.dita#GUID-76906F78-4D8A-3ECA-832E-BD996F54EB89/GUID-C2B81C2C-6F85-3032-A513-FED13B55C049"><apiname>void CContactDatabase::DatabaseRollback()</apiname></xref>  </p> </li> </ul> </section> <section id="GUID-51302568-7DEE-5E51-A635-BF62C2566D69"><title>Implementation Considerations </title> <p>A maximum of 1000 database events will be queued during a transaction. If there are more events than this then the queued events will be discarded. When the transaction is committed the <xref href="GUID-E3B188B5-36BF-33AF-AED6-1394CAA52F80.dita"><apiname>EContactDbObserverEventUnknownChanges</apiname></xref> event will be sent to observers instead. </p> <p>It is important to note that in the previous version of the Contacts Model database events were sent to observers as they occurred during a transaction. The new model behaviour is more appropriate since, when a rollback occurs, there is no point in receiving events for operations which never actually happened (that is, were not committed). </p> </section> </conbody></concept>
\ No newline at end of file