//-----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation.
//
//-----------------------------------------------------------------------
namespace Microsoft.Isam.Esent.Interop.Windows7
{
using System;
#if !MANAGEDESENT_ON_WSA // Not exposed in MSDK
///
/// Options for .
///
[Flags]
public enum CrashDumpGrbit
{
///
/// Default options.
///
None = 0,
///
/// Dump minimum includes .
///
Minimum = 0x1,
///
/// Dump maximum includes .
///
Maximum = 0x2,
///
/// CacheMinimum includes pages that are latched.
/// CacheMinimum includes pages that are used for memory.
/// CacheMinimum includes pages that are flagged with errors.
///
CacheMinimum = 0x4,
///
/// Cache maximum includes cache minimum.
/// Cache maximum includes the entire cache image.
///
CacheMaximum = 0x8,
///
/// Dump includes pages that are modified.
///
CacheIncludeDirtyPages = 0x10,
///
/// Dump includes pages that contain valid data.
///
CacheIncludeCachedPages = 0x20,
///
/// Dump includes pages that are corrupted (expensive to compute).
///
CacheIncludeCorruptedPages = 0x40,
}
#endif // !MANAGEDESENT_ON_WSA
///
/// Options for .
///
[Flags]
public enum PrereadKeysGrbit
{
///
/// Preread forward.
///
Forward = 0x1,
///
/// Preread backwards.
///
Backwards = 0x2,
}
///
/// Grbits that have been added to the Windows 7 version of ESENT.
///
public static class Windows7Grbits
{
///
/// Compress data in the column, if possible.
///
public const ColumndefGrbit ColumnCompressed = (ColumndefGrbit)0x80000;
///
/// Try to compress the data when storing it.
///
public const SetColumnGrbit Compressed = (SetColumnGrbit)0x20000;
///
/// Don't compress the data when storing it.
///
public const SetColumnGrbit Uncompressed = (SetColumnGrbit)0x10000;
///
/// Recover without error even if uncommitted logs have been lost. Set
/// the recovery waypoint with Windows7Param.WaypointLatency to enable
/// this type of recovery.
///
public const InitGrbit ReplayIgnoreLostLogs = (InitGrbit)0x80;
///
/// Terminate without flushing the database cache.
///
public const TermGrbit Dirty = (TermGrbit)0x8;
///
/// Permit only intrinsic LV's (so materialisation is not required simply
/// because a TT has an LV column).
///
public const TempTableGrbit IntrinsicLVsOnly = (TempTableGrbit)0x80;
///
/// When enumerating column values only retrieve data that is present in
/// the record. This means that BLOB columns will not always be retrieved.
///
public const EnumerateColumnsGrbit EnumerateInRecordOnly = (EnumerateColumnsGrbit)0x00200000;
///
/// Force a new logfile to be created. This option may be used even if
/// the session is not currently in a transaction. This option cannot
/// be used in combination with any other option.
///
public const CommitTransactionGrbit ForceNewLog = (CommitTransactionGrbit)0x10;
#if !MANAGEDESENT_ON_WSA
///
/// No instances will be prepared by default. Instances must be added explicitly.
///
public const SnapshotPrepareGrbit ExplicitPrepare = (SnapshotPrepareGrbit)0x8;
#endif // !MANAGEDESENT_ON_WSA
///
/// Hint that the sequential traversal will be in the forward direction.
///
public const SetTableSequentialGrbit Forward = (SetTableSequentialGrbit)0x1;
///
/// While running Online Defragmentation, do not perform partial merges of pages.
///
public const DefragGrbit NoPartialMerges = (DefragGrbit)0x80;
///
/// Defragment a single BTree.
///
public const DefragGrbit DefragmentBTree = (DefragGrbit)0x100;
///
/// Hint that the sequential traversal will be in the backward direction.
///
public const SetTableSequentialGrbit Backward = (SetTableSequentialGrbit)0x2;
///
/// The database engine will initiate automatic background database maintenance upon database attachment.
///
public const AttachDatabaseGrbit EnableAttachDbBackgroundMaintenance = (AttachDatabaseGrbit)0x800;
///
/// The database engine will initiate automatic background database maintenance upon database creation.
///
public const CreateDatabaseGrbit EnableCreateDbBackgroundMaintenance = (CreateDatabaseGrbit)0x800;
}
}