delete quite skip updated rows

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема delete quite skip updated rows
Дата
Msg-id 162867790903270726u3ca4d02fj2fb1336702f9c30c@mail.gmail.com
обсуждение исходный текст
Ответы Re: delete quite skip updated rows
Список pgsql-hackers
Hello

one my customer reported following problem (checked on 8.4 and 8.3.6)

test case:

create table test(a integer);

create or replace function getid(_a integer) returns integer as $$
begin update test set a = _a where a = _a; return _a;
end;
$$ language plpgsql;

insert into test values(20);
select * from test where a = 20; --> one row
select getid(20); --> 20

the problem:

postgres=# delete from test where a = getid(20);
DELETE 0
Time: 1,510 ms

but

postgres=# explain analyze delete from test where a = getid(20);                                          QUERY PLAN
-------------------------------------------------------------------------------------------------Seq Scan on test
(cost=0.00..640.00rows=12 width=6) (actual
 
time=0.149..0.154 rows=1 loops=1)  Filter: (a = getid(20))Total runtime: 0.221 ms
(3 rows)


explain analyze signalise one deleted row, but this is not true

regards
Pavel Stehule


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: New trigger option of pg_standby
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: New trigger option of pg_standby