Arturo Rossodivita escribió:
> En el src/backend/parser/parse_expr.c evaluo el
> catalogo y justamente cuando me traigo el nodo para asignarselo al nodo que
> paso al planner lo hago de la siguiente forma:
>
> n->experfp = DatumGetCString(DirectFunctionCall1(textout,
> &(pg_fuzzypred->predexprfp))); donde n es el nuevo nodo de tipo A_FuzzyPred
Creo que te falta un PointerGetDatum,
n->experfp = DatumGetCString(DirectFunctionCall1(textout,
PointerGetDatum(pg_fuzzypred->prefexprfp)));
Ahora, esto asume que has creado un Form_pg_fuzzypred y que has aplicado
algo como
pg_fuzzypred = (From_pg_fuzzypred) GETSTRUCT(tuple);
donde "tuple" viene de un system_getnext() o equivalente. Ademas asume
que ninguno de los valores de la tupla es nulo. (Si alguno de los
valores de la tupla es nulo, entonces olvidate del GETSTRUCT y usa
heap_getattr).
--
Alvaro Herrera Developer, http://www.PostgreSQL.org/
"I am amazed at [the pgsql-sql] mailing list for the wonderful support, and
lack of hesitasion in answering a lost soul's question, I just wished the rest
of the mailing list could be like this." (Fotis)
(http://archives.postgresql.org/pgsql-sql/2006-06/msg00265.php)
--
TIP 5: ¿Has leído nuestro extenso FAQ?
http://www.postgresql.org/docs/faqs.FAQ.html