Re: Select for update

Поиск
Список
Период
Сортировка
От Michael Fuhr
Тема Re: Select for update
Дата
Msg-id 20050728120224.GA68845@winnie.fuhr.org
обсуждение исходный текст
Ответ на Select for update  (Havasvölgyi Ottó <h.otto@freemail.hu>)
Список pgsql-general
On Thu, Jul 28, 2005 at 01:22:31PM +0200, Havasvölgyi Ottó wrote:
> Is it normal that when I select for update a record, but I don't select all
> the fields, that the contents of fields not selected will be deleted:
>
> create table pidtest(pid integer, szoveg text) without oids;
>
> select pid from pistest where pid>5 for update;
>
> After committing (autocommit), the contents of the szoveg field for the
> locked rows will be erased.

Could you provide a complete test case?  Works fine here:

CREATE TABLE pidtest (pid integer, szoveg text) WITHOUT OIDS;

INSERT INTO pidtest (pid, szoveg) VALUES (3, 'three');
INSERT INTO pidtest (pid, szoveg) VALUES (4, 'four');
INSERT INTO pidtest (pid, szoveg) VALUES (5, 'five');
INSERT INTO pidtest (pid, szoveg) VALUES (6, 'six');
INSERT INTO pidtest (pid, szoveg) VALUES (7, 'seven');

SELECT pid FROM pidtest WHERE pid > 5 FOR UPDATE;
 pid
-----
   6
   7
(2 rows)

SELECT * FROM pidtest;
 pid | szoveg
-----+--------
   3 | three
   4 | four
   5 | five
   6 | six
   7 | seven
(5 rows)

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

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

Предыдущее
От: Richard Huxton
Дата:
Сообщение: Re: Select for update
Следующее
От: germ germ
Дата:
Сообщение: problem inserting with sequence