Incremental operations overview

Allows long-running database operations to be performed in steps, so that a user program can remain responsive to other events.


The API has two key concepts: database incremental operations, and DML statement incremental execution.

Database incremental operations

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.

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.

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.

Database incremental operations are provided by RDbIncremental.

DML statement incremental execution

A class is provided, similar to RDbIncremental, for performing DML (SQL data update) statements incrementally. This is RDbUpdate.