Ejemplo 4: Una fila, C #include "postgres.h" #include "fmgr.h" PG_FUNCTION_INFO_V1(digitoVer); Datum digitoVer(PG_FUNCTION_ARGS) { int rut = PG_GETARG_INT32(0); text *ret; int M=0, S=1; for (; rut; rut = rut / 10) S = (S + rut % 10 * (9 - M++ % 6)) % 11; ret = (text *) palloc(VARHDRSZ + 1); VARATT_SIZEP(ret) = VARHDRSZ + 1; sprintf(VARDATA(ret), "%c", S ? S + '0' - 1 : 'K'); PG_RETURN_TEXT_P(ret); }