Re: [HACKERS] Q about read committed in Oracle...

Поиск
Список
Период
Сортировка
От Dr. Michael Meskes
Тема Re: [HACKERS] Q about read committed in Oracle...
Дата
Msg-id 19980730214130.A310@feivel.online-club.de
обсуждение исходный текст
Ответ на Re: [HACKERS] Q about read committed in Oracle...  (Vadim Mikheev <vadim@krs.ru>)
Список pgsql-hackers
On Thu, Jul 30, 1998 at 04:40:13PM +0800, Vadim Mikheev wrote:
> 1.  CREATE TABLE test (x integer, y integer)
> 2.  INSERT INTO test VALUES (1, 1);
>     INSERT INTO test VALUES (1, 2);
>     INSERT INTO test VALUES (3, 2);
> 3.  run two session T1 and T2
> 4.  in session T2 run
>     UPDATE test SET x = 1, y = 2 WHERE x <> 1 OR y <> 2;
> 5.  in session T1 run
>     SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
>     UPDATE test SET y = 3 WHERE x = 1;

UPDATE test SET y = 3 WHERE x = 1
       *
ERROR at line 1:
ORA-08177: can't serialize access for this transaction

>     --
>     -- 1st record will be changed by T2, qual for new record
>     -- version will be OK, but T1 should be aborted (???)
>     --
> 6.  in session T2 run
>     COMMIT;
> 7.  in session T1 run
>     ROLLBACK;               -- just to be sure -:)
> 8.  now in session T2 run
>     UPDATE test SET x = 2;
> 9.  in session T1 run
>     SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
>     UPDATE test SET y = 4 WHERE x = 1 or x = 2;

blocked

> 11. in session T2 run
>     COMMIT;
> 12. in session T1 run
>     SELECT * FROM test;         -- results?
>     ^^^^^^^^^^^^^^^^^^
> I would like to be sure that T1 will update table...

         X          Y
---------- ----------
         2          4
         2          4
         2          4

Michael
--
Dr. Michael Meskes        meskes@online-club.de, meskes@debian.org
Go SF49ers! Go Rhein Fire!    Use Debian GNU/Linux!

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

Предыдущее
От: "Dr. Michael Meskes"
Дата:
Сообщение: Re: [HACKERS] Q about read committed in Oracle...
Следующее
От: Oleg Bartunov
Дата:
Сообщение: join problems: FATAL 1: palloc failure: memory exhausted