SetLightweightConfiguration() public static méthode

Turns off logging, disables the temp DB and turns off events.
public static SetLightweightConfiguration ( Microsoft.Isam.Esent.Interop.Instance instance ) : void
instance Microsoft.Isam.Esent.Interop.Instance The instance to configure.
Résultat void
Exemple #1
0
        public void VerifyJetSetSessionContextAllowsThreadMigration()
        {
            using (var instance = new Instance("JetSetSessionContext"))
            {
                SetupHelper.SetLightweightConfiguration(instance);
                instance.Init();
                using (var session = new Session(instance))
                {
                    // Without the calls to JetSetSessionContext/JetResetSessionContext
                    // this will generate a session sharing violation.
                    var context = new IntPtr(Any.Int32);

                    var thread = new Thread(() =>
                    {
                        Thread.BeginThreadAffinity();
                        Api.JetSetSessionContext(session, context);
                        Api.JetBeginTransaction(session);
                        Api.JetResetSessionContext(session);
                        Thread.EndThreadAffinity();
                    });
                    thread.Start();
                    thread.Join();

                    Api.JetSetSessionContext(session, context);
                    Api.JetCommitTransaction(session, CommitTransactionGrbit.None);
                    Api.JetResetSessionContext(session);
                }
            }
        }
        public void GetDatabaseFileInfoOnVista()
        {
            if (!EsentVersion.SupportsVistaFeatures)
            {
                return;
            }

            string directory = SetupHelper.CreateRandomDirectory();
            string database  = Path.Combine(directory, "test.db");

            using (var instance = new Instance("VistaJetGetDatabaseFileInfo"))
            {
                SetupHelper.SetLightweightConfiguration(instance);
                instance.Init();
                using (var session = new Session(instance))
                {
                    JET_DBID dbid;
                    Api.JetCreateDatabase(session, database, string.Empty, out dbid, CreateDatabaseGrbit.None);
                }
            }

            JET_DBINFOMISC dbinfomisc;

            Api.JetGetDatabaseFileInfo(database, out dbinfomisc, JET_DbInfo.Misc);
            Assert.AreEqual(SystemParameters.DatabasePageSize, dbinfomisc.cbPageSize);

            Cleanup.DeleteDirectoryWithRetry(directory);
        }
Exemple #3
0
        /// <summary>
        /// Create an instance and abandon it. Garbage collection should
        /// be able to finalize the instance.
        /// </summary>
        private static void CreateOneInstance()
        {
            var instance = new Instance("finalize_me");

            SetupHelper.SetLightweightConfiguration(instance);
            instance.Init();
        }
Exemple #4
0
 /// <summary>
 /// Init and term an instance. This is used to make sure the instance
 /// is always cleaned up when the thread is terminated. If the cleanup
 /// is missed the next instance create will fail.
 /// </summary>
 /// <param name="instanceName">
 /// The name of the instance to create.
 /// </param>
 private static void InstanceInitTermThread(string instanceName)
 {
     try
     {
         while (true)
         {
             using (var instance = new Instance(instanceName))
             {
                 SetupHelper.SetLightweightConfiguration(instance);
                 instance.Init();
                 instance.Term();
             }
         }
     }
     catch (ThreadAbortException)
     {
         // Actually letting the thread abort will fail the test, exit
         // gracefully instead.
         Thread.ResetAbort();
     }
     catch (EsentErrorException ex)
     {
         Console.WriteLine("Got exception {0}", ex);
         Assert.Fail("Got exception {0}", ex);
     }
 }
Exemple #5
0
        public void JetInstanceThrowsExceptionWhenInstanceIsClosed()
        {
            var instance = new Instance("closed");

            SetupHelper.SetLightweightConfiguration(instance);
            instance.Init();
            instance.Term();
            JET_INSTANCE x = instance.JetInstance;
        }
Exemple #6
0
 public void Setup()
 {
     Cleanup.DeleteDirectoryWithRetry(TestDirectory);
     Directory.CreateDirectory(TestDirectory);
     this.testInstance = new Instance("HowDoI");
     SetupHelper.SetLightweightConfiguration(this.testInstance);
     this.testInstance.Init();
     this.testSession = new Session(this.testInstance);
     Api.JetCreateDatabase(this.testSession, TestDatabase, null, out this.testDbid, CreateDatabaseGrbit.OverwriteExisting);
 }
Exemple #7
0
        public void TestJetConfigureProcessForCrashDump()
        {
            if (!EsentVersion.SupportsWindows7Features)
            {
                return;
            }

            using (var instance = new Instance("TestJetConfigureProcessForCrashDump"))
            {
                SetupHelper.SetLightweightConfiguration(instance);
                instance.Init();
                Windows7Api.JetConfigureProcessForCrashDump(CrashDumpGrbit.Maximum);
            }
        }
 public void CreateDatabase2WithAsciiPath()
 {
     using (var instance = new Instance("asciidbcreate"))
     {
         SetupHelper.SetLightweightConfiguration(instance);
         instance.Parameters.CreatePathIfNotExist = true;
         instance.Init();
         using (var session = new Session(instance))
         {
             JET_DBID dbid;
             Api.JetCreateDatabase2(session, this.database, 1024, out dbid, CreateDatabaseGrbit.None);
             Assert.IsTrue(File.Exists(this.database));
         }
     }
 }
 public void DetachDatabaseWithAsciiPath()
 {
     using (var instance = new Instance("asciidbdetach"))
     {
         SetupHelper.SetLightweightConfiguration(instance);
         instance.Parameters.CreatePathIfNotExist = true;
         instance.Init();
         using (var session = new Session(instance))
         {
             JET_DBID dbid;
             Api.JetCreateDatabase(session, this.database, string.Empty, out dbid, CreateDatabaseGrbit.None);
             Api.JetCloseDatabase(session, dbid, CloseDatabaseGrbit.None);
             Api.JetDetachDatabase(session, this.database);
         }
     }
 }
Exemple #10
0
        public void CreateDatabase2WithUnicodePath()
        {
            if (!EsentVersion.SupportsUnicodePaths)
            {
                return;
            }

            using (var instance = new Instance("unicodedbcreate"))
            {
                SetupHelper.SetLightweightConfiguration(instance);
                instance.Parameters.CreatePathIfNotExist = true;
                instance.Init();
                using (var session = new Session(instance))
                {
                    JET_DBID dbid;
                    Api.JetCreateDatabase2(session, this.database, 512, out dbid, CreateDatabaseGrbit.None);
                    Assert.IsTrue(File.Exists(this.database));
                }
            }
        }
Exemple #11
0
        public void DetachDatabaseWithUnicodePath()
        {
            if (!EsentVersion.SupportsUnicodePaths)
            {
                return;
            }

            using (var instance = new Instance("unicodedbdetach"))
            {
                SetupHelper.SetLightweightConfiguration(instance);
                instance.Parameters.CreatePathIfNotExist = true;
                instance.Init();
                using (var session = new Session(instance))
                {
                    JET_DBID dbid;
                    Api.JetCreateDatabase(session, this.database, String.Empty, out dbid, CreateDatabaseGrbit.None);
                    Api.JetCloseDatabase(session, dbid, CloseDatabaseGrbit.None);
                    Api.JetDetachDatabase(session, this.database);
                }
            }
        }
 public void EsentExceptionIsThrownOnApiError()
 {
     using (var instance = new Instance("EsentExceptionHasErrorCode"))
     {
         SetupHelper.SetLightweightConfiguration(instance);
         instance.Init();
         using (var session = new Session(instance))
         {
             try
             {
                 // The session shouldn't be in a transaction so this will
                 // generate an error.
                 Api.JetCommitTransaction(session, CommitTransactionGrbit.None);
                 Assert.Fail("Should have thrown an exception");
             }
             catch (EsentErrorException ex)
             {
                 Assert.AreEqual(JET_err.NotInTransaction, ex.Error);
             }
         }
     }
 }
Exemple #13
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InstanceWrapper"/> class.
 /// </summary>
 public InstanceWrapper()
 {
     this.instance = new Instance("InstanceWrapper");
     SetupHelper.SetLightweightConfiguration(this.instance);
 }