Re: Re: what's the exact command definition in read committed isolation level?

Поиск
Список
Период
Сортировка
От Guillaume Lelarge
Тема Re: Re: what's the exact command definition in read committed isolation level?
Дата
Msg-id CAECtzeWOR3miD17-yjs1seep_JbwKepGRQGt9ONfprPBWvC-pA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Re: what's the exact command definition in read committed isolation level?  (Jinhua Luo <luajit.io@gmail.com>)
Ответы Re: Re: what's the exact command definition in read committed isolation level?  (Jinhua Luo <luajit.io@gmail.com>)
Список pgsql-general
2016-04-19 5:41 GMT+02:00 Jinhua Luo <luajit.io@gmail.com>:
> Does that mean a VOLATILE function runs in a different transaction?

No, all statements triggered by the outer statement is within the same
transaction. If the trigger fails (without trapping the error), all
affects including changes by outer statement would be rollback.

> And does that mean it will see committed data that the calling statement
> would not see?

Yes, that's what I said. The trigger is special, each statement within
it get new snapshot so it would see data from all committed
transactions up to its execution instant. But that doesn't mean the
trigger runs in different transaction.

Please check my example above, and try it yourself.


Well, that's not specific to the trigger. Try this:

First session:
postgres=# create table t(id integer);
CREATE TABLE
postgres=# insert into t values (1);
INSERT 0 1
postgres=# begin;
BEGIN
postgres=# select count(*) from t;
 count
-------
     1
(1 row)

1 row in the table. In another session, insert another row in t:

postgres=# insert into t values (2);
INSERT 0 1

And, then, back to the first session, still inside the previous transaction:

postgres=# select count(*) from t;
 count
-------
     2
(1 row)

That's how Read Committed behaved. You see changes commited by other transactions, even transactions started after yours. That has nothing to do with triggers.


--

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

Предыдущее
От: Alvaro Aguayo Garcia-Rada
Дата:
Сообщение: Re: BDR replication slots
Следующее
От: Sachin Kotwal
Дата:
Сообщение: error while installing auto_explain contrib module