Re: BUG #12108: Documentation: Limitation of shell types not mentioned
От | Bruce Momjian |
---|---|
Тема | Re: BUG #12108: Documentation: Limitation of shell types not mentioned |
Дата | |
Msg-id | 20150320225038.GA6317@momjian.us обсуждение исходный текст |
Ответ на | BUG #12108: Documentation: Limitation of shell types not mentioned (bouda@edookit.com) |
Список | pgsql-bugs |
On Mon, Dec 1, 2014 at 12:34:48AM +0000, bouda@edookit.com wrote: > The following bug has been logged on the website: > > Bug reference: 12108 > Logged by: Ondřej Bouda > Email address: bouda@edookit.com > PostgreSQL version: 9.3.5 > Operating system: Windows 7 > Description: > > According to an older discussion [1], shell types may only be used by > functions implemented in C. Indeed, in current versions, functions in, e.g., > SQL or PL/pgSQL cannot be defined if an argument type or the return type is > just a shell type. > > This is not mentioned in the documentation, however. On the contrary, the > CREATE TYPE documentation suggests creating a shell type as the "tricky" way > to define a range type with a canonical function. Neither CREATE FUNCTION > documentation mentions such a limitation. Thus, when implementing an SQL or > PL/pgSQL prototype for some new canonical function, one gets stuck on an > unexpected error. > > I suggest mentioning the limitation on the CREATE TYPE page, in the > paragraph saying how to specify the canonical function. I have update the docs with the attached patch. I also noticed that there is a sentence down at the bottom saying: Also, to avoid accidentally cluttering the catalogs with shell types as a result of simple typos in function definitions, a shell type will only be made this way when the input function is written in C. I think this explains why only C functions are supported. Let me know if you have any additional suggestions. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. +
Вложения
В списке pgsql-bugs по дате отправления: