Skip to Content.
Sympa Menu

freetds - [freetds] stop the presses....0.61rc2

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Brian Bruns <camber AT ais.org>
  • To: freetds AT lists.ibiblio.org
  • Subject: [freetds] stop the presses....0.61rc2
  • Date: Fri, 21 Feb 2003 18:40:13 -0500 (EST)


Hi all,

I figured i best get off my butt and test 0.61rc2 against Adaptive Server
Anywhere.

Whenever we added the tds_set_spid function (btw, is "set" spid the right
word? Aren't we "get"ting the spid from the server. Most of the other
functions take a server-centric view....but I digress) we assumed that
"select @@spid" would return a 2 byte int. Under ASA 5.5 it returns a
SYBINT4, and thus the login fails with "Login Failed". This is a definite
show stopper for anyone running ASA, I'd recommend applying to 0.61

Now let's watch the mailer mangle this patch, but it's the best I can do
atm.

--- token.c.orig Fri Feb 21 19:06:24 2003
+++ token.c Fri Feb 21 19:08:49 2003
@@ -197,13 +197,18 @@
return TDS_FAIL;
}
curcol = tds->res_info->columns[0];
- if (curcol->column_type != SYBINT2 && (curcol->column_type !=
SYBINTN || curcol->column_size != 2)) {
+ if (tds_process_row_tokens(tds, &row_type, &compute_id) !=
TDS_SUCCEED)
{
return TDS_FAIL;
}
- if (tds_process_row_tokens(tds, &row_type, &compute_id) !=
TDS_SUCCEED)
{
+ if (curcol->column_type == SYBINT2 || (curcol->column_type ==
SYBINTN && curcol->column_size == 2)) {
+ tds->spid = *((TDS_USMALLINT *)
+ (tds->res_info->current_row +
curcol->column_offset));
+ } else if (curcol->column_type == SYBINT4 || (curcol->column_type
== SYBINTN && curcol->column_size == 4)) {
+ tds->spid = *((TDS_UINT *)
+ (tds->res_info->current_row +
curcol->column_offset));
+ } else {
return TDS_FAIL;
}
- tds->spid = *((TDS_USMALLINT *) (tds->res_info->current_row +
curcol->column_offset));
if (tds_process_row_tokens(tds, &row_type, &compute_id) !=
TDS_NO_MORE_ROWS) {
return TDS_FAIL;
}




Archive powered by MHonArc 2.6.24.

Top of Page