public void NavigationClearFilter() { if (!EsentVersion.SupportsWindows8Features) { return; } JET_TABLECREATE tc = this.CreateTable(this.tableName); this.InsertRecord(tc.tableid, 1); this.InsertRecord(tc.tableid, 2); this.InsertRecord(tc.tableid, 3); this.InsertRecord(tc.tableid, 5); this.InsertRecord(tc.tableid, 6); JET_INDEX_COLUMN filter = this.CreateFilter(this.columnIdKey, 1, JetRelop.BitmaskEqualsZero); JET_INDEX_COLUMN[] filters = { filter }; this.MoveCursor(tc.tableid, JET_Move.First, filters); this.VerifyCurrentRecord(tc.tableid, 2); this.MoveCursor(tc.tableid, JET_Move.Next, null); this.VerifyCurrentRecord(tc.tableid, 3); this.MoveCursor(tc.tableid, JET_Move.Next, filters); this.VerifyCurrentRecord(tc.tableid, 6); }
public void NavigationMoveSecondaryNotSupported() { if (!EsentVersion.SupportsWindows8Features) { return; } JET_TABLECREATE tc = this.CreateTable(this.tableName); this.InsertRecord(tc.tableid, 1, 10); this.InsertRecord(tc.tableid, 2, 10); this.InsertRecord(tc.tableid, -3, 30); Api.JetSetCurrentIndex(this.sesId, tc.tableid, this.secIndexWithPrimaryName); JET_INDEX_COLUMN filter = this.CreateFilter(this.columnIdKey, 2, JetRelop.Equals); JET_INDEX_COLUMN[] filters = { filter }; this.MoveCursor(tc.tableid, JET_Move.First, filters, typeof(EsentFilteredMoveNotSupportedException)); }
public void NavigationSeekWithFiltering() { if (!EsentVersion.SupportsWindows8Features) { return; } JET_TABLECREATE tc = this.CreateTable(this.tableName); this.InsertRecord(tc.tableid, 1, 300); this.InsertRecord(tc.tableid, 2, 100); this.InsertRecord(tc.tableid, 3, 200); JET_INDEX_COLUMN filter = this.CreateFilter(this.columnIdData1, 250, JetRelop.LessThanOrEqual); JET_INDEX_COLUMN[] filters = { filter }; Windows8Api.JetSetCursorFilter(this.sesId, tc.tableid, filters, CursorFilterGrbit.None); this.SeekToRecordClustered(tc.tableid, 1, SeekGrbit.SeekGE); this.VerifyCurrentRecord(tc.tableid, 2, 100); }
public void NavigationMoveNextByteOrder() { if (!EsentVersion.SupportsWindows8Features) { return; } JET_TABLECREATE tc = this.CreateTable(this.tableName); this.InsertRecord(tc.tableid, 1, 10); this.InsertRecord(tc.tableid, 2, 260); this.InsertRecord(tc.tableid, 3, 20); JET_INDEX_COLUMN filter1 = this.CreateFilter(this.columnIdData1, 15, JetRelop.LessThan); JET_INDEX_COLUMN[] filters = { filter1 }; this.MoveCursor(tc.tableid, JET_Move.First, filters); this.VerifyCurrentRecord(tc.tableid, 1); this.MoveCursor(tc.tableid, JET_Move.Next, filters, typeof(EsentNoCurrentRecordException)); }
public void NavigationMoveLastClustered() { if (!EsentVersion.SupportsWindows8Features) { return; } JET_TABLECREATE tc = this.CreateTable(this.tableName); this.InsertRecord(tc.tableid, 2); this.InsertRecord(tc.tableid, 3); this.InsertRecord(tc.tableid, 1); JET_INDEX_COLUMN filter1 = this.CreateFilter(this.columnIdKey, 2, JetRelop.LessThan); JET_INDEX_COLUMN[] filters = { filter1 }; this.MoveCursor(tc.tableid, JET_Move.Last, filters); this.VerifyCurrentRecord(tc.tableid, 1); }
public void NavigationMultipleFilters() { if (!EsentVersion.SupportsWindows8Features) { return; } JET_TABLECREATE tc = this.CreateTable(this.tableName); this.InsertRecord(tc.tableid, 1, 20); this.InsertRecord(tc.tableid, 2, 30); this.InsertRecord(tc.tableid, 3, 30); JET_INDEX_COLUMN filter1 = this.CreateFilter(this.columnIdKey, 2, JetRelop.NotEquals); JET_INDEX_COLUMN filter2 = this.CreateFilter(this.columnIdData1, 30, JetRelop.GreaterThanOrEqual); JET_INDEX_COLUMN[] filters = { filter1, filter2 }; this.MoveCursor(tc.tableid, JET_Move.First, filters); this.VerifyCurrentRecord(tc.tableid, 3); }
public void NavigationBitmask() { if (!EsentVersion.SupportsWindows8Features) { return; } JET_TABLECREATE tc = this.CreateTable(this.tableName); this.InsertRecord(tc.tableid, 1, 15); this.InsertRecord(tc.tableid, 3, 11); this.InsertRecord(tc.tableid, 5, 10); this.InsertRecord(tc.tableid, 9, 8); JET_INDEX_COLUMN filter1 = this.CreateFilter(this.columnIdKey, 8, JetRelop.BitmaskEqualsZero); JET_INDEX_COLUMN filter2 = this.CreateFilter(this.columnIdData1, 1, JetRelop.BitmaskNotEqualsZero); JET_INDEX_COLUMN[] filters = { filter1, filter2 }; this.MoveCursor(tc.tableid, JET_Move.Last, filters); this.VerifyCurrentRecord(tc.tableid, 3, 11); }
public void JetMoveWithMoveKeyNeClustered() { if (!EsentVersion.SupportsWindows8Features) { return; } JET_TABLECREATE tc = this.CreateTable(this.tableName); this.InsertRecord(tc.tableid, 1); this.InsertRecord(tc.tableid, 2); this.InsertRecord(tc.tableid, 3); this.InsertRecord(tc.tableid, 4); this.VerifyCurrentRecord(tc.tableid, 1); JET_INDEX_COLUMN filter = this.CreateFilter(this.columnIdKey, 2, JetRelop.NotEquals); JET_INDEX_COLUMN[] filters = { filter }; Windows8Api.JetSetCursorFilter(this.sesId, tc.tableid, filters, CursorFilterGrbit.None); Api.JetMove(this.sesId, tc.tableid, JET_Move.Next, MoveGrbit.MoveKeyNE); this.VerifyCurrentRecord(tc.tableid, 3); filter = this.CreateFilter(this.columnIdKey, 4, JetRelop.Equals); filters = new JET_INDEX_COLUMN[] { filter }; Windows8Api.JetSetCursorFilter(this.sesId, tc.tableid, filters, CursorFilterGrbit.None); Api.JetMove(this.sesId, tc.tableid, JET_Move.Next, MoveGrbit.MoveKeyNE); this.VerifyCurrentRecord(tc.tableid, 4); Windows8Api.JetSetCursorFilter(this.sesId, tc.tableid, null, CursorFilterGrbit.None); for (int i = 0; i < 2; i++) { try { Api.JetMove(this.sesId, tc.tableid, JET_Move.Next, MoveGrbit.MoveKeyNE); Assert.Fail("Should have thrown EsentNoCurrentRecordException"); } catch (EsentNoCurrentRecordException) { } this.VerifyCurrentRecord(tc.tableid, 4, typeof(EsentNoCurrentRecordException)); } filter = this.CreateFilter(this.columnIdKey, 2, JetRelop.Equals); filters = new JET_INDEX_COLUMN[] { filter }; Windows8Api.JetSetCursorFilter(this.sesId, tc.tableid, filters, CursorFilterGrbit.None); Api.JetMove(this.sesId, tc.tableid, JET_Move.Previous, MoveGrbit.MoveKeyNE); this.VerifyCurrentRecord(tc.tableid, 2); Windows8Api.JetSetCursorFilter(this.sesId, tc.tableid, null, CursorFilterGrbit.None); Api.JetMove(this.sesId, tc.tableid, JET_Move.Previous, MoveGrbit.MoveKeyNE); this.VerifyCurrentRecord(tc.tableid, 1); for (int i = 0; i < 2; i++) { try { Api.JetMove(this.sesId, tc.tableid, JET_Move.Previous, MoveGrbit.MoveKeyNE); Assert.Fail("Should have thrown EsentNoCurrentRecordException"); } catch (EsentNoCurrentRecordException) { } this.VerifyCurrentRecord(tc.tableid, 1, typeof(EsentNoCurrentRecordException)); } Windows8Api.JetSetCursorFilter(this.sesId, tc.tableid, filters, CursorFilterGrbit.None); Api.JetMove(this.sesId, tc.tableid, JET_Move.Next, MoveGrbit.MoveKeyNE); this.VerifyCurrentRecord(tc.tableid, 2); }
public void JetIndexColumnToString() { JET_INDEX_COLUMN indexColumn = new JET_INDEX_COLUMN(); Assert.AreEqual("JET_INDEX_COLUMN(0x0)", indexColumn.ToString()); }