On Friday 09 May 2014 16:53:49 Adrian Klaver wrote: > On 05/09/2014 08:04 AM, Vincent de Phily wrote: > > Thanks to all for taking an interest so far, this bug is... weird. > > Yes weird. I tried to replicate your query to see if I could see > anything similar. Tried it on 9.0.17 and 9.3.4 and could not get it to fail. > > Did hard coding the limit value change anything? I didn't hardcode the formating, just the test to display more debug when the bug happens: > if rlen != curs.rowcount or rlen > 5000: > LOG.error("Fetched strange number of rows %d %d %s", rlen, curs.rowcount, > query) And I got 2 instances of the bug during the weekend. Annoyingly, the debug showed as expected that rlen == curs.rowcount and that the query does ask for 5000 records. So the querystring formating is apparently not at fault. I also verified that none of the returned row ids overlapped (as expected). So... Still not solved :( I'm running out of ideas, but there are still two things I want to try: * Logging all queries on the server side until I catch at least one instance of the bug. Is there a way to log the number of rows affected by a query ? * Create a new cursor for each execute(), in case there somehow is some leftover state between two execute() calls. However I did a number of code changes today; they should be unrelated but I'll let them run on their own for a while to verify that. -- Vincent de Phily