PRSQL9104003: dbclropt() Can Fail to Turn Off Row Buffering

ID Number: Q72777

1.10

OS/2

buglist1.10 fixlist1.17 fixlist1.11

Summary:

PROBLEM ID: PRSQL9104003

SYMPTOM

dbclropt() can fail to turn off row buffering when other options

are also being turned on and off.

CAUSE

If another option such as DBROWCOUNT is turned off in a separate

dbsqlexec() batch before DBBUFFER is turned off, then the other

option (DBROWCOUNT) is the only option turned off. For example:

dbclropt(dbproc, DBROWCOUNT, "5");

dbsqlexec(dbproc);

while(dbresults(dbproc) != NO_MORE_RESULTS)

while(dbnextrow(dbproc) != NO_MORE_ROWS);

dbclropt(dbproc, DBBUFFER, "5");

dbsqlexec(dbproc);

while(dbresults(dbproc) != NO_MORE_RESULTS)

while(dbnextrow(dbproc) != NO_MORE_ROWS);

dbcmd(dbproc, " SELECT au_lname, au_fname from authors");

dbsqlexec(dbproc);

WORKAROUND

Disable both options in the same dbsqlexec() batch, similar to the

following example:

dbclropt(dbproc, DBROWCOUNT, "5");

dbclropt(dbproc, DBBUFFER, "5");

dbsqlexec(dbproc);

while(dbresults(dbproc) != NO_MORE_RESULTS)

while(dbnextrow(dbproc) != NO_MORE_ROWS);

STATUS

Microsoft has confirmed this to be a problem in DB-LIBRARY version

1.1. This problem has been corrected in DB-LIBRARY version 1.17,

which is available from your primary support provider.

Additional reference words: 1.10 db-lib dblib