From: T. T. <te...@gm...> - 2008-12-16 18:42:07
|
Great! I'm glad you noticed the code piece for validate thing. On Tue, Dec 16, 2008 at 8:39 PM, <fab...@us...> wrote: > Revision: 3958 > > http://nhibernate.svn.sourceforge.net/nhibernate/?rev=3958&view=rev > Author: fabiomaulo > Date: 2008-12-16 18:39:12 +0000 (Tue, 16 Dec 2008) > > Log Message: > ----------- > - Fix NH-1443 > - prevent another bug on PK > > Modified Paths: > -------------- > trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs > trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs > trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs > trunk/nhibernate/src/NHibernate/Mapping/PrimaryKey.cs > trunk/nhibernate/src/NHibernate/Mapping/Table.cs > trunk/nhibernate/src/NHibernate.Test/MappingTest/TableFixture.cs > trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj > > Added Paths: > ----------- > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/ > > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/AclassWithDefault.hbm.xml > > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/AclassWithNothing.hbm.xml > > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/AclassWithSpecific.hbm.xml > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/Fixture.cs > > Modified: trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs > =================================================================== > --- trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs 2008-12-16 16:17:49 > UTC (rev 3957) > +++ trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs 2008-12-16 18:39:12 > UTC (rev 3958) > @@ -289,6 +289,7 @@ > Table table = new DenormalizedTable(includedTable); > table.IsAbstract = isAbstract; > table.Name = name; > + table.Catalog = catalog; > table.Schema = schema; > table.Subselect = subselect; > tables[key] = table; > > Modified: > trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs > =================================================================== > --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs > 2008-12-16 16:17:49 UTC (rev 3957) > +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs > 2008-12-16 18:39:12 UTC (rev 3958) > @@ -44,6 +44,7 @@ > private void SetMappingsProperties(HbmMapping mappingSchema) > { > mappings.SchemaName = mappingSchema.schema; > + mappings.CatalogName = mappingSchema.catalog; > mappings.DefaultCascade = > mappingSchema.defaultcascade; > mappings.DefaultAccess = > mappingSchema.defaultaccess; > mappings.DefaultLazy = mappingSchema.defaultlazy; > > Modified: > trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs > =================================================================== > --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs > 2008-12-16 16:17:49 UTC (rev 3957) > +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs > 2008-12-16 18:39:12 UTC (rev 3958) > @@ -20,7 +20,7 @@ > > //TABLENAME > string schema = classSchema.schema ?? > mappings.SchemaName; > - string catalog = mappings.CatalogName; //string > catalog = classSchema.catalog ?? mappings.CatalogName; > + string catalog = classSchema.catalog ?? > mappings.CatalogName; > string tableName = GetClassTableName(rootClass, > classSchema); > if (string.IsNullOrEmpty(tableName)) > { > > Modified: trunk/nhibernate/src/NHibernate/Mapping/PrimaryKey.cs > =================================================================== > --- trunk/nhibernate/src/NHibernate/Mapping/PrimaryKey.cs 2008-12-16 > 16:17:49 UTC (rev 3957) > +++ trunk/nhibernate/src/NHibernate/Mapping/PrimaryKey.cs 2008-12-16 > 18:39:12 UTC (rev 3958) > @@ -76,7 +76,7 @@ > public override string SqlDropString(Dialect.Dialect > dialect, string defaultCatalog, string defaultSchema) > { > string ifExists = > dialect.GetIfExistsDropConstraint(Table, Name); > - string drop = string.Format("alter table {0}{1}", > Table.GetQualifiedName(dialect, defaultSchema), > dialect.GetDropPrimaryKeyConstraintString(Name)); > + string drop = string.Format("alter table {0}{1}", > Table.GetQualifiedName(dialect, defaultCatalog, defaultSchema), > dialect.GetDropPrimaryKeyConstraintString(Name)); > string end = > dialect.GetIfExistsDropConstraintEnd(Table, Name); > return ifExists + Environment.NewLine + drop + > Environment.NewLine + end; > } > > Modified: trunk/nhibernate/src/NHibernate/Mapping/Table.cs > =================================================================== > --- trunk/nhibernate/src/NHibernate/Mapping/Table.cs 2008-12-16 16:17:49 > UTC (rev 3957) > +++ trunk/nhibernate/src/NHibernate/Mapping/Table.cs 2008-12-16 18:39:12 > UTC (rev 3958) > @@ -118,14 +118,10 @@ > /// Gets the schema qualified name of the Table using the > specified qualifier > /// </summary> > /// <param name="dialect">The <see cref="Dialect"/> that > knows how to Quote the Table name.</param> > - /// <param name="defaultQualifier">The Qualifier to use > when accessing the table.</param> > + /// <param name="defaultCatalog">The catalog name.</param> > + /// <param name="defaultSchema">The schema name.</param> > /// <returns>A String representing the Qualified > name.</returns> > /// <remarks>If this were used with MSSQL it would return a > dbo.table_name.</remarks> > - public string GetQualifiedName(Dialect.Dialect dialect, > string defaultQualifier) > - { > - return GetQualifiedName(dialect, null, > defaultQualifier); > - } > - > public virtual string GetQualifiedName(Dialect.Dialect > dialect, string defaultCatalog, string defaultSchema) > { > if (!string.IsNullOrEmpty(subselect)) > @@ -410,7 +406,7 @@ > > dialect.CreateTableString > : > dialect.CreateMultisetTableString) > .Append(' ') > - .Append(GetQualifiedName(dialect, > defaultSchema)) > + .Append(GetQualifiedName(dialect, > defaultCatalog, defaultSchema)) > .Append(" ("); > > bool identityColumn = idValue != null && > idValue.IsIdentityColumn(dialect); > > Modified: trunk/nhibernate/src/NHibernate.Test/MappingTest/TableFixture.cs > =================================================================== > --- trunk/nhibernate/src/NHibernate.Test/MappingTest/TableFixture.cs > 2008-12-16 16:17:49 UTC (rev 3957) > +++ trunk/nhibernate/src/NHibernate.Test/MappingTest/TableFixture.cs > 2008-12-16 18:39:12 UTC (rev 3958) > @@ -20,9 +20,9 @@ > > Assert.AreEqual("[keyword]", > tbl.GetQuotedName(dialect)); > > - Assert.AreEqual("dbo.[keyword]", > tbl.GetQualifiedName(dialect, "dbo")); > + Assert.AreEqual("dbo.[keyword]", > tbl.GetQualifiedName(dialect, null, "dbo")); > > - Assert.AreEqual("[keyword]", > tbl.GetQualifiedName(dialect, null)); > + Assert.AreEqual("[keyword]", > tbl.GetQualifiedName(dialect, null, null)); > > tbl.Schema = "sch"; > > @@ -39,9 +39,9 @@ > > Assert.AreEqual("notkeyword", > tbl.GetQuotedName(dialect)); > > - Assert.AreEqual("dbo.notkeyword", > tbl.GetQualifiedName(dialect, "dbo")); > + Assert.AreEqual("dbo.notkeyword", > tbl.GetQualifiedName(dialect, null, "dbo")); > > - Assert.AreEqual("notkeyword", > tbl.GetQualifiedName(dialect, null)); > + Assert.AreEqual("notkeyword", > tbl.GetQualifiedName(dialect, null, null)); > > tbl.Schema = "sch"; > > > Added: > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/AclassWithDefault.hbm.xml > =================================================================== > --- > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/AclassWithDefault.hbm.xml > (rev 0) > +++ > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/AclassWithDefault.hbm.xml > 2008-12-16 18:39:12 UTC (rev 3958) > @@ -0,0 +1,13 @@ > +<?xml version="1.0" encoding="utf-8" ?> > +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" > + > namespace="NHibernate.Test.NHSpecificTest.NH1443" > + assembly="NHibernate.Test" > + catalog="nhibernate" > + schema="dbo"> > + > + <class name="Aclass"> > + <id name="Id"> > + <generator class="native"/> > + </id> > + </class> > +</hibernate-mapping> > > Added: > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/AclassWithNothing.hbm.xml > =================================================================== > --- > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/AclassWithNothing.hbm.xml > (rev 0) > +++ > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/AclassWithNothing.hbm.xml > 2008-12-16 18:39:12 UTC (rev 3958) > @@ -0,0 +1,11 @@ > +<?xml version="1.0" encoding="utf-8" ?> > +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" > + > namespace="NHibernate.Test.NHSpecificTest.NH1443" > + assembly="NHibernate.Test"> > + > + <class name="Aclass"> > + <id name="Id"> > + <generator class="native"/> > + </id> > + </class> > +</hibernate-mapping> > > > Property changes on: > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/AclassWithNothing.hbm.xml > ___________________________________________________________________ > Added: svn:mergeinfo > + > > Added: > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/AclassWithSpecific.hbm.xml > =================================================================== > --- > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/AclassWithSpecific.hbm.xml > (rev 0) > +++ > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/AclassWithSpecific.hbm.xml > 2008-12-16 18:39:12 UTC (rev 3958) > @@ -0,0 +1,13 @@ > +<?xml version="1.0" encoding="utf-8" ?> > +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" > + > namespace="NHibernate.Test.NHSpecificTest.NH1443" > + assembly="NHibernate.Test" > + catalog="somethingDifferent" > + schema="somethingDifferent"> > + > + <class name="Aclass" catalog="nhibernate" schema="dbo"> > + <id name="Id"> > + <generator class="native"/> > + </id> > + </class> > +</hibernate-mapping> > > Added: > trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/Fixture.cs > =================================================================== > --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/Fixture.cs > (rev 0) > +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/Fixture.cs > 2008-12-16 18:39:12 UTC (rev 3958) > @@ -0,0 +1,63 @@ > +using System.Text; > +using NHibernate.Cfg; > +using NHibernate.Tool.hbm2ddl; > +using NUnit.Framework; > +using NUnit.Framework.SyntaxHelpers; > + > +namespace NHibernate.Test.NHSpecificTest.NH1443 > +{ > + [TestFixture] > + public class Fixture > + { > + private static void Bug(Configuration cfg) > + { > + var su = new SchemaExport(cfg); > + var sb = new StringBuilder(500); > + su.Execute(x => sb.AppendLine(x), false, false, > true); > + string script = sb.ToString(); > + Assert.That(script, Text.Contains("drop table > nhibernate.dbo.Aclass")); > + Assert.That(script, Text.Contains("create table > nhibernate.dbo.Aclass")); > + } > + > + [Test] > + public void WithDefaultValuesInConfiguration() > + { > + Configuration cfg = > TestConfigurationHelper.GetDefaultConfiguration(); > + > cfg.AddResource("NHibernate.Test.NHSpecificTest.NH1443.AclassWithNothing.hbm.xml", > GetType().Assembly); > + cfg.SetProperty(Environment.DefaultCatalog, > "nhibernate"); > + cfg.SetProperty(Environment.DefaultSchema, "dbo"); > + Bug(cfg); > + } > + > + [Test] > + public void WithDefaultValuesInMapping() > + { > + Configuration cfg = > TestConfigurationHelper.GetDefaultConfiguration(); > + > cfg.AddResource("NHibernate.Test.NHSpecificTest.NH1443.AclassWithDefault.hbm.xml", > GetType().Assembly); > + Bug(cfg); > + } > + > + [Test] > + public void WithSpecificValuesInMapping() > + { > + Configuration cfg = > TestConfigurationHelper.GetDefaultConfiguration(); > + > cfg.AddResource("NHibernate.Test.NHSpecificTest.NH1443.AclassWithSpecific.hbm.xml", > GetType().Assembly); > + Bug(cfg); > + } > + > + [Test] > + public void > WithDefaultValuesInConfigurationPriorityToMapping() > + { > + Configuration cfg = > TestConfigurationHelper.GetDefaultConfiguration(); > + > cfg.AddResource("NHibernate.Test.NHSpecificTest.NH1443.AclassWithDefault.hbm.xml", > GetType().Assembly); > + cfg.SetProperty(Environment.DefaultCatalog, > "somethingDifferent"); > + cfg.SetProperty(Environment.DefaultSchema, > "somethingDifferent"); > + Bug(cfg); > + } > + } > + > + public class Aclass > + { > + public int Id { get; set; } > + } > +} > \ No newline at end of file > > Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj > =================================================================== > --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2008-12-16 > 16:17:49 UTC (rev 3957) > +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2008-12-16 > 18:39:12 UTC (rev 3958) > @@ -376,6 +376,7 @@ > <Compile Include="NHSpecificTest\NH1274ExportExclude\Home.cs" /> > <Compile > Include="NHSpecificTest\NH1274ExportExclude\NH1274ExportExcludeFixture.cs" > /> > <Compile Include="NHSpecificTest\NH1274ExportExclude\Person.cs" /> > + <Compile Include="NHSpecificTest\NH1443\Fixture.cs" /> > <Compile Include="NHSpecificTest\NH1611OneToOneIdentity\Adjunct.cs" /> > <Compile > Include="NHSpecificTest\NH1611OneToOneIdentity\NH1611OneToOneIdentityFixture.cs" > /> > <Compile Include="NHSpecificTest\NH1611OneToOneIdentity\Primary.cs" /> > @@ -1569,6 +1570,9 @@ > <EmbeddedResource Include="Cascade\JobBatch.hbm.xml" /> > <EmbeddedResource Include="Deletetransient\Person.hbm.xml" /> > <Content Include="DynamicEntity\package.html" /> > + <EmbeddedResource > Include="NHSpecificTest\NH1443\AclassWithSpecific.hbm.xml" /> > + <EmbeddedResource > Include="NHSpecificTest\NH1443\AclassWithDefault.hbm.xml" /> > + <EmbeddedResource > Include="NHSpecificTest\NH1443\AclassWithNothing.hbm.xml" /> > <EmbeddedResource > Include="NHSpecificTest\NH1274ExportExclude\Mappings.hbm.xml" /> > <EmbeddedResource > Include="NHSpecificTest\NH1611OneToOneIdentity\Mappings.hbm.xml" /> > <EmbeddedResource Include="NHSpecificTest\NH1533\Mappings.hbm.xml" /> > @@ -1669,4 +1673,4 @@ > if exist "$(ProjectDir)hibernate.cfg.xml" (copy > "$(ProjectDir)hibernate.cfg.xml" "hibernate.cfg.xml") > copy /y "..\..\..\NHibernate.DomainModel\ABC.hbm.xml" > "ABC.hbm.xml"</PostBuildEvent> > </PropertyGroup> > -</Project> > +</Project> > \ No newline at end of file > > > This was sent by the SourceForge.net collaborative development platform, > the world's largest Open Source development site. > > > ------------------------------------------------------------------------------ > SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. > The future of the web can't happen without you. Join us at MIX09 to help > pave the way to the Next Web now. Learn more and register at > > http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ > _______________________________________________ > Nhibernate-commit mailing list > Nhi...@li... > https://lists.sourceforge.net/lists/listinfo/nhibernate-commit > -- Tuna Toksöz http://tunatoksoz.com Typos included to enhance the readers attention! |