public void IncrementTimestampVersion() { ISession s = OpenSession(); ITransaction t = s.BeginTransaction(); var entity = new TimestampVersioned { Name = "ts-vers" }; s.Save(entity); t.Commit(); s.Close(); DateTime initialVersion = entity.Version; Thread.Sleep(300); s = OpenSession(); t = s.BeginTransaction(); int count = s.CreateQuery("update versioned TimestampVersioned set name = name").ExecuteUpdate(); Assert.That(count, Is.EqualTo(1), "incorrect exec count"); t.Commit(); t = s.BeginTransaction(); entity = s.Load <TimestampVersioned>(entity.Id); Assert.That(entity.Version, Is.GreaterThan(initialVersion), "version not incremented"); s.Delete(entity); t.Commit(); s.Close(); }
public void InsertWithGeneratedTimestampVersion() { // Make sure the env supports bulk inserts with generated ids... IEntityPersister persister = sessions.GetEntityPersister(typeof(TimestampVersioned).FullName); IIdentifierGenerator generator = persister.IdentifierGenerator; if (!HqlSqlWalker.SupportsIdGenWithBulkInsertion(generator)) { return; } ISession s = OpenSession(); ITransaction t = s.BeginTransaction(); var entity = new TimestampVersioned { Name = "int-vers" }; s.Save(entity); s.CreateQuery("select id, name, version from TimestampVersioned").List(); t.Commit(); s.Close(); long initialId = entity.Id; //Date initialVersion = entity.getVersion(); s = OpenSession(); t = s.BeginTransaction(); int count = s.CreateQuery("insert into TimestampVersioned ( name ) select name from TimestampVersioned").ExecuteUpdate(); t.Commit(); s.Close(); Assert.That(count, Is.EqualTo(1), "unexpected insertion count"); s = OpenSession(); t = s.BeginTransaction(); var created = (TimestampVersioned) s.CreateQuery("from TimestampVersioned where id <> :initialId").SetInt64("initialId", initialId).UniqueResult(); t.Commit(); s.Close(); Assert.That(created.Version, Is.GreaterThan(DateTime.Today)); s = OpenSession(); t = s.BeginTransaction(); s.CreateQuery("delete TimestampVersioned").ExecuteUpdate(); t.Commit(); s.Close(); }
public void IncrementTimestampVersion() { ISession s = OpenSession(); ITransaction t = s.BeginTransaction(); var entity = new TimestampVersioned {Name = "ts-vers"}; s.Save(entity); t.Commit(); s.Close(); DateTime initialVersion = entity.Version; Thread.Sleep(300); s = OpenSession(); t = s.BeginTransaction(); int count = s.CreateQuery("update versioned TimestampVersioned set name = name").ExecuteUpdate(); Assert.That(count, Is.EqualTo(1), "incorrect exec count"); t.Commit(); t = s.BeginTransaction(); entity = s.Load<TimestampVersioned>(entity.Id); Assert.That(entity.Version, Is.GreaterThan(initialVersion), "version not incremented"); s.Delete(entity); t.Commit(); s.Close(); }
public void InsertWithGeneratedTimestampVersion() { // Make sure the env supports bulk inserts with generated ids... IEntityPersister persister = sessions.GetEntityPersister(typeof (TimestampVersioned).FullName); IIdentifierGenerator generator = persister.IdentifierGenerator; if (!HqlSqlWalker.SupportsIdGenWithBulkInsertion(generator)) { return; } ISession s = OpenSession(); ITransaction t = s.BeginTransaction(); var entity = new TimestampVersioned {Name = "int-vers"}; s.Save(entity); s.CreateQuery("select id, name, version from TimestampVersioned").List(); t.Commit(); s.Close(); long initialId = entity.Id; //Date initialVersion = entity.getVersion(); s = OpenSession(); t = s.BeginTransaction(); int count = s.CreateQuery("insert into TimestampVersioned ( name ) select name from TimestampVersioned").ExecuteUpdate(); t.Commit(); s.Close(); Assert.That(count, Is.EqualTo(1), "unexpected insertion count"); s = OpenSession(); t = s.BeginTransaction(); var created = (TimestampVersioned) s.CreateQuery("from TimestampVersioned where id <> :initialId").SetInt64("initialId", initialId).UniqueResult(); t.Commit(); s.Close(); Assert.That(created.Version, Is.GreaterThan(DateTime.Today)); s = OpenSession(); t = s.BeginTransaction(); s.CreateQuery("delete TimestampVersioned").ExecuteUpdate(); t.Commit(); s.Close(); }