From: | Arturo Rossodivita <arossodivita(at)gmail(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: crear expresion |
Date: | 2009-04-20 20:11:58 |
Message-ID: | 36fdef070904201311y7df31867l94da5f8b0182321@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Tratando de solucionar el inconveniente que les comente me di cuenta de lo
siguiente:
como les dije, no habia modificado en el readfuncs.ce a parseNodeString();
lo que hice fue lo siguiente: en la linea 1062 de readfuncs.c en
parsenoseString();inclui un nuevo condicional para que sepa que hacer con
los nodos A_Expr
else if (MATCH("AEXPR", 5))
return_value = _readAexpr();
y cree _readAexpr(); de la siguiente forma:
static A_Expr *
_readAexpr(void)
{
READ_LOCALS(A_Expr);
READ_ENUM_FIELD(kind,A_Expr_Kind);
READ_NODE_FIELD(name);
READ_NODE_FIELD(lexpr);
READ_NODE_FIELD(rexpr);
READ_INT_FIELD(location);
READ_DONE();
}
Ok, hasta aqui "todo bien", cuando ejecuto una consulta con predicado difuso
de la manera Select * From X Where edad = aprox;
me sigue dando el error de unexpected right parenthesis, y me di cuenta que
el error da al llamar READ_NODE_FIELD(); con cualquiera de las tres
llamadas; para name, lexpr y rexpr;
sigo sin saber que pueda ser esto no se si tiene que ver a que ese es un
nodo A_Expr guardado directamente desde el gram.y, me refiero sin hacer un
transformWhereClause(); ni nada, yo solo lo obtengo a la hora de crear un
fuzzy predicate y lo guardo directamente al catalogo transformandolo a text.
From | Date | Subject | |
---|---|---|---|
Next Message | Virginia | 2009-04-20 20:19:54 | Re: restaurar bases de datos |
Previous Message | Jose Luis Balle | 2009-04-20 20:00:08 | Re: restaurar bases de datos |