<?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 id="GUID-120163D6-2E49-5D91-A746-2C8C4C944461" xml:lang="en"><title>Incremental
operations overview</title><shortdesc>Allows long-running database operations to be performed in steps,
so that a user program can remain responsive to other events.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-10CCFE47-6AC1-4756-BB03-FE07F589DE1F"><title>Description</title> <p>The
API has two key concepts: database incremental operations, and DML statement
incremental execution. </p> <p><b>Database incremental operations</b> </p> <p>This
allows long-running database operations—table alteration and discard, database
compaction and recovery, index creation and discard, DDL (SQL schema update)
statement execution—to be performed in incremental steps.</p> <p>While an
incremental operation is in progress, the database cannot be used for any
other operations such as opening tables or preparing views. Beginning an incremental
operation also requires that no rowsets are open on the database, and that
no data manipulation transactions are pending a commit. </p> <p>If no explicit
transaction has been started by the database, an automatic transaction is
begun when any incremental operation is started and is committed when complete,
or rolled back if the operation fails or is abandoned prior to completion.</p> <p>Database
incremental operations are provided by <xref href="GUID-B07C2FDC-357E-31F8-B67E-0A252EEF2187.dita"><apiname>RDbIncremental</apiname></xref>.</p> <p><b>DML
statement incremental execution</b> </p> <p>A class is provided, similar to <xref href="GUID-B07C2FDC-357E-31F8-B67E-0A252EEF2187.dita"><apiname>RDbIncremental</apiname></xref>,
for performing DML (SQL data update) statements incrementally. This is <xref href="GUID-B9D43EA2-F1F1-3830-A16A-F73F06C2BB3D.dita"><apiname>RDbUpdate</apiname></xref>.</p> </section>
</conbody></concept>