Skip to Content.
Sympa Menu

freetds - RE: dbdata() call inconsistent...

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Shivakumar, Pravinkumar (ODC - Satyam)" <PShivakumar AT Satyam.odc.ml.com>
  • To: TDS Development Group <freetds AT franklin.oit.unc.edu>
  • Subject: RE: dbdata() call inconsistent...
  • Date: Wed, 11 Sep 2002 19:50:40 +0530

export TDSVER to 4.2 works coool...

> ----------
> From: Brian Bruns[SMTP:camber AT ais.org]
> Reply To: TDS Development Group
> Sent: Wednesday, September 11, 2002 7:44 PM
> To: TDS Development Group
> Subject: [freetds] RE: dbdata() call inconsistent...
>
> > >
> > > Ok, let's test this theory. If you did something like:
> > >
> > > DBINT i;
> > >
> > > memcpy(&i, dbdata(dbproc, 2), sizeof(i));
> > >
> > > and then use 'i' instead of dbdata() directly does the
> > > problem go away?
> > >
> > > The information in the row buffer *should* be 4 byte aligned,
> > > I remember
> > > at least one alignment patch in the 0.60 series, so it'd be
> > > worth a try.
> > > If not it's definately a bug on our part.
> > >
> >
> > Arghh...
> >
> > in token.c
> >
> > if (IS_TDS42(tds)) {
> > remainder = info->row_size % align;
> > if (remainder)
> > info->row_size += (align - remainder);
> > }
> >
> > Why IS_TDS42 ??
> >
> > freddy77
>
> That is an excellent question. Unfortunately I don't know. It's in
> tds_col_info which is a TDS 4.2 only function, so the protocol check is
> worthless. The problem lies in tds7_process_result() probably:
>
> /* actually this 4 should be a machine dependent #define
> */
> remainder = info->row_size % 4;
> if (remainder) info->row_size += (4 - remainder);
>
> If we definately knew TDS 4.2 was working it'd help locating the problem.
>
> Brian
>
> ---
> You are currently subscribed to freetds as:
> [pshivakumar AT satyam.odc.ml.com]
> To unsubscribe, forward this message to
> $subst('Email.Unsub')
>

<<application/ms-tnef>>




Archive powered by MHonArc 2.6.24.

Top of Page