Re: Cursor not getting all rows

Поиск
Список
Период
Сортировка
От Scott Marlowe
Тема Re: Cursor not getting all rows
Дата
Msg-id 1116350990.22291.131.camel@state.g2switchworks.com
обсуждение исходный текст
Ответ на Cursor not getting all rows  (Joseph Shraibman <jks@selectacast.net>)
Ответы Re: Cursor not getting all rows  (Joseph Shraibman <jks@selectacast.net>)
Список pgsql-general
On Tue, 2005-05-17 at 12:19, Joseph Shraibman wrote:
> 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?

Only if you set transaction isolation to serializable.

В списке pgsql-general по дате отправления:

Предыдущее
От: Joseph Shraibman
Дата:
Сообщение: Cursor not getting all rows
Следующее
От: Joseph Shraibman
Дата:
Сообщение: TIP 9