Любой может помочь привести пример функции языка C, который использует настраиваемый тип в качестве одного из параметров?Я хочу отправить значение настраиваемого типа в C-языковую функцию, но я не могу получить значение?
Сегодня я попытался выполнить документацию, но я не смог получить правильные значения своего пользовательского типа.
вот пример: http://www.postgresql.org/docs/9.3/static/xfunc-c.html#XFUNC-C-BASETYPE
#include "postgres.h"
#include "executor/executor.h" /* for GetAttributeByName() */
#ifdef PG_MODULE_MAGIC
PG_MODULE_MAGIC;
#endif
PG_FUNCTION_INFO_V1(c_overpaid);
Datum
c_overpaid(PG_FUNCTION_ARGS)
{
HeapTupleHeader t = PG_GETARG_HEAPTUPLEHEADER(0);
bool isnull;
Datum salary;
salary = GetAttributeByName(t, "salary", &isnull);
if (isnull)
PG_RETURN_BOOL(false);
PG_RETURN_FLOAT4(DatumGetFLOAT4(salary));
}
ответ всегда "0".
вы можете использовать «CREATE TYPE V AS (float float)»; как пользовательский тип. thx.