Skip to Content.
Sympa Menu

freetds - TDS_END3_TOKEN on Solaris(sparc)

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Gregg Jensen <greggj AT savvis.net>
  • To: freetds AT franklin.oit.unc.edu
  • Subject: TDS_END3_TOKEN on Solaris(sparc)
  • Date: Fri, 05 Feb 1999 16:47:33 -0600


I have been looking at this too long now, and I am not getting
anywhere. The latest from cvs (as of yesterday afternoon) has worked
for every query that I have thrown at it, on Linux. The same code on
Solaris does
most of the queries correctly, but not all. The two specific queries
that
don't work are "sp_help tablename" and a stored procedure that returns
a row with either a Y or N. I can get the stored procedure to work, IFF
I
change the TDS_END3_TOKEN in tds_process_result_tokens and
tds_process_row_tokens to basically be ignored (ie, move it down to do
the same thing the default case does). This doesn't seem to break
anything else, but I don't think it should be that way, since code works
fine
on Linux.

I have turned on the tdsdump_log in an attempt to track it down and have

found that if TDS_END3_TOKEN performs that same thing as
TDS_END2_TOKEN in tds_process_result_tokens, it reaches a point
where tds->res_info returns false and more_results returns false, so
the code returns TDS_NO_MORE_RESULTS. But, in fact there IS more
data. In fact there are 8 more markers before the TDS_END2_TOKEN
actually shows up and the proper output is displayed.

The bottom line, on Linux having the TDS_END3_TOKEN joined with
either TDS_END2_TOKEN OR default in both functions, performs
correctly. And on Solaris, it only works if TDS_END3_TOKEN is joined
with the default case (basically ignored) in both of those functions.

I know this is difficult to follow, but if you have any ideas would be
welcome.
Gregg





Archive powered by MHonArc 2.6.24.

Top of Page