RE: DBD::Sybase 1.07 install on Solaris 8 - failing t/exec.t test #11
"Srinivasan, Ravikumar" <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.dbi.sybase |
|---|---|
| Message-ID | <B59251B85D7B9B43AB422EE320D4E36502632A09@gsnmp22es.firmwide.corp.gs.com> |
I would think this is a sybase feature :-) Floats tend to do this from time to time. Reason I tend use decimal instead. -Ravi -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Greg Earle Sent: Wednesday, November 02, 2005 3:03 PM To: [email protected] Subject: Re: DBD::Sybase 1.07 install on Solaris 8 - failing t/exec.t test #11 On Nov 2, 2005, at 11:37 AM, Michael Peppler wrote: > On Tue, 2005-11-01 at 18:38 -0800, Greg Earle wrote: > >> I thought at first perhaps my Sybase server/login/password/database >> information was incorrect, but I don't think I would've gotten this >> far if it hadn't been. >> >> That part of t/exec.t is >> >> [...] >> $rc = $sth->execute(undef, 25, 3.2234, "jan 3 2001", 5.4); >> ok(defined($rc), "exec dbitest 3"); >> my @out = $sth->func('syb_output_params'); >> ok($out[0] == 5.4, "out param 1"); >> >> Neither my Perl nor my (non-existent) Sybase knowledge are good >> enough to tell what's going on here. Any ideas, Mike? > > It looks like the output parameter that should be 5.4 isn't quite that. > I'm not sure what the reason might be, but you could edit the script > and > print out the @out list, like this: > > print "@out\n"; > > right after the $sth->func() call to see what you get. Oh, duh. Why didn't I think of that :-) Looks like an arithmetic error: [...] ok 10 - exec dbitest 3 5.40000000000000035527136788005009 not ok 11 - out param 1 # Failed test (t/exec.t at line 89) [...] So it's looking for 5.4, and getting something really close to it :-) Where do I look now? Something in the way I built Perl that's returning these oddball long-precision results? Or in Sybase? Thanks, - Greg