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