Re: [HACKERS] CREATE FUNCTION broken
От | Thomas G. Lockhart |
---|---|
Тема | Re: [HACKERS] CREATE FUNCTION broken |
Дата | |
Msg-id | 34E44F8C.E358038A@alumni.caltech.edu обсуждение исходный текст |
Ответ на | CREATE FUNCTION broken (jwieck@debis.com (Jan Wieck)) |
Ответы |
Re: [HACKERS] CREATE FUNCTION broken
|
Список | pgsql-hackers |
> Someone changed the parser to build a TypeName node on CREATE > FUNCTION in any case. As a side effect, ALL! functions > created got the proretset attribute to true. Thus for a > SELECT the parser wrapped an Iter node around the Expr and > since singleton functions set isDone the Iter returns no > tuple up. Ah. I broke it (though the regression tests did not find the problem). What I changed was the code in gram.y, which used to just create a string node for the return type clause _unless_ the return type was a "SETOF type". In that case a Typename node was created, and the setof attribute was explicitly set. What you found is that farther along, the setof attribute was forced to be true if _any_ Typename node is present. It looks like your patch will completely fix things, and is better than my reverting the gram.y code. Can you suggest a small test case to include in the regression suite? Unless there are objections from others (with a preference for reverting the gram.y code) I'll go ahead and apply Jan's patch. - Tom
В списке pgsql-hackers по дате отправления: