Re: key = currval('tab_key_seq') choses SEQSCAN?!

Поиск
Список
Период
Сортировка
От Joe Conway
Тема Re: key = currval('tab_key_seq') choses SEQSCAN?!
Дата
Msg-id 403D54E4.2020304@joeconway.com
обсуждение исходный текст
Ответ на Re: key = currval('tab_key_seq') choses SEQSCAN?!  (Eric B.Ridge <ebr@tcdi.com>)
Ответы Re: key = currval('tab_key_seq') choses SEQSCAN?!
Список pgsql-general
Eric B.Ridge wrote:
> I suppose this is obvious, but it's volatile because *other* backends
> can change it while the current transaction is still in progress?

No. Other backends don't affect currval, but your own might on a
row-by-row basis. Consider:

regression=# create sequence seq;
CREATE SEQUENCE

regression=# select nextval('seq'), currval('seq'), s from
generate_series(1,4) as t(s);
  nextval | currval | s
---------+---------+---
        1 |       1 | 1
        2 |       2 | 2
        3 |       3 | 3
        4 |       4 | 4
(4 rows)


Joe


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

Предыдущее
От: Randall Skelton
Дата:
Сообщение: Simplyfying many equals in a join
Следующее
От: Eric B.Ridge
Дата:
Сообщение: Re: key = currval('tab_key_seq') choses SEQSCAN?!