DEFAULT of domain ignored in plpgsql (8.4.1)
От | Florian G. Pflug |
---|---|
Тема | DEFAULT of domain ignored in plpgsql (8.4.1) |
Дата | |
Msg-id | 4B05F992.2060001@phlo.org обсуждение исходный текст |
Ответы |
Re: DEFAULT of domain ignored in plpgsql (8.4.1)
Re: DEFAULT of domain ignored in plpgsql (8.4.1) |
Список | pgsql-hackers |
Hi It seems that pl/pgsql ignores the DEFAULT value of domains for local variables. With the following definitions in place create domain myint as int default 0; create or replace function myint() returns myint as $body$ declare v_result myint; begin return v_result; end; $body$ language plpgsql immutable; issuing select myint(); returns NULL, not 0 on postgres 8.4.1 If the line v_result myint; is changes to v_result myint default 0; than 0 is returned as expected. I've tried to create a patch, but didn't see how I'd convert the result from get_typedefault() (A Node*, presumeably the parsetree corresponding to the default expression?) into a plan that I could store in a PLpgSQL_expr. I guess I'd need something like SPI_prepare_plan that takes a parse tree instead of a query string. Or am I on a completely wrong track there? While trying to cook up a patch I've also stumbled over what I perceive as a bug relating to DOMAINS and column DEFAULTs. I'll write that up in a second E-Mail to avoid confusion. best regards, Florian Pflug
В списке pgsql-hackers по дате отправления: