Skip to Content.
Sympa Menu

freetds - RE: [freetds] rpc better: now only broken

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: ZIGLIO Frediano <Frediano.Ziglio AT vodafoneomnitel.it>
  • To: "'freetds AT lists.ibiblio.org'" <freetds AT lists.ibiblio.org>
  • Subject: RE: [freetds] rpc better: now only broken
  • Date: Tue, 26 Nov 2002 17:12:11 +0100


> -----Original Message-----
> From: ZIGLIO Frediano [mailto:Frediano.Ziglio AT vodafoneomnitel.it]
> Sent: martedì 26 novembre 2002 16.54
> To: 'freetds AT lists.ibiblio.org'
> Subject: RE: [freetds] rpc better: now only broken
>
>
> >
> > James,
> >
> > marker 253 is, as Freddy says, just the 0xfd END token.
> >
> > Once again, I've reproduced the problem, and I think we're making
> > significant progress.
> > From the dump, I see we're getting back a meaningful response
> > at least...
> >
> > 2002-11-26 15:12:57.669289 calling dbrpcsend
> > Sending packet @ 2002-11-26 15:12:57.670453
> > 0000 03 01 00 1f 00 00 01 00 06 00 23 00 74 00 30 00
> > |........ ..#.t.0.|
> > 0010 30 00 32 00 32 00 00 00 00 00 26 de ad be ef
> > |0.2.2... ..&....|
> >
> >
> > 2002-11-26 15:12:57.671224 calling dbsqlok
> > 2002-11-26 15:12:57.671861 in dbsqlok()
> > Received header @ 2002-11-26 15:12:57.672428
> > 0000 04 01 00 11 00 46 01 00 |.....F..|
> >
> >
> > Received packet @ 2002-11-26 15:12:57.672964
> > 0000 fd 02 00 00 00 00 00 00 00
> |........ .|
> >
> >
> > 2002-11-26 15:12:57.673473 dbsqlok() marker is 253
> > 2002-11-26 15:12:57.674137 dbsqlok() found end token
> > 2002-11-26 15:12:57.674552 inside tds_process_end()
> more_results = 0,
> > was_cancelled = 0
> > 2002-11-26 15:12:57.675009 dbsqlok() end status was error
> >
> > We appear to have gotten back a valid "error" status in the
> > done token.
> > That's the two byte integer "0x02 0x00" (in little endian)
> > following the
> > "0xfd"
> >
> > No accompanying error message though. Hmmmm. need to look at
> > what we're
> > sending I guess.
> > I'll have a look at that packet we send in a bit more detail...
> >
> > Bill
> >
> @b is an output parameter passed without name and as input.
> Perhaps must be
> passed as output? Output parameters are not still supported
> simply because I
> don't know where to put this bit. column_flag?
> Perhaps sql want always nullable fields instead of not-nullable?
>
Ehmm...
I found the bug..

/* TODO use type directly and varint should be updated */
tds_put_byte(tds, tds_get_null_type(curcol->column_type));
if (is_numeric_type(curcol->column_type)) {
tds_put_byte(tds, curcol->column_prec);
tds_put_byte(tds, curcol->column_scale);
}
switch(curcol->column_varint_size) {

I pass always nullable type but I not update varint_size... So for INT4 I
pass INTN type without length...

freddy77

=================================
"STRICTLY PERSONAL AND CONFIDENTIAL

This message may contain confidential and proprietary material for the sole
use of the intended recipient. Any review or distribution by others is
strictly prohibited. If you are not the intended recipient please contact
the sender and delete all copies.
The contents of this message that do not relate to the official business of
our company shall be understood as neither given nor endorsed by it."

=================================




Archive powered by MHonArc 2.6.24.

Top of Page