Re: Coalesce bug ?

Поиск
Список
Период
Сортировка
От jg
Тема Re: Coalesce bug ?
Дата
Msg-id 4974-50d48700-15-6b8b4580@118860078
обсуждение исходный текст
Ответ на Re: Coalesce bug ?  (Chris Angelico <rosuav@gmail.com>)
Ответы Re: Coalesce bug ?
Список pgsql-general
Hi,

Interesting idea.
With VOLATILE, the bug disappears.
With IMMUTABLE, the EXPLAIN and the execution does not match !!!!
That is a bug. Even if the behavior has to be different in VOLATILE and IMMUTABLE, the EXPLAIN and the execution MUST
becoherent. 
JG

[postgres@]test=# create or replace function ps3(a int) returns int as $$ BEGIN
test$# RAISE WARNING 'Call ps3(%)=%',$1,$1; RETURN $1::int;
test$# END; $$ LANGUAGE plpgsql STRICT VOLATILE;
CREATE FUNCTION
Temps : 127,417 ms
[postgres@]test=# SELECT ps3(1);
WARNING:  Call ps3(1)=1
 ps3
-----
   1
(1 ligne)

Temps : 0,941 ms
[postgres@]test=# SELECT ps3(2);
WARNING:  Call ps3(2)=2
 ps3
-----
   2
(1 ligne)

Temps : 0,413 ms
[postgres@]test=# select coalesce( (select ps3(1)), (SELECT ps3(2)) );
WARNING:  Call ps3(1)=1
 coalesce
----------
        1
(1 ligne)

Temps : 0,501 ms
[postgres@]test=# explain (verbose, analyze, buffers) select coalesce( (select ps3(1)), (SELECT ps3(2)) );
WARNING:  Call ps3(1)=1
                                         QUERY PLAN

--------------------------------------------------------------------------------
------------
 Result  (cost=0.52..0.53 rows=1 width=0) (actual time=0.072..0.072 rows=1 loops
=1)
   Output: COALESCE($0, $1)
   InitPlan 1 (returns $0)
     ->  Result  (cost=0.00..0.26 rows=1 width=0) (actual time=0.067..0.067 rows
=1 loops=1)
           Output: ps3(1)
   InitPlan 2 (returns $1)
     ->  Result  (cost=0.00..0.26 rows=1 width=0) (never executed)
           Output: ps3(2)
 Total runtime: 0.095 ms
(9 lignes)

Temps : 0,630 ms
[postgres@]test=# select coalesce( ps3(1), ps3(2) );
WARNING:  Call ps3(1)=1
 coalesce
----------
        1
(1 ligne)

Temps : 0,451 ms
[postgres@]test=#



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

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: Coalesce bug ?
Следующее
От: "David Johnston"
Дата:
Сообщение: Re: Using POSIX Regular Expressions on xml type fields gives inconsistent results