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();
		}