diff --git a/src/NHibernate.Config.Templates/PostgreSQL.cfg.xml b/src/NHibernate.Config.Templates/PostgreSQL.cfg.xml index 459543f2bbf..e3db1cfe01b 100644 --- a/src/NHibernate.Config.Templates/PostgreSQL.cfg.xml +++ b/src/NHibernate.Config.Templates/PostgreSQL.cfg.xml @@ -10,6 +10,6 @@ for your own use before compile tests in VisualStudio. Server=localhost;Database=nhibernate;User ID=nhibernate;Password=nhibernate;Enlist=true; - NHibernate.Dialect.PostgreSQL83Dialect + NHibernate.Dialect.PostgreSQL95Dialect diff --git a/src/NHibernate.Test/Async/Legacy/ParentChildTest.cs b/src/NHibernate.Test/Async/Legacy/ParentChildTest.cs index 62331e282ce..ccb44e59ba5 100644 --- a/src/NHibernate.Test/Async/Legacy/ParentChildTest.cs +++ b/src/NHibernate.Test/Async/Legacy/ParentChildTest.cs @@ -953,11 +953,14 @@ public async Task LockingAsync() s3.Count = 3; Simple s4 = new Simple(); s4.Count = 4; + Simple s5 = new Simple(); + s5.Count = 5; await (s.SaveAsync(s1, (long) 1)); await (s.SaveAsync(s2, (long) 2)); await (s.SaveAsync(s3, (long) 3)); await (s.SaveAsync(s4, (long) 4)); + await (s.SaveAsync(s5, (long) 5)); Assert.AreEqual(LockMode.Write, s.GetCurrentLockMode(s1)); await (tx.CommitAsync()); s.Close(); @@ -972,6 +975,8 @@ public async Task LockingAsync() Assert.AreEqual(LockMode.Upgrade, s.GetCurrentLockMode(s3)); s4 = (Simple) await (s.LoadAsync(typeof(Simple), (long) 4, LockMode.UpgradeNoWait)); Assert.AreEqual(LockMode.UpgradeNoWait, s.GetCurrentLockMode(s4)); + s5 = (Simple) await (s.LoadAsync(typeof(Simple), (long) 5, LockMode.UpgradeSkipLocked)); + Assert.AreEqual(LockMode.UpgradeSkipLocked, s.GetCurrentLockMode(s5)); s1 = (Simple) await (s.LoadAsync(typeof(Simple), (long) 1, LockMode.Upgrade)); //upgrade Assert.AreEqual(LockMode.Upgrade, s.GetCurrentLockMode(s1)); @@ -981,6 +986,8 @@ public async Task LockingAsync() Assert.AreEqual(LockMode.Upgrade, s.GetCurrentLockMode(s3)); s4 = (Simple) await (s.LoadAsync(typeof(Simple), (long) 4, LockMode.Upgrade)); Assert.AreEqual(LockMode.UpgradeNoWait, s.GetCurrentLockMode(s4)); + s5 = (Simple) await (s.LoadAsync(typeof(Simple), (long) 5, LockMode.Upgrade)); + Assert.AreEqual(LockMode.UpgradeSkipLocked, s.GetCurrentLockMode(s4)); await (s.LockAsync(s2, LockMode.Upgrade)); //upgrade Assert.AreEqual(LockMode.Upgrade, s.GetCurrentLockMode(s2)); @@ -988,7 +995,9 @@ public async Task LockingAsync() Assert.AreEqual(LockMode.Upgrade, s.GetCurrentLockMode(s3)); await (s.LockAsync(s1, LockMode.UpgradeNoWait)); await (s.LockAsync(s4, LockMode.None)); + await (s.LockAsync(s5, LockMode.UpgradeSkipLocked)); Assert.AreEqual(LockMode.UpgradeNoWait, s.GetCurrentLockMode(s4)); + Assert.AreEqual(LockMode.UpgradeSkipLocked, s.GetCurrentLockMode(s5)); await (tx.CommitAsync()); tx = s.BeginTransaction(); @@ -997,6 +1006,7 @@ public async Task LockingAsync() Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s1)); Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s2)); Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s4)); + Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s5)); await (s.LockAsync(s1, LockMode.Read)); //upgrade Assert.AreEqual(LockMode.Read, s.GetCurrentLockMode(s1)); @@ -1017,11 +1027,13 @@ public async Task LockingAsync() Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s1)); Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s2)); Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s4)); + Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s5)); await (s.DeleteAsync(s1)); await (s.DeleteAsync(s2)); await (s.DeleteAsync(s3)); await (s.DeleteAsync(s4)); + await (s.DeleteAsync(s5)); await (tx.CommitAsync()); s.Close(); } diff --git a/src/NHibernate.Test/Legacy/ParentChildTest.cs b/src/NHibernate.Test/Legacy/ParentChildTest.cs index c207b468602..7993487f6fe 100644 --- a/src/NHibernate.Test/Legacy/ParentChildTest.cs +++ b/src/NHibernate.Test/Legacy/ParentChildTest.cs @@ -942,11 +942,14 @@ public void Locking() s3.Count = 3; Simple s4 = new Simple(); s4.Count = 4; + Simple s5 = new Simple(); + s5.Count = 5; s.Save(s1, (long) 1); s.Save(s2, (long) 2); s.Save(s3, (long) 3); s.Save(s4, (long) 4); + s.Save(s5, (long) 5); Assert.AreEqual(LockMode.Write, s.GetCurrentLockMode(s1)); tx.Commit(); s.Close(); @@ -961,6 +964,8 @@ public void Locking() Assert.AreEqual(LockMode.Upgrade, s.GetCurrentLockMode(s3)); s4 = (Simple) s.Load(typeof(Simple), (long) 4, LockMode.UpgradeNoWait); Assert.AreEqual(LockMode.UpgradeNoWait, s.GetCurrentLockMode(s4)); + s5 = (Simple) s.Load(typeof(Simple), (long) 5, LockMode.UpgradeSkipLocked); + Assert.AreEqual(LockMode.UpgradeSkipLocked, s.GetCurrentLockMode(s5)); s1 = (Simple) s.Load(typeof(Simple), (long) 1, LockMode.Upgrade); //upgrade Assert.AreEqual(LockMode.Upgrade, s.GetCurrentLockMode(s1)); @@ -970,6 +975,8 @@ public void Locking() Assert.AreEqual(LockMode.Upgrade, s.GetCurrentLockMode(s3)); s4 = (Simple) s.Load(typeof(Simple), (long) 4, LockMode.Upgrade); Assert.AreEqual(LockMode.UpgradeNoWait, s.GetCurrentLockMode(s4)); + s5 = (Simple) s.Load(typeof(Simple), (long) 5, LockMode.Upgrade); + Assert.AreEqual(LockMode.UpgradeSkipLocked, s.GetCurrentLockMode(s4)); s.Lock(s2, LockMode.Upgrade); //upgrade Assert.AreEqual(LockMode.Upgrade, s.GetCurrentLockMode(s2)); @@ -977,7 +984,9 @@ public void Locking() Assert.AreEqual(LockMode.Upgrade, s.GetCurrentLockMode(s3)); s.Lock(s1, LockMode.UpgradeNoWait); s.Lock(s4, LockMode.None); + s.Lock(s5, LockMode.UpgradeSkipLocked); Assert.AreEqual(LockMode.UpgradeNoWait, s.GetCurrentLockMode(s4)); + Assert.AreEqual(LockMode.UpgradeSkipLocked, s.GetCurrentLockMode(s5)); tx.Commit(); tx = s.BeginTransaction(); @@ -986,6 +995,7 @@ public void Locking() Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s1)); Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s2)); Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s4)); + Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s5)); s.Lock(s1, LockMode.Read); //upgrade Assert.AreEqual(LockMode.Read, s.GetCurrentLockMode(s1)); @@ -1006,11 +1016,13 @@ public void Locking() Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s1)); Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s2)); Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s4)); + Assert.AreEqual(LockMode.None, s.GetCurrentLockMode(s5)); s.Delete(s1); s.Delete(s2); s.Delete(s3); s.Delete(s4); + s.Delete(s5); tx.Commit(); s.Close(); } diff --git a/src/NHibernate/Cfg/MappingSchema/Hbm.generated.cs b/src/NHibernate/Cfg/MappingSchema/Hbm.generated.cs index 87ef712c658..9d98d5fde4f 100644 --- a/src/NHibernate/Cfg/MappingSchema/Hbm.generated.cs +++ b/src/NHibernate/Cfg/MappingSchema/Hbm.generated.cs @@ -2,7 +2,7 @@ namespace NHibernate.Cfg.MappingSchema { /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -83,7 +83,7 @@ public HbmAny() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -110,7 +110,7 @@ public HbmMeta() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -128,7 +128,7 @@ public partial class HbmMetaValue { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -193,7 +193,7 @@ public partial class HbmColumn { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -207,7 +207,7 @@ public partial class HbmComment { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -366,7 +366,7 @@ public HbmArray() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -380,7 +380,7 @@ public partial class HbmSubselect { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -407,7 +407,7 @@ public HbmCache() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")] public enum HbmCacheUsage { @@ -434,7 +434,7 @@ public enum HbmCacheUsage { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")] public enum HbmCacheInclude { @@ -449,7 +449,7 @@ public enum HbmCacheInclude { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -463,7 +463,7 @@ public partial class HbmSynchronize { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -522,7 +522,7 @@ public HbmKey() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmOndelete { @@ -537,7 +537,7 @@ public enum HbmOndelete { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -563,7 +563,7 @@ public partial class HbmIndex { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -584,7 +584,7 @@ public partial class HbmListIndex { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -616,7 +616,7 @@ public partial class HbmCompositeElement { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -634,7 +634,7 @@ public partial class HbmParent { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -766,7 +766,7 @@ public HbmManyToOne() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -780,7 +780,7 @@ public partial class HbmFormula { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmOuterJoinStrategy { @@ -799,7 +799,7 @@ public enum HbmOuterJoinStrategy { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmFetchMode { @@ -814,7 +814,7 @@ public enum HbmFetchMode { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmLaziness { @@ -833,7 +833,7 @@ public enum HbmLaziness { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmNotFoundMode { @@ -848,7 +848,7 @@ public enum HbmNotFoundMode { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -884,7 +884,7 @@ public partial class HbmNestedCompositeElement { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1005,7 +1005,7 @@ public HbmProperty() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1023,7 +1023,7 @@ public partial class HbmType { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1041,7 +1041,7 @@ public partial class HbmParam { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmPropertyGeneration { @@ -1060,7 +1060,7 @@ public enum HbmPropertyGeneration { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1121,7 +1121,7 @@ public HbmElement() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1151,7 +1151,7 @@ public partial class HbmManyToAny { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1249,7 +1249,7 @@ public HbmManyToMany() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1271,7 +1271,7 @@ public partial class HbmFilter { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmRestrictedLaziness { @@ -1286,7 +1286,7 @@ public enum HbmRestrictedLaziness { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1317,7 +1317,7 @@ public HbmOneToMany() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1331,7 +1331,7 @@ public partial class HbmLoader { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1361,7 +1361,7 @@ public partial class HbmCustomSQL { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmCustomSQLCheck { @@ -1380,7 +1380,7 @@ public enum HbmCustomSQLCheck { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmCollectionFetchMode { @@ -1399,7 +1399,7 @@ public enum HbmCollectionFetchMode { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1573,7 +1573,7 @@ public HbmBag() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmCollectionLazy { @@ -1592,7 +1592,7 @@ public enum HbmCollectionLazy { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1811,7 +1811,7 @@ public HbmClass() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1833,7 +1833,7 @@ public partial class HbmTuplizer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")] public enum HbmTuplizerEntitymode { @@ -1848,7 +1848,7 @@ public enum HbmTuplizerEntitymode { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1898,7 +1898,7 @@ public HbmCompositeId() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -1957,7 +1957,7 @@ public HbmKeyManyToOne() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2002,7 +2002,7 @@ public partial class HbmKeyProperty { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmUnsavedValueType { @@ -2021,7 +2021,7 @@ public enum HbmUnsavedValueType { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2077,7 +2077,7 @@ public partial class HbmId { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2095,7 +2095,7 @@ public partial class HbmGenerator { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2149,7 +2149,7 @@ public HbmDiscriminator() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2176,7 +2176,7 @@ public HbmNaturalId() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2266,7 +2266,7 @@ public HbmComponent() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2330,7 +2330,7 @@ public HbmDynamicComponent() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2509,7 +2509,7 @@ public HbmList() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2697,7 +2697,7 @@ public HbmMap() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2716,7 +2716,7 @@ public partial class HbmCompositeIndex { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2735,7 +2735,7 @@ public partial class HbmCompositeMapKey { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2761,7 +2761,7 @@ public partial class HbmIndexManyToAny { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2791,7 +2791,7 @@ public partial class HbmIndexManyToMany { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2826,7 +2826,7 @@ public partial class HbmMapKey { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2861,7 +2861,7 @@ public partial class HbmMapKeyManyToMany { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -2954,7 +2954,7 @@ public HbmOneToOne() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -3090,7 +3090,7 @@ public HbmPrimitiveArray() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")] public enum HbmPrimitivearrayOuterjoin { @@ -3109,7 +3109,7 @@ public enum HbmPrimitivearrayOuterjoin { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")] public enum HbmPrimitivearrayFetch { @@ -3128,7 +3128,7 @@ public enum HbmPrimitivearrayFetch { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -3306,7 +3306,7 @@ public HbmSet() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -3483,7 +3483,7 @@ public HbmIdbag() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -3516,7 +3516,7 @@ public partial class HbmCollectionId { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -3569,7 +3569,7 @@ public HbmTimestamp() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")] public enum HbmTimestampUnsavedvalue { @@ -3584,7 +3584,7 @@ public enum HbmTimestampUnsavedvalue { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")] public enum HbmTimestampSource { @@ -3599,7 +3599,7 @@ public enum HbmTimestampSource { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmVersionGeneration { @@ -3614,7 +3614,7 @@ public enum HbmVersionGeneration { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -3675,7 +3675,7 @@ public HbmVersion() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -3727,7 +3727,7 @@ public HbmProperties() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -3810,7 +3810,7 @@ public HbmJoin() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")] public enum HbmJoinFetch { @@ -3825,7 +3825,7 @@ public enum HbmJoinFetch { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -3994,7 +3994,7 @@ public HbmJoinedSubclass() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4015,7 +4015,7 @@ public partial class HbmResultSet { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4046,7 +4046,7 @@ public HbmLoadCollection() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4068,7 +4068,7 @@ public partial class HbmReturnProperty { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4082,7 +4082,7 @@ public partial class HbmReturnColumn { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmLockMode { @@ -4103,13 +4103,17 @@ public enum HbmLockMode { [System.Xml.Serialization.XmlEnumAttribute("upgrade-nowait")] UpgradeNowait, + /// + [System.Xml.Serialization.XmlEnumAttribute("upgrade-skiplocked")] + UpgradeSkiplocked, + /// [System.Xml.Serialization.XmlEnumAttribute("write")] Write, } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4148,7 +4152,7 @@ public HbmReturn() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4162,7 +4166,7 @@ public partial class HbmReturnDiscriminator { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4193,7 +4197,7 @@ public HbmReturnJoin() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4211,7 +4215,7 @@ public partial class HbmReturnScalar { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4286,7 +4290,7 @@ public HbmQuery() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4304,7 +4308,7 @@ public partial class HbmQueryParam { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmFlushMode { @@ -4327,7 +4331,7 @@ public enum HbmFlushMode { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmCacheMode { @@ -4354,7 +4358,7 @@ public enum HbmCacheMode { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4444,7 +4448,7 @@ public HbmSqlQuery() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4588,7 +4592,7 @@ public HbmSubclass() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4746,7 +4750,7 @@ public HbmUnionSubclass() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmPolymorphismType { @@ -4761,7 +4765,7 @@ public enum HbmPolymorphismType { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")] public enum HbmOptimisticLockMode { @@ -4784,7 +4788,7 @@ public enum HbmOptimisticLockMode { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4798,7 +4802,7 @@ public partial class HbmCreate { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4818,7 +4822,7 @@ public partial class HbmDatabaseObject { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4836,7 +4840,7 @@ public partial class HbmDefinition { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4850,7 +4854,7 @@ public partial class HbmDrop { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4868,7 +4872,7 @@ public partial class HbmDialectScope { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4903,7 +4907,7 @@ public HbmFilterDef() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -4921,7 +4925,7 @@ public partial class HbmFilterParam { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -5010,7 +5014,7 @@ public HbmMapping() { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] @@ -5032,7 +5036,7 @@ public partial class HbmTypedef { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.4.0-dev")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "5.5.2")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] diff --git a/src/NHibernate/Cfg/XmlHbmBinding/ResultSetMappingBinder.cs b/src/NHibernate/Cfg/XmlHbmBinding/ResultSetMappingBinder.cs index 9de85b622e9..b5636f971c0 100644 --- a/src/NHibernate/Cfg/XmlHbmBinding/ResultSetMappingBinder.cs +++ b/src/NHibernate/Cfg/XmlHbmBinding/ResultSetMappingBinder.cs @@ -354,6 +354,9 @@ private static LockMode GetLockMode(HbmLockMode lockMode) case HbmLockMode.UpgradeNowait: return LockMode.UpgradeNoWait; + case HbmLockMode.UpgradeSkiplocked: + return LockMode.UpgradeSkipLocked; + case HbmLockMode.Write: return LockMode.Write; diff --git a/src/NHibernate/Criterion/Lambda/QueryOverLockBuilder.cs b/src/NHibernate/Criterion/Lambda/QueryOverLockBuilder.cs index 1cb39c2f261..cb098e0b07a 100644 --- a/src/NHibernate/Criterion/Lambda/QueryOverLockBuilder.cs +++ b/src/NHibernate/Criterion/Lambda/QueryOverLockBuilder.cs @@ -85,6 +85,15 @@ public TReturn UpgradeNoWait } } + public TReturn UpgradeSkipLocked + { + get + { + SetLockMode(LockMode.UpgradeSkipLocked); + return this.root; + } + } + public TReturn Write { get diff --git a/src/NHibernate/Dialect/Dialect.cs b/src/NHibernate/Dialect/Dialect.cs index c76992e197c..55c9470948e 100644 --- a/src/NHibernate/Dialect/Dialect.cs +++ b/src/NHibernate/Dialect/Dialect.cs @@ -563,6 +563,10 @@ public virtual string GetForUpdateString(LockMode lockMode) { return ForUpdateNowaitString; } + if (Equals(lockMode, LockMode.UpgradeSkipLocked)) + { + return ForUpdateSkipLockedString; + } return string.Empty; } @@ -643,6 +647,26 @@ public virtual string GetForUpdateNowaitString(string aliases) return GetForUpdateString(aliases); } + /// + /// Retrieves the FOR UPDATE SKIP LOCKED syntax specific to this dialect + /// + /// The appropriate FOR UPDATE SKIP LOCKED clause string. + public virtual string ForUpdateSkipLockedString + { + // by default we report no support for NOWAIT lock semantics + get { return ForUpdateString; } + } + + /// + /// Retrieves the FOR UPDATE OF column_list SKIP LOCKED syntax specific to this dialect + /// + /// The appropriate FOR UPDATE OF column_list SKIP LOCKED clause string. + public virtual string GetForUpdateSkipLockedString(string aliases) + { + // by default we report no support for NOWAIT lock semantics + return GetForUpdateString(aliases); + } + /// /// Modifies the given SQL by applying the appropriate updates for the specified /// lock modes and key columns. diff --git a/src/NHibernate/Dialect/MsSql2005Dialect.cs b/src/NHibernate/Dialect/MsSql2005Dialect.cs index 3190df79414..b84e77e1a82 100644 --- a/src/NHibernate/Dialect/MsSql2005Dialect.cs +++ b/src/NHibernate/Dialect/MsSql2005Dialect.cs @@ -83,6 +83,11 @@ public override string AppendLockHint(LockMode lockMode, string tableName) return tableName + " with (updlock, rowlock, nowait)"; } + if (lockMode == LockMode.UpgradeSkipLocked) + { + return tableName + "with (rowlock, updlock, readpast)"; + } + return tableName + " with (updlock, rowlock)"; } diff --git a/src/NHibernate/Dialect/Oracle10gDialect.cs b/src/NHibernate/Dialect/Oracle10gDialect.cs index 6344f42dcc9..b52dc5ffbc5 100644 --- a/src/NHibernate/Dialect/Oracle10gDialect.cs +++ b/src/NHibernate/Dialect/Oracle10gDialect.cs @@ -34,6 +34,13 @@ public override void Configure(IDictionary settings) base.Configure(settings); } + public override string ForUpdateSkipLockedString => " for update skip locked"; + + public override string GetForUpdateSkipLockedString(string aliases) + { + return ForUpdateString + " of " + aliases + " skip locked"; + } + // Avoid registering weighted double type when using binary floating point types protected override void RegisterFloatingPointTypeMappings() { diff --git a/src/NHibernate/Dialect/PostgreSQL95Dialect.cs b/src/NHibernate/Dialect/PostgreSQL95Dialect.cs new file mode 100644 index 00000000000..ead2fcecb64 --- /dev/null +++ b/src/NHibernate/Dialect/PostgreSQL95Dialect.cs @@ -0,0 +1,21 @@ +using System.Data; + +namespace NHibernate.Dialect +{ + /// + /// An SQL dialect for PostgreSQL 9.5 and above. + /// + /// + /// PostgreSQL 9.5 supports SKIP LOCKED + /// + public class PostgreSQL95Dialect : PostgreSQL83Dialect + { + // https://www.postgresql.org/docs/9.5/sql-select.html + public override string ForUpdateSkipLockedString => " for update skip locked"; + + public override string GetForUpdateSkipLockedString(string aliases) + { + return $" for update of {aliases} skip locked"; + } + } +} diff --git a/src/NHibernate/LockMode.cs b/src/NHibernate/LockMode.cs index ee44f6a15b9..f2f077d9534 100644 --- a/src/NHibernate/LockMode.cs +++ b/src/NHibernate/LockMode.cs @@ -86,6 +86,14 @@ public bool LessThan(LockMode mode) /// public static LockMode UpgradeNoWait = new LockMode(10, "UpgradeNoWait"); + /// + /// Attempt to obtain and upgrade lock, using an Oracle-style + /// SELET ... FOR UPDATE SKIP LOCKED. The semantics of + /// this lock mode, once obtained, are the same as + /// Upgrade. + /// + public static LockMode UpgradeSkipLocked = new LockMode(10, "UpgradeSkipLocked"); + /// /// A Write lock is obtained when an object is updated or inserted. /// diff --git a/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs b/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs index 205fdb1f212..2fcb79f083e 100644 --- a/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs +++ b/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs @@ -2080,6 +2080,7 @@ protected internal virtual void InitLockers() lockers[LockMode.Read] = GenerateLocker(LockMode.Read); lockers[LockMode.Upgrade] = GenerateLocker(LockMode.Upgrade); lockers[LockMode.UpgradeNoWait] = GenerateLocker(LockMode.UpgradeNoWait); + lockers[LockMode.UpgradeSkipLocked] = GenerateLocker(LockMode.UpgradeSkipLocked); lockers[LockMode.Force] = GenerateLocker(LockMode.Force); } @@ -4106,6 +4107,7 @@ private void CreateLoaders() loaders[LockMode.Upgrade.ToString()] = disableForUpdate ? readLoader : CreateEntityLoader(LockMode.Upgrade); loaders[LockMode.UpgradeNoWait.ToString()] = disableForUpdate ? readLoader : CreateEntityLoader(LockMode.UpgradeNoWait); + loaders[LockMode.UpgradeSkipLocked.ToString()] = disableForUpdate ? readLoader : CreateEntityLoader(LockMode.UpgradeSkipLocked); loaders[LockMode.Force.ToString()] = disableForUpdate ? readLoader : CreateEntityLoader(LockMode.Force); loaders["merge"] = new CascadeEntityLoader(this, CascadingAction.Merge, Factory); diff --git a/src/NHibernate/SqlCommand/ForUpdateFragment.cs b/src/NHibernate/SqlCommand/ForUpdateFragment.cs index 4e5661abb4b..b08a1d59197 100644 --- a/src/NHibernate/SqlCommand/ForUpdateFragment.cs +++ b/src/NHibernate/SqlCommand/ForUpdateFragment.cs @@ -12,7 +12,6 @@ public class ForUpdateFragment { private readonly Dialect.Dialect dialect; private readonly StringBuilder aliases = new StringBuilder(); - private bool isNoWaitEnabled; public ForUpdateFragment(Dialect.Dialect dialect) { @@ -58,14 +57,16 @@ public ForUpdateFragment(Dialect.Dialect dialect, IDictionary { IsNoWaitEnabled = true; } + + if (upgradeType == LockMode.UpgradeNoWait) + { + IsSkipLockedEnabled = true; + } } } - public bool IsNoWaitEnabled - { - get { return isNoWaitEnabled; } - set { isNoWaitEnabled = value; } - } + public bool IsNoWaitEnabled { get; set; } + public bool IsSkipLockedEnabled { get; set; } public ForUpdateFragment AddTableAlias(string alias) { @@ -84,9 +85,11 @@ public string ToSqlStringFragment() return string.Empty; } - return isNoWaitEnabled + return IsNoWaitEnabled ? dialect.GetForUpdateNowaitString(aliases.ToString()) - : dialect.GetForUpdateString(aliases.ToString()); + : IsSkipLockedEnabled + ? dialect.GetForUpdateSkipLockedString(aliases.ToString()) + : dialect.GetForUpdateString(aliases.ToString()); } } } diff --git a/src/NHibernate/SqlCommand/SqlSelectBuilder.cs b/src/NHibernate/SqlCommand/SqlSelectBuilder.cs index 1859ea28263..d03421c1259 100644 --- a/src/NHibernate/SqlCommand/SqlSelectBuilder.cs +++ b/src/NHibernate/SqlCommand/SqlSelectBuilder.cs @@ -307,7 +307,8 @@ private string GetForUpdateString() var isUpgrade = Equals(lockMode, LockMode.Upgrade); var isUpgradeNoWait = !isUpgrade && ( Equals(lockMode, LockMode.UpgradeNoWait) || Equals(lockMode, LockMode.Force)); - if (!isUpgrade && !isUpgradeNoWait) + var isUpgradeSkipLocked = !isUpgrade && !isUpgradeNoWait && Equals(lockMode, LockMode.UpgradeSkipLocked); + if (!isUpgrade && !isUpgradeNoWait && !isUpgradeSkipLocked) return string.Empty; if (!Dialect.SupportsForUpdateOf) @@ -328,7 +329,11 @@ private string GetForUpdateString() return string.Empty; } - return isUpgrade ? Dialect.GetForUpdateString(mainTableAlias) : Dialect.GetForUpdateNowaitString(mainTableAlias); + return isUpgrade + ? Dialect.GetForUpdateString(mainTableAlias) + : isUpgradeNoWait + ? Dialect.GetForUpdateNowaitString(mainTableAlias) + : Dialect.GetForUpdateSkipLockedString(mainTableAlias); } return Dialect.GetForUpdateString(lockMode); diff --git a/src/NHibernate/nhibernate-mapping.xsd b/src/NHibernate/nhibernate-mapping.xsd index 60d36e5a128..38b77321efa 100644 --- a/src/NHibernate/nhibernate-mapping.xsd +++ b/src/NHibernate/nhibernate-mapping.xsd @@ -1637,6 +1637,7 @@ + diff --git a/teamcity.build b/teamcity.build index ee34daee992..b0c0716eaec 100644 --- a/teamcity.build +++ b/teamcity.build @@ -137,7 +137,7 @@ - +