Cursor not getting all rows

From: Joseph Shraibman <jks(at)selectacast(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Cursor not getting all rows
Date: 2005-05-17 17:19:36
Message-ID: 428A27A8.4040108@selectacast.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I'm running:

PostgreSQL 7.4.7 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.2.2
20030222 (Red Hat Linux 3.2.2-5)

I do this:

BEGIN;
SELECT count(*) FROM u, d WHERE u.id = d.id AND ... ;
DECLARE cname CURSOR FOR SELECT u.field, d.field FROM u, d WHERE u.id =
d.id AND ... ;

At the end of the fetching if the number of fetched does not equal the
number from the SELECT count(*) I print out a warning message. It
happens every once in a while. Today it happened four times.

1) missed 1 out of 703773
2) missed 3 out of 703765
3) missed 10 out of 703743
4) missed 12 out of 703660

How is this possible? Because they are in the same transaction the
count and the cursor should see the exact same data, right?

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Scott Marlowe 2005-05-17 17:29:51 Re: Cursor not getting all rows
Previous Message Rich Doughty 2005-05-17 16:19:56 Re: perl and insert