Re: plperl and inline functions -- first draft

Поиск
Список
Период
Сортировка
От Alexey Klyukin
Тема Re: plperl and inline functions -- first draft
Дата
Msg-id E072FC9F-B9FB-4EB7-94CC-9B8EE8ED98D7@commandprompt.com
обсуждение исходный текст
Ответ на Re: plperl and inline functions -- first draft  (Andrew Dunstan <andrew@dunslane.net>)
Ответы Re: plperl and inline functions -- first draft
Список pgsql-hackers
On Nov 18, 2009, at 5:46 AM, Andrew Dunstan wrote:

>
>
> Joshua Tolley wrote:
>> +     plperl_call_data *save_call_data = current_call_data;
>> +     bool        oldcontext = trusted_context;
>> + +     if (SPI_connect() != SPI_OK_CONNECT)
>> +         elog(ERROR, "could not connect to SPI manager");
>>
> ...
>> +     current_call_data = (plperl_call_data *) palloc0(sizeof(plperl_call_data));
>> +     current_call_data->fcinfo = &fake_fcinfo;
>> +     current_call_data->prodesc = &desc;
>>
>
> I don't think this is done in the right order. If it is then this comment in plperl_func_handler is wrong (as well as
containinga typo): 
>
>   /*
>    * Create the call_data beforing connecting to SPI, so that it is not
>    * allocated in the SPI memory context
>    */
>

Yes, current_call_data can't be allocate in the SPI memory context, since it's used to extract the result after
SPI_finishis called, although it doesn't lead to problems here since no result is returned. Anyway, I'd move
SPI_connectafter the current_call_data initialization. 

I also noticed that no error context is set in the inline handler, not sure whether it really useful except for the
sakeof consistency, but in case it is - here is the patch: 


--
Alexey Klyukin                    http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc


Вложения

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

Предыдущее
От: "Albe Laurenz"
Дата:
Сообщение: Re: Rejecting weak passwords
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: RFC for adding typmods to functions