Search Postgresql Archives

Re: immutable functions and enumerate type casts in indexes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tom Lane ha scritto:
Edoardo Panfili <edoardo@xxxxxxxx> 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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux