Skip to Content.
Sympa Menu

freetds - Re: [freetds] Buffering problem

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "James K. Lowden" <jklowden AT freetds.org>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] Buffering problem
  • Date: Mon, 10 Jul 2006 07:43:17 -0400

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.)

Regards,

--jkl




Archive powered by MHonArc 2.6.24.

Top of Page