Compact the database, and optionally return unused database pages to the underlying filesystem.

Namespace:  BerkeleyDB
Assembly:  libdb_dotnet52 (in libdb_dotnet52.dll) Version:


public CompactData Compact(
	CompactConfig cdata,
	Transaction txn
Visual Basic (Declaration)
Public Function Compact ( _
	cdata As CompactConfig, _
	txn As Transaction _
) As CompactData
Visual C++
CompactData^ Compact(
	CompactConfig^ cdata, 
	Transaction^ txn


Type: BerkeleyDB..::.CompactConfig
Compact configuration parameters
Type: BerkeleyDB..::.Transaction
If the operation is part of an application-specified transaction, txn is a Transaction object returned from BeginTransaction()()(); if the operation is part of a Berkeley DB Concurrent Data Store group, txn is a handle returned from BeginCDSGroup()()(); otherwise null.

Return Value

Compact operation statistics


If txn is non-null, then the operation is performed using that transaction. In this event, large sections of the tree may be locked during the course of the transaction.

If txn is null, but the operation occurs in a transactional database, the operation will be implicitly transaction protected using multiple transactions. These transactions will be periodically committed to avoid locking large sections of the tree. Any deadlocks encountered cause the compaction operation to be retried from the point of the last transaction commit.

See Also