Defragment Class

Summary

defragments database files.
Assembly
Db4objects.Db4o-2010.dll
Namespace
Db4objects.Db4o.Defragment
Base Types
  • Object
graph BT Type-->Base0["Object"] Type["Defragment"] class Type type-node

Syntax

public class Defragment

Remarks

defragments database files.

db4o structures storage inside database files as free and occupied slots, very much like a file system - and just like a file system it can be fragmented.

The simplest way to defragment a database file:

Defragment.Defrag("sample.yap");
    


This will move the file to "sample.yap.backup", then create a defragmented version of this file in the original position, using a temporary file "sample.yap.mapping". If the backup file already exists, this will throw an exception and no action will be taken.

For more detailed configuration of the defragmentation process, provide a DefragmentConfig instance:

DefragmentConfig config=new DefragmentConfig("sample.yap","sample.bap",new BTreeIDMapping("sample.map"));

config.ForceBackupDelete(true);
config.StoredClassFilter(new AvailableClassFilter());
config.Db4oConfig(db4oConfig);
Defragment.Defrag(config);


This will move the file to "sample.bap", then create a defragmented version of this file in the original position, using a temporary file "sample.map" for BTree mapping. If the backup file already exists, it will be deleted. The defragmentation process will skip all classes that have instances stored within the yap file, but that are not available on the class path (through the current classloader). Custom db4o configuration options are read from the Db4objects.Db4o.Config.IConfiguration passed as db4oConfig. Note: For some specific, non-default configuration settings like UUID generation, etc., you must pass an appropriate db4o configuration, just like you'd use it within your application for normal database operation.

Methods

Name Value Summary
Defrag(DefragmentConfig, IDefragmentListener) void
Renames the file at the configured original path to the configured backup path and then builds a defragmented version of the file in the original place.
static
Defrag(DefragmentConfig) void
Renames the file at the configured original path to the configured backup path and then builds a defragmented version of the file in the original place.
static
Defrag(string, string) void
Renames the file at the given original path to the given backup file and then builds a defragmented version of the file in the original place.
static
Defrag(string) void
Renames the file at the given original path to a backup file and then builds a defragmented version of the file in the original place.
static