//-----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation.
//
//-----------------------------------------------------------------------
namespace Microsoft.Isam.Esent.Interop.Windows81
{
using System;
using Microsoft.Isam.Esent.Interop.Windows8;
///
/// Options for .
///
[Flags]
public enum ShrinkDatabaseGrbit
{
///
/// Does not reduce the size of the database during normal operations.
///
Off = 0x0,
///
/// Turns on the database shrinking functionality. If this parameter is not
/// set, then will be unable to reclaim
/// space to the file system.
/// Uses the file system's Sparse Files feature to release space
/// in the middle of a file. When enough rows or tables get free up by
/// the Version Store Cleanup task, and space is reclaimed, the database
/// engine will attempt to return it to the file system, via sparse files.
/// Sparse files are currently only available on NTFS and ReFS file systems.
///
On = 0x1,
///
/// After space is release from a table to a the root Available Extent, the database
/// engine will attempt to release the space back to the file system. This parameter
/// requires that is also specified.
///
Realtime = 0x2,
}
///
/// Options that have been introduced in Windows 8.1.
///
public static class Windows81Grbits
{
///
/// Only shrink the database to the desired size, but keeping an
/// empty extent at the end. If the resize call would grow the database, do nothing.
/// In order to use this functionality,
/// must be set to . Otherwise, an exception may
/// be thrown.
///
public const ResizeDatabaseGrbit OnlyShrink = (ResizeDatabaseGrbit)0x2;
}
}