Hi Gerard,
> One particular database has around 200,000 records and regularly
> creates a cursor, positions at starting points and reads records until
> the records go out of scope.
>
> In one particular instance the application reads a set of records that
> amount to over 50,000 records. Usually all is OK, but every few days
> the read starts returning only exactly 40,000 records for the same
> set. This continues to occur until the application is restarted and
> the environment renewed. When the application is restarted the correct
> number of records is returned.
I don't understand why this would be happening. Can you give a few
more details:
* what type of database are you using (btree, hash, etc.)?
* is the database configured to sup****t duplicates?
* how do you read the records (just cursor gets with DB_SET followed
by some number of DB_NEXT calls, or something more exotic)?
* how is the end of set determined (key goes out of scope, DB_NOTFOUND
at the end of the database, or some other condition)?
Regards,
Michael Cahill, Oracle.


|