Re: immutable functions and enumerate type casts in indexes

Поиск
Список
Период
Сортировка
От Edoardo Panfili
Тема Re: immutable functions and enumerate type casts in indexes
Дата
Msg-id 48BEABFB.9030807@aspix.it
обсуждение исходный текст
Ответ на Re: immutable functions and enumerate type casts in indexes  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Tom Lane ha scritto:
> Edoardo Panfili <edoardo@aspix.it> writes:
>>     labelDatum = DirectFunctionCall1(enum_out,datumIbrido);
>>     label = (char *) DatumGetPointer(labelDatum);
>
> Just FYI, preferred style for the second line would be
>
>     label = DatumGetCString(labelDatum);
>
> Nearly all standard data types have DatumGetFoo and FooGetDatum
> macros to hide the conversion details (even if it's only a cast).

the clean version:
--------------------------------------------------------------
#include "utils/builtins.h"

PG_FUNCTION_INFO_V1(esterna_nome);
Datum esterna_nome(PG_FUNCTION_ARGS){
     Datum datumIbrido = PG_GETARG_DATUM(0);
     Datum labelDatum;
     char *label;

     labelDatum = DirectFunctionCall1(enum_out,datumIbrido);
     label = DatumGetCString(labelDatum);
     if(strcmp(label,("label_constant"))==0){
         ...
     }
     ...
}
--------------------------------------------------------------


thank you again!
Edoardo

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: vacuum analyze hurts performance
Следующее
От: SCassidy@overlandstorage.com
Дата:
Сообщение: Re: Oracle and Postgresql