freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
- From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio AT vodafone.com>
- To: "FreeTDS Development Group" <freetds AT lists.ibiblio.org>
- Subject: Re: [freetds] Buffering problem
- Date: Mon, 10 Jul 2006 14:23:03 +0200
>
> ZIGLIO, Frediano, VF-IT wrote:
> >
> > BUF_FULL is returned if buffering is turned on and reading
> the next row
> > would cause the buffer to be exceeded. In this case, no row
> will have
> > been read. To read any more rows, at least one row must
> first be pruned
> > from the top of the row buffer by calling dbclrbuf.
> >
> > so BUF_FULL is not returned if buffer is already full but
> only if buffer
> > will be full
>
> How does FreeTDS differ from Microsoft's behavior?
>
> As I read the specification, "would ... be exceeded" means
> "is full". If
> the buffer holds 3 rows, dbnextrow() returns BUF_FULL when
> trying to read
> the 4th row.
>
> To me, dbnextrow() is correct: it checks to see if there is
> room in the
> buffer. If not, it returns BUF_FULL without reading a row.
>
> (I'm hoping to fix dbnextrow() and dbresults() today to remove
> dbproc->dbresults_state.)
>
Is strange but it seems that if you set buffer to 10 rows after getting
9 rows dbnextrow returns BUF_FULL. Obviously there is space for another
row but it returns BUF_FULL (and it doesn't seem to read the row...).
freddy77
-
[freetds] Buffering problem,
ZIGLIO, Frediano, VF-IT, 07/10/2006
- Re: [freetds] Buffering problem, James K. Lowden, 07/10/2006
- <Possible follow-up(s)>
- Re: [freetds] Buffering problem, ZIGLIO, Frediano, VF-IT, 07/10/2006
Archive powered by MHonArc 2.6.24.