//-----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation.
//
//-----------------------------------------------------------------------
namespace Microsoft.Isam.Esent.Interop.Server2003
{
using System;
#if !MANAGEDESENT_ON_WSA // Not exposed in MSDK
///
/// Options for .
///
[Flags]
public enum SnapshotAbortGrbit
{
///
/// Default options.
///
None = 0,
}
#endif // !MANAGEDESENT_ON_WSA
///
/// Options for .
///
[Flags]
public enum UpdateGrbit
{
///
/// Default options.
///
None = 0,
#if !MANAGEDESENT_ON_WSA // Not exposed in MSDK
///
/// This flag causes the update to return an error if the update would
/// not have been possible in the Windows 2000 version of ESE, which
/// enforced a smaller maximum number of multi-valued column instances
/// in each record than later versions of ESE. This is important only
/// for applications that wish to replicate data between applications
/// hosted on Windows 2000 and applications hosted on Windows
/// 2003, or later versions of ESE. It should not be necessary for most
/// applications.
///
[Obsolete("Only needed for legacy replication applications.")]
CheckESE97Compatibility = 0x1,
#endif // !MANAGEDESENT_ON_WSA
}
///
/// Grbits that have been added to the Windows Server 2003 version of ESENT.
///
public static class Server2003Grbits
{
///
/// Delete all indexes with unicode columns.
///
public const AttachDatabaseGrbit DeleteUnicodeIndexes = (AttachDatabaseGrbit)0x400;
///
/// This is a finalizable column (delete record if escrow value equals 0).
///
public const ColumndefGrbit ColumnDeleteOnZero = (ColumndefGrbit)0x20000;
///
/// This option requests that the temporary table only be created if the
/// temporary table manager can use the implementation optimized for
/// intermediate query results. If any characteristic of the temporary
/// table would prevent the use of this optimization then the operation
/// will fail with JET_errCannotMaterializeForwardOnlySort. A side effect
/// of this option is to allow the temporary table to contain records
/// with duplicate index keys. See
/// for more information.
///
public const TempTableGrbit ForwardOnly = (TempTableGrbit)0x40;
///
/// If a given column is not present in the record and it has a user
/// defined default value then no column value will be returned.
/// This option will prevent the callback that computes the user defined
/// default value for the column from being called when enumerating
/// the values for that column.
///
///
/// This option is only available for Windows Server 2003 SP1 and later
/// operating systems.
///
public const EnumerateColumnsGrbit EnumerateIgnoreUserDefinedDefault = (EnumerateColumnsGrbit)0x00100000;
///
/// All transactions previously committed by any session that have not
/// yet been flushed to the transaction log file will be flushed immediately.
/// This API will wait until the transactions have been flushed before
/// returning to the caller. 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 WaitAllLevel0Commit = (CommitTransactionGrbit)0x8;
}
}