コード例 #1
0
        public void TestSetup()
        {
            if (!EsentVersion.SupportsWindows8Features)
            {
                return;
            }

            this.directory = SetupHelper.CreateRandomDirectory();
            this.database  = Path.Combine(this.directory, "database.edb");
            this.instance  = SetupHelper.CreateNewInstance(this.directory);

////            Api.JetSetSystemParameter(this.instance, JET_SESID.Nil, UnpublishedParam.EnablePeriodicShrinkDatabase, 0, null);
            this.callback = new DurableCommitCallback(this.instance, this.TestCallback);

            Api.JetInit(ref this.instance);
            Api.JetBeginSession(this.instance, out this.sesid, string.Empty, string.Empty);

            Api.JetCreateDatabase(this.sesid, this.database, string.Empty, out this.dbid, CreateDatabaseGrbit.None);
            Api.JetCloseDatabase(this.sesid, this.dbid, CloseDatabaseGrbit.None);

            Api.JetOpenDatabase(this.sesid, this.database, null, out this.dbid, OpenDatabaseGrbit.None);
            Api.JetBeginTransaction(this.sesid);
            JET_TABLECREATE tc = this.CreateTable(this.tableName);

            Api.JetCloseTable(this.sesid, tc.tableid);
            Api.JetCommitTransaction(this.sesid, CommitTransactionGrbit.None);
            Api.JetOpenTable(this.sesid, this.dbid, this.tableName, null, 0, OpenTableGrbit.None, out this.tableid);
        }
コード例 #2
0
        public void TestTeardown()
        {
            if (!EsentVersion.SupportsWindows8Features)
            {
                return;
            }

            Api.JetCloseTable(this.sesid, this.tableid);
            Api.JetCloseDatabase(this.sesid, this.dbid, CloseDatabaseGrbit.None);
            Api.JetEndSession(this.sesid, EndSessionGrbit.None);
            Api.JetTerm(this.instance);
            this.callback.End();
            this.callback = null;
            Cleanup.DeleteDirectoryWithRetry(this.directory);
        }
コード例 #3
0
        public void DurableCommitCallbackToString()
        {
            if (!EsentVersion.SupportsWindows8Features)
            {
                return;
            }

            JET_INSTANCE inst;

            Api.JetCreateInstance(out inst, "dummy");
            try
            {
                var callback = new DurableCommitCallback(inst, this.TestFlushCallback);
                Assert.AreEqual("DurableCommitCallback(" + inst.ToString() + ")", callback.ToString());
            }
            finally
            {
                Api.JetTerm(inst);
            }
        }