public void NestedTransactionTest_FullCommit() { using (var ds = new SQLiteDatastore()) { ds.CurrentTransaction.Should().BeNull(); ds.TransactionDepth.Should().Be(0); ds.Execute("CREATE TABLE TableA (Data TEXT);"); ds.BeginTransaction(); ds.CurrentTransaction.Should().NotBeNull(); ds.TransactionDepth.Should().Be(1); ds.BeginTransaction(); ds.CurrentTransaction.Should().NotBeNull(); ds.TransactionDepth.Should().Be(2); ds.Execute("INSERT INTO TableA VALUES ('something');"); ds.CommitTransaction(); ds.GetRowCount("TableA", null).Should().Be(1); ds.CurrentTransaction.Should().NotBeNull(); ds.TransactionDepth.Should().Be(1); ds.CommitTransaction(); ds.GetRowCount("TableA", null).Should().Be(1); ds.CurrentTransaction.Should().BeNull(); ds.TransactionDepth.Should().Be(0); } }
public void FluentInterfaceTest_With_Many() { int recordsToCreate = 1000; using (var ds = new SQLiteDatastore()) { ds.Execute(TestDBBuilder.CREATE_MULTIPROPTABLE); ds.BeginTransaction(); for (int i = 1; i <= recordsToCreate; i++) { ds.Execute(string.Format(" INSERT INTO MultiPropTable (IntField, NIntField) VALUES ({0}, {0});\r\n", i)); } ds.CommitTransaction(); Assert.Equal(recordsToCreate, ds.GetRowCount("MultiPropTable", null)); StartTimer(); var result = ds.From <POCOMultiTypeObject>().Limit(5000, 0).Query(); EndTimer(); result.Should().NotBeEmpty(); result.Should().HaveCount(recordsToCreate); foreach (DOMultiPropType item in ds.From <DOMultiPropType>().Read()) { item.FloatField = 1.0F; ds.Update(item); } } }
public void CommitTransaction_WtihNoTransaction() { using (var ds = new SQLiteDatastore()) { ds.Execute("CREATE TABLE TableA (Data TEXT);"); ds.CurrentTransaction.Should().BeNull(); ds.CommitTransaction();//extra commit should not throw exception, but will fail Debug.Assert ds.CheckTableExists("TableA").Should().BeTrue(); } }
public void CommitTransaction_WtihTransaction() { using (var ds = new SQLiteDatastore()) { ds.CurrentTransaction.Should().BeNull(); ds.BeginTransaction(); ds.CurrentTransaction.Should().NotBeNull(); ds.Execute("CREATE TABLE TableA (Data TEXT);"); ds.CommitTransaction(); ds.CurrentTransaction.Should().BeNull(); ds.TransactionDepth.Should().Be(0); ds.CheckTableExists("TableA").Should().BeTrue(); } }