//----------------------------------------------------------------------- // // 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; } }