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

Responder a