Skip to Content.
Sympa Menu

freetds - Re: [freetds] dbresults() behavior different between RH7.3 and CentOS4

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "James K. Lowden" <jklowden AT freetds.org>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] dbresults() behavior different between RH7.3 and CentOS4
  • Date: Mon, 23 Oct 2006 08:41:17 -0400

David Chang wrote:
> Thanks for the update.

My pleasure. Thank you, too. You found a bug, described it clearly,
showed how it was a problem. That led me to look at it carefully. I had
a few hours on Saturday and thought I'd at least try to figure out what
was going on. I'm not sure the fix was completely correct, but it was
easier than I expected and it doesn't break any of our test. With luck it
will turn out to be right.

> At least the behavior is the same as Microsoft
> DB-Library now. That's the best one can hope for.

If there's any discrepancy with Sybase's implementation, that would be a
bug, too. Until it's documented, of course.

> In terms of the TDS protocol, I found out that my freetds.conf file is
> set to 8.0. Do you think if I change it to 4.2 that results processing
> would be any different?

No. This problem was not related to the protocol layer; it was a function
of how db-lib uses libtds.

Basically, db-lib was being too aggressive. When you called
dbretstatus(), it caused libtds to read all "post results": return status
and output parameters, until it saw a DONE packet, signifying that the
server had no more to send. While looking for output parameters, it was
discarding return status packets.

Regards,

--jkl




Archive powered by MHonArc 2.6.24.

Top of Page