Well, my first PR didn't go quite as hoped but I've pushed some revisions now. Still at https://github.com/nhibernate/nhibernate-core/pull/490
Opinions are welcome, especially to my solution on https://nhibernate.jira.com/browse/NH-3895 which involves introducing a setting for DbType.Datetime scale on the OdbcDriver. See further notes in Jira. If I'm missing an easy solution to detect it automatically, please let me know. Otherwise I think this solution is as good as it will get for now. Feels like a corner case in an unusual scenario so I don't want to spend much time on it. Anyway, the PR takes the number of failing tests from 213 down to 45. Only 4 of those are tests that used to work, the rest I think have basically never worked in this scenario. Strange thing is, those 4 tests do work on my local system. Hmm... and they seem to be flaky in Teamcity. They all involve entities with a timestamp version, so may be related to precision also. Don't know what to do about them. /Oskar ---------- Forwarded message ---------- From: Oskar Berggren <oskar.bergg...@gmail.com> Date: 2016-08-03 16:13 GMT+01:00 Subject: Re: [nhusers] Many unit tests failing with fractional second precision exceeds scaled specified. What is the appropriate resolution? To: nhus...@googlegroups.com With this: https://github.com/nhibernate/nhibernate-core/pull/490 I believe the fail count on MSSQL ODBC should drop from 213 to a bit over 70. Possibly there will be some new test failures because the change of dialect may activate some tests that were previously ignored. /Oskar 2016-08-03 14:44 GMT+01:00 Oskar Berggren <oskar.bergg...@gmail.com>: > I'm looking into it. > > My take is that if we're using (modern) MSSQL over ODBC we should set > dbParam.Scale = 3 if the DbType is DateTime and nothing else have bee > specified > > For the lack of real bug reports showing issues on other environments, I'm > consider doing a somewhat hacky solution. It seems like it's more about how > the tests are written and executed, than a bug in NHibernate itself. But we > don't really want to change a massive amount of tests because then maybe > they wouldn't test what they were supposed to test anymore. Besides all the > work required. > > /Oskar > > > 2016-07-28 17:38 GMT+01:00 'Nathan Brown' via nhusers < > nhus...@googlegroups.com>: > >> A large number of unit tests are failing because of the following error: >> >> System.Data.Odbc.OdbcException : ERROR [22008] [Microsoft][SQL Server >> Native Client 11.0]Datetime field overflow. Fractional second precision >> exceeds the scale specified in the parameter binding. >> >> What is the approach the team wants to take to resolve this? Should the >> NHibernate SQL Server mappings automatically truncate these datetime >> fields? Should the unit tests truncate? Should the schema be updated to >> use datetime2 so it can handle the full precision? >> >> Any other options available? >> >> Above all, I think the unit tests should have a path to passing on all >> servers, especially MS SQL Server. >> >> Thanks, >> Nathan Brown >> >> -- >> You received this message because you are subscribed to the Google Groups >> "nhusers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to nhusers+unsubscr...@googlegroups.com. >> To post to this group, send email to nhus...@googlegroups.com. >> Visit this group at https://groups.google.com/group/nhusers. >> For more options, visit https://groups.google.com/d/optout. >> > > -- --- You received this message because you are subscribed to the Google Groups "nhibernate-development" group. To unsubscribe from this group and stop receiving emails from it, send an email to nhibernate-development+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.