Re: multiple CREATE FUNCTION AS items for PLs

Поиск
Список
Период
Сортировка
От Hannu Krosing
Тема Re: multiple CREATE FUNCTION AS items for PLs
Дата
Msg-id 50CFAF31.3040307@krosing.net
обсуждение исходный текст
Ответ на Re: multiple CREATE FUNCTION AS items for PLs  (Peter Eisentraut <peter_e@gmx.net>)
Ответы Re: multiple CREATE FUNCTION AS items for PLs
Список pgsql-hackers
On 12/17/2012 10:34 PM, Peter Eisentraut wrote:
> On 12/16/12 1:20 PM, Hannu Krosing wrote:
>> I was going to suggest some special function name to be pulled out of code
>> passed to CREATE FUNCTION in line with
>>
>>      CREATE FUNCTION foo(a,b,c) AS $$
>>      import x
>>          from __future__ import nex_cool_feature
>>
>>          def helper_function(x):
>>             ...
>>
>>          def __pg_main__(a,b,c):
>>              defined function body here
>>
>>      $$;
>>
>> so that the whole text gets compiled into module at first call and the
>> __pg_main__ will
>> be the function that gets called as foo(a,b,c) from postgresql
>>
>> but this would not be backwards compatible, at least not in any obvious way.
> Yes, this would be a good solution for some applications, but the only
> way I can think of to manage the compatibility issue is to invent some
> function attribute system like
>
> CREATE FUNCTION ... OPTIONS (call_convention 'xyz')
How about using a GUC for setting calling convention?

This SET can be even done as part of CREATE FUNCTION .

CREATE FUNCTION $$ ... $$ ... SET plpython.cc=9.2;

---------------------
Hannu

> But this is also a lot more typing, so the two-part AS solution still
> has some appeal if you just want an import.
Import is just a small sub-case of what you would want in your module
environment. And as it is really done only once per backend anyway -
starting the second time it is just a dictionary lookup - it should not be
singled out, at least not for performance reasons.

-----------------------------
Hannu





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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: XLByte* usage
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: small pg_basebackup display bug