|
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.
|