Skip to content

Commit e819f17

Browse files
committed
Merge pull request #312 from amroel/NH-3656_refactored
NH-3656 firebird change parameter type from currency to decimal
2 parents 5e2655e + 2848277 commit e819f17

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

lib/teamcity/firebird/NHibernate.Test.last-results.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14895,10 +14895,10 @@ TearDown : Test didn't clean up after itself. session closed: True database clea
1489514895
<test-case name="NHibernate.Test.TypesTest.CharClassFixture.ReadWrite" executed="True" result="Success" success="True" asserts="0" />
1489614896
</results>
1489714897
</test-suite>
14898-
<test-suite type="TestFixture" name="CurrencyTypeFixture" executed="True" result="Failure" success="False" asserts="0">
14898+
<test-suite type="TestFixture" name="CurrencyTypeFixture" executed="True" result="Success" success="True" asserts="0">
1489914899
<results>
1490014900
<test-case name="NHibernate.Test.TypesTest.CurrencyTypeFixture.Equals" executed="True" result="Success" success="True" asserts="1" />
14901-
<test-case name="NHibernate.Test.TypesTest.CurrencyTypeFixture.ReadWrite" executed="True" result="Failure" success="False" asserts="0">
14901+
<test-case name="NHibernate.Test.TypesTest.CurrencyTypeFixture.ReadWrite" executed="True" result="Success" success="True" asserts="0">
1490214902
<failure>
1490314903
<message><![CDATA[System.ArgumentException : Invalid data type
1490414904
TearDown : Test didn't clean up after itself. session closed: False database cleaned: True connection closed: True]]></message>

src/NHibernate/Driver/FirebirdClientDriver.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,15 @@ public override string NamedPrefix
5050
get { return "@"; }
5151
}
5252

53+
protected override void InitializeParameter(IDbDataParameter dbParam, string name, SqlType sqlType)
54+
{
55+
var convertedSqlType = sqlType;
56+
if (convertedSqlType.DbType == DbType.Currency)
57+
convertedSqlType = new SqlType(DbType.Decimal);
58+
59+
base.InitializeParameter(dbParam, name, convertedSqlType);
60+
}
61+
5362
public override void AdjustCommand(IDbCommand command)
5463
{
5564
var expWithParams = GetStatementsWithCastCandidates(command.CommandText);

0 commit comments

Comments
 (0)