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 по дате отправления: