Ah...that makes sense. If you check the same fixture, there was another culture related problem with the dates. Think I'll be able to reproduce and fix it now.
On Mon, Mar 28, 2011 at 12:59 PM, Kristoffer Jansson < [email protected]> wrote: > Yes, it fail. > > I think I've found the problem. I thought I had tested all culture > related aspects of this, but I didn't dig deep enough. I'm running sv- > SE culture which uses a different decimal separator (comma instead of > dot). But changing the culture for the application thread is not > enough, you have to actually change your system wide settings and log > off/on first. When I did change my system settings to en-US and logged > off and on then ran the test, it passed. > > So it seems like a culture related bug after all. Could you verify > this? > > // Kristoffer > > On Mar 28, 10:13 am, Hadi Eskandari <[email protected]> wrote: > > Okay, my mistake, but the test still passes here. I basically run > > this<https://gist.github.com/890120>and it passes. Does this fail on > > your end? > > > > On Mon, Mar 28, 2011 at 12:10 PM, Kristoffer Jansson < > > > > > > > > > > > > > > > > [email protected]> wrote: > > > There's a bug in that test. You're testing against the original > > > entity, and not what you're getting from the database. If I test > > > against "readback", the test fail, see:https://gist.github.com/890120 > > > > > // Kristoffer > > > > > On Mar 26, 10:56 am, Hadi Eskandari <[email protected]> wrote: > > > > Kristoffer, > > > > > > I have slightly modified and applied your test, to the trunk version > of > > > > JetDriver. It looks like this <https://gist.github.com/888143> now, > but > > > the > > > > test is passing without applying your patch. I can even see in the > Output > > > > window that the query ran on the db is like this: > > > > > > NHibernate: INSERT INTO DecimalEntity (SimpleDecimal, SimpleDouble, > > > > NullableDecimal, NullableDouble, Id) VALUES (?, ?, ?, ?, ?);@p0 = > 1.1, > > > @p1 = > > > > 1.2, @p2 = 1.3, @p3 = 1.4, @p4 = 0 > > > > > > NHibernate: SELECT this_.Id as Id0_0_, this_.SimpleDecimal as > > > > SimpleDe2_0_0_, this_.SimpleDouble as SimpleDo3_0_0_, > > > this_.NullableDecimal > > > > as Nullable4_0_0_, this_.NullableDouble as Nullable5_0_0_ from > > > DecimalEntity > > > > this_ WHERE this_.Id = ?;@p0 = 0 > > > > > > and as you can see decimal points are all there in case of Decimal or > > > Double > > > > data types. I know you mentioned the repro is tricky but I need a > failing > > > > test here to make sure the bug is correctly patched. Could you help > out? > > > Did > > > > you run the test you provided before applying the patch and it > failed? > > > > > > Thanks, > > > > Hadi > > > > > > On Mon, Mar 21, 2011 at 8:12 PM, Kristoffer Jansson < > > > > > > [email protected]> wrote: > > > > > I ran into a problem with the JetDriver and decimals a while ago > when > > > > > working with MS Access databases, but I have no idea how to > > > > > contribute, so I'll just post it here. > > > > > > > The problem arises when you're trying to save a value of type > decimal > > > > > in the database. Regardless of whether the designated column is a > > > > > double, or an actual decimal doesn't seem to matter. What happens > is > > > > > that the decimal separator magically disappears. So saving '1.2' > would > > > > > result in the value '12' in the database. > > > > > > > The fix is making decimals into doubles before saving to database. > > > > > Similar as to how the code already makes Int64 into Int32. This > works > > > > > on both double and decimal columns. > > > > > > > I've no idea how to write an automated test to verify this, except > > > > > actually having a database lying around and try to store and read > back > > > > > the data. Even then I'm not sure if the test could be used safely > as > > > > > it's not very isolated. There may be some twisted environment of > > > > > drivers etc where the error wouldn't show up. > > > > > > > Anyway, I've seen this exact behavior on our systems as well as > > > > > customers, so it doesn't seem like it's only me :) > > > > > > > Here's a patch that fixes the problem: > > > > >http://www.itstod.se/files/jetdriver_decimal_to_double_fix.patch > > > > > > > -- > > > > > You received this message because you are subscribed to the Google > > > Groups > > > > > "NHibernate Contrib - Development Group" group. > > > > > To post to this group, send email to [email protected]. > > > > > To unsubscribe from this group, send email to > > > > > [email protected]. > > > > > For more options, visit this group at > > > > >http://groups.google.com/group/nhcdevs?hl=en. > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "NHibernate Contrib - Development Group" group. > > > To post to this group, send email to [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]. > > > For more options, visit this group at > > >http://groups.google.com/group/nhcdevs?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "NHibernate Contrib - Development Group" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/nhcdevs?hl=en. > > -- You received this message because you are subscribed to the Google Groups "NHibernate Contrib - Development Group" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhcdevs?hl=en.
