Re: crear expresion

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Arturo Rossodivita <arossodivita(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: crear expresion
Date: 2009-03-25 21:46:55
Message-ID: 20090325214655.GR16373@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Horacio Miranda 2009-03-26 00:25:06 Re: [pgsql-es-ayuda] Codificación de BBDD
Previous Message Arturo Rossodivita 2009-03-25 20:34:36 Re: crear expresion