From: <dav...@us...> - 2008-12-03 20:06:22
|
Revision: 3943 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=3943&view=rev Author: davybrion Date: 2008-12-03 20:06:17 +0000 (Wed, 03 Dec 2008) Log Message: ----------- applied patch for NH-1593 Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs trunk/nhibernate/src/NHibernate/Dialect/MsSql2000Dialect.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1594/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1594/A.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1594/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1594/Mappings.hbm.xml Modified: trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs 2008-12-03 19:45:12 UTC (rev 3942) +++ trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs 2008-12-03 20:06:17 UTC (rev 3943) @@ -408,7 +408,7 @@ /// <returns>The database type name used by ddl.</returns> public virtual string GetTypeName(SqlType sqlType) { - if (sqlType.LengthDefined) + if (sqlType.LengthDefined || sqlType.PrecisionDefined) { string resultWithLength = typeNames.Get(sqlType.DbType, sqlType.Length, sqlType.Precision, sqlType.Scale); if (resultWithLength != null) return resultWithLength; Modified: trunk/nhibernate/src/NHibernate/Dialect/MsSql2000Dialect.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Dialect/MsSql2000Dialect.cs 2008-12-03 19:45:12 UTC (rev 3942) +++ trunk/nhibernate/src/NHibernate/Dialect/MsSql2000Dialect.cs 2008-12-03 20:06:17 UTC (rev 3943) @@ -65,6 +65,7 @@ // correctly with minimal work. RegisterColumnType(DbType.Decimal, "DECIMAL(19,5)"); RegisterColumnType(DbType.Decimal, 19, "DECIMAL(19, $l)"); + RegisterColumnType(DbType.Decimal, 19, "DECIMAL($p, $s)"); RegisterColumnType(DbType.Double, "DOUBLE PRECISION"); //synonym for FLOAT(53) RegisterColumnType(DbType.Guid, "UNIQUEIDENTIFIER"); RegisterColumnType(DbType.Int16, "SMALLINT"); Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1594/A.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1594/A.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1594/A.cs 2008-12-03 20:06:17 UTC (rev 3943) @@ -0,0 +1,7 @@ +namespace NHibernate.Test.NHSpecificTest.NH1594 +{ + public class A + { + public virtual decimal Foo { get; set; } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1594/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1594/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1594/Fixture.cs 2008-12-03 20:06:17 UTC (rev 3943) @@ -0,0 +1,28 @@ +using System.Reflection; +using NHibernate.Cfg; +using NHibernate.Dialect; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH1594 +{ + [TestFixture] + public class Fixture + { + [Test] + public void Bug() + { + Configuration cfg = new Configuration(); + Assembly assembly = Assembly.GetExecutingAssembly(); + cfg.AddResource("NHibernate.Test.NHSpecificTest.NH1594.Mappings.hbm.xml", assembly); + + string[] script = cfg.GenerateSchemaCreationScript(new MsSql2000Dialect()); + + bool found = string.Compare( + script[0], + "create table A (id INT IDENTITY NOT NULL, Foo DECIMAL(4, 2) null, primary key (id))", + true) == 0; + + Assert.IsTrue(found, "when using decimal(precision,scale) Script should contain the correct create table statement"); + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1594/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1594/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1594/Mappings.hbm.xml 2008-12-03 20:06:17 UTC (rev 3943) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH1594"> + <class name="A"> + <id type="int"> + <generator class="native"/> + </id> + <property name="Foo" type="Decimal(4,2)" /> + </class> +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2008-12-03 19:45:12 UTC (rev 3942) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2008-12-03 20:06:17 UTC (rev 3943) @@ -532,6 +532,8 @@ <Compile Include="NHSpecificTest\NH1579\Orange.cs" /> <Compile Include="NHSpecificTest\NH1587\A.cs" /> <Compile Include="NHSpecificTest\NH1587\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH1594\A.cs" /> + <Compile Include="NHSpecificTest\NH1594\Fixture.cs" /> <Compile Include="NHSpecificTest\NH280\Fixture.cs" /> <Compile Include="NHSpecificTest\NH280\Foo.cs" /> <Compile Include="NHSpecificTest\NH1018\Employee.cs" /> @@ -1552,6 +1554,7 @@ <EmbeddedResource Include="Cascade\JobBatch.hbm.xml" /> <EmbeddedResource Include="Deletetransient\Person.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH1594\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1579\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH298\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1587\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |