//----------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. // //----------------------------------------------------------------------- namespace Microsoft.Isam.Esent.Interop { /// /// Update types for JetPrepareUpdate. /// public enum JET_prep { /// /// This flag causes the cursor to prepare for an insert of a new record. /// All the data is initialized to the default state for the record. /// If the table has an auto-increment column, then a new value is /// assigned to this record regardless of whether the update ultimately /// succeeds, fails or is cancelled. /// Insert = 0, /// /// This flag causes the cursor to prepare for a replace of the current /// record. If the table has a version column, then the version column /// is set to the next value in its sequence. If this update does not /// complete, then the version value in the record will be unaffected. /// An update lock is taken on the record to prevent other sessions /// from updating this record before this session completes. /// Replace = 2, /// /// This flag causes JetPrepareUpdate to cancel the update for this cursor. /// Cancel = 3, /// /// This flag is similar to JET_prepReplace, but no lock is taken to prevent /// other sessions from updating this record. Instead, this session may receive /// JET_errWriteConflict when it calls JetUpdate to complete the update. /// ReplaceNoLock = 4, /// /// This flag causes the cursor to prepare for an insert of a copy of the /// existing record. There must be a current record if this option is used. /// The initial state of the new record is copied from the current record. /// Long values that are stored off-record are virtually copied. /// InsertCopy = 5, /// /// This flag causes the cursor to prepare for an insert of the same record, /// and a delete or the original record. It is used in cases in which the /// primary key has changed. /// InsertCopyDeleteOriginal = 7, } }