Re: Select for update - Mailing list pgsql-general

From Michael Fuhr
Subject Re: Select for update
Date
Msg-id 20050728120224.GA68845@winnie.fuhr.org
Whole thread Raw
In response to Select for update  (Havasvölgyi Ottó <h.otto@freemail.hu>)
List 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 by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Select for update
Next
From: germ germ
Date:
Subject: problem inserting with sequence